@@ -56,7 +56,7 @@ Scala または Java アノテーションに対しては `scalaArgs` は空で
5656## 名前
5757
5858** 名前** (name) は文字列の簡単なラッパーだ。
59- [ ` Name ` ] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Names$NameApi )
59+ [ ` Name ` ] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Names$NameApi.html )
6060には 2つのサブタイプ ` TermName ` と ` TypeName ` があり (オブジェクトやメンバーのような) 項の名前と
6161(クラス、トレイト、型メンバのような) 型の名前を区別する。同じオブジェクト内に同名の項と型が共存することができる。別の言い方をすると、型と項は別の名前空間を持つ。
6262
@@ -99,30 +99,30 @@ Scala のプログラムにおいて、「`_root_`」のような特定の名前
9999
100100「` package ` 」のようないくつかの名前は型名と項名の両方が存在する。
101101標準名は ` Universe ` クラスの ` nme ` と ` tpnme ` というメンバとして公開されている。
102- 全ての標準名の仕様は [ API doc] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. StandardNames ) を参照。
102+ 全ての標準名の仕様は [ API doc] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ StandardNames.html ) を参照。
103103
104104## スコープ
105105
106106** スコープ** (scope) は一般にある構文スコープ内の名前をシンボルに関連付ける。
107107スコープは入れ子にすることもできる。リフレクション API
108- で公開されているスコープの基底型は [ Symbol] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Symbols$Symbol ) の iterable という最小限のインターフェイスのみを公開する。
108+ で公開されているスコープの基底型は [ Symbol] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Symbols$Symbol.html ) の iterable という最小限のインターフェイスのみを公開する。
109109
110110追加機能は
111- [ scala.reflect.api.Types#TypeApi] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Types$TypeApi )
112- 内で定義されている ` member ` と ` declarations `
111+ [ scala.reflect.api.Types#TypeApi] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Types$TypeApi.html )
112+ 内で定義されている ` member ` と ` decls `
113113が返す** メンバスコープ** (member scope) にて公開される。
114- [ scala.reflect.api.Scopes#MemberScope] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Scopes$MemberScope )
114+ [ scala.reflect.api.Scopes#MemberScope] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Scopes$MemberScope.html )
115115は ` sorted ` メソッドをサポートしており、これはメンバを** 宣言順に** ソートする。
116116
117117以下に ` List ` クラスでオーバーライドされている全てのシンボルのリストを宣言順に返す具体例をみてみよう:
118118
119- scala> val overridden = listTpe.declarations .sorted.filter(_.isOverride)
119+ scala> val overridden = listTpe.decls .sorted.filter(_.isOverride)
120120 overridden: List[scala.reflect.runtime.universe.Symbol] = List(method companion, method ++, method +:, method toList, method take, method drop, method slice, method takeRight, method splitAt, method takeWhile, method dropWhile, method span, method reverse, method stringPrefix, method toStream, method foreach)
121121
122122## Expr
123123
124124構文木の基底型である ` scala.reflect.api.Trees#Tree ` の他に、型付けされた構文木は
125- [ ` scala.reflect.api.Exprs#Expr ` ] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Exprs$Expr ) 型によっても表すことができる。
125+ [ ` scala.reflect.api.Exprs#Expr ` ] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Exprs$Expr.html ) 型によっても表すことができる。
126126` Expr ` は構文木と、その構文木の型に対するアクセスを提供するための型タグをラッピングする。
127127` Expr ` は主にマクロのために便宜的に型付けられた構文木を作るために使われる。多くの場合、これは
128128` reify ` と ` splice ` メソッドが関わってくる。
@@ -178,8 +178,8 @@ Scala コンパイラによってコンパイル時に評価することがで
178178
1791791 . プリミティブ値クラスのリテラル ([ Byte] ( http://www.scala-lang.org/api/current/index.html#scala.Byte ) 、 [ Short] ( http://www.scala-lang.org/api/current/index.html#scala.Short ) 、 [ Int] ( http://www.scala-lang.org/api/current/index.html#scala.Int ) 、 [ Long] ( http://www.scala-lang.org/api/current/index.html#scala.Long ) 、 [ Float] ( http://www.scala-lang.org/api/current/index.html#scala.Float ) 、 [ Double] ( http://www.scala-lang.org/api/current/index.html#scala.Double ) 、 [ Char] ( http://www.scala-lang.org/api/current/index.html#scala.Char ) 、 [ Boolean] ( http://www.scala-lang.org/api/current/index.html#scala.Boolean ) および [ Unit] ( http://www.scala-lang.org/api/current/index.html#scala.Unit ) )。これは直接対応する型で表される。
1801802 . 文字列リテラル。これは文字列のインスタンスとして表される。
181- 3 . 一般に [ scala.Predef#classOf] ( http://www.scala-lang.org/api/current/index.html#scala.Predef$@classOf[T]:Class[T] ) で構築されるクラスへの参照。[ 型] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Types$Type ) として表される。
182- 4 . Java の列挙要素。[ シンボル] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Symbols$Symbol ) として表される。
181+ 3 . 一般に [ scala.Predef#classOf] ( http://www.scala-lang.org/api/current/index.html#scala.Predef$@classOf[T]:Class[T] ) で構築されるクラスへの参照。[ 型] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Types$Type.html ) として表される。
182+ 4 . Java の列挙要素。[ シンボル] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Symbols$Symbol.html ) として表される。
183183
184184定数式の用例としては
185185
@@ -253,7 +253,7 @@ Java の列挙要素への参照はシンボル (`scala.reflect.api.Symbols#Symb
253253 val enumRef = jarg("enumRef").value.asInstanceOf[Symbol]
254254 println(enumRef) // value BAR
255255
256- val siblings = enumRef.owner.typeSignature.declarations
256+ val siblings = enumRef.owner.typeSignature.decls
257257 val enumValues = siblings.filter(sym => sym.isVal && sym.isPublic)
258258 println(enumValues) // Scope {
259259 // final val FOO: JavaSimpleEnumeration;
@@ -267,8 +267,8 @@ Java の列挙要素への参照はシンボル (`scala.reflect.api.Symbols#Symb
267267
268268## プリティプリンタ
269269
270- [ ` Trees ` ] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Trees ) と
271- [ ` Types ` ] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Types )
270+ [ ` Trees ` ] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Trees.html ) と
271+ [ ` Types ` ] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Types.html )
272272を整形して表示するユーティリティを説明しよう。
273273
274274### 構文木の表示
@@ -383,7 +383,7 @@ Java の列挙要素への参照はシンボル (`scala.reflect.api.Symbols#Symb
383383
384384## 位置情報
385385
386- ** 位置情報** ([ ` Position ` ] ( http://www.scala-lang.org/api/current/index.html# scala. reflect. api. Position ) )
386+ ** 位置情報** ([ ` Position ` ] ( http://www.scala-lang.org/api/current/scala- reflect/scala/reflect/ api/ Position.html ) )
387387はシンボルや構文木のノードの出処を追跡するのに使われる。警告やエラーの表示でよく使われ、プログラムのどこが間違ったのかを正確に表示することができる。位置情報はソースファイルの列と行を表す。
388388(ソースファイルの初めからのオフセットは「ポイント」と呼ばれるが、これは便利ではないことがある)
389389位置情報はそれが指す行の内容も保持する。全ての構文木やシンボルが位置情報を持つわけではなく、ない場合は
0 commit comments