8000 Merge pull request #164 from lrytz/master · rssh/scala.github.com@8edad1e · GitHub
[go: up one dir, main page]

Skip to content

Commit 8edad1e

Browse files
committed
Merge pull request scala#164 from lrytz/master
fix typos in field mirrors
2 parents 73d6e14 + 432a6f4 commit 8edad1e

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

overviews/reflection/environment-universes-mirrors.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ An `InstanceMirror` is used for creating invoker mirrors for methods and fields
9090

9191
A `MethodMirror` is used for invoking instance methods (Scala only has instance methods-- methods of objects are instance methods of object instances, obtainable via `ModuleMirror.instance`). Entry point: `val mm = im.reflectMethod(<method symbol>)`. Example:
9292

93-
scala> val methodX = typeOf[C].declaration(newTermName("x")).asMethod
93+
scala> val methodX = ru.typeOf[C].declaration(ru.newTermName("x")).asMethod
9494
methodX: reflect.runtime.universe.MethodSymbol = method x
9595

9696
scala> val mm = im.reflectMethod(methodX)
@@ -101,7 +101,7 @@ A `MethodMirror` is used for invoking instance methods (Scala only has instance
101101

102102
A `FieldMirror` is used for getting/setting instance fields (like methods, Scala only has instance fields, see above). Entry point: `val fm = im.reflectMethod(<field or accessor symbol>)`. Example:
103103

104-
scala> class C { val x = 2; val y = 3 }
104+
scala> class C { val x = 2; var y = 3 }
105105
defined class C
106106

107107
scala> val m = ru.runtimeMirror(getClass.getClassLoader)
@@ -110,8 +110,9 @@ A `FieldMirror` is used for getting/setting instance fields (like methods, Scala
110110
scala> val im = m.reflect(new C)
111111
im: reflect.runtime.universe.InstanceMirror = instance mirror for C@5f0c8ac1
112112

113-
scala> val fieldX = typeOf[C].declaration(newTermName("x")).asTerm.accessed.asTerm
113+
scala> val fieldX = ru.typeOf[C].declaration(ru.newTermName("x")).asTerm.accessed.asTerm
114114
fieldX: reflect.runtime.universe.TermSymbol = value x
115+
115116
scala> val fmX = im.reflectField(fieldX)
116117
fmX: reflect.runtime.universe.FieldMirror = field mirror for C.x (bound to C@5f0c8ac1)
117118

@@ -122,7 +123,7 @@ A `FieldMirror` is used for getting/setting instance fields (like methods, Scala
122123
scala.ScalaReflectionException: cannot set an immutable field x
123124
...
124125

125-
scala> val fieldY = typeOf[C].declaration(newTermName("y")).asTerm.accessed.asTerm
126+
scala> val fieldY = ru.typeOf[C].declaration(ru.newTermName("y")).asTerm.accessed.asTerm
126127
fieldY: reflect.runtime.universe.TermSymbol = variable y
127128

128129
scala> val fmY = im.reflectField(fieldY)
@@ -144,14 +145,13 @@ A `ClassMirror` is used for creating invoker mirrors for constructors. Entry poi
144145
scala> val m = ru.runtimeMirror(getClass.getClassLoader)
145146
m: reflect.runtime.universe.Mirror = JavaMirror ...
146147

147-
scala> val classC = typeOf[C].typeSymbol.asClass
148-
148+
scala> val classC = ru.typeOf[C].typeSymbol.asClass
149149
classC: reflect.runtime.universe.Symbol = class C
150150

151151
scala> val cm = m.reflectClass(classC)
152152
cm: reflect.runtime.universe.ClassMirror = class mirror for C (bound to null)
153153

154-
scala> val ctorC = typeOf[C].declaration(ru.nme.CONSTRUCTOR).asMethod
154+
scala> val ctorC = ru.typeOf[C].declaration(ru.nme.CONSTRUCTOR).asMethod
155155
ctorC: reflect.runtime.universe.MethodSymbol = constructor C
156156

157157
scala> val ctorm = cm.reflectConstructor(ctorC)
@@ -168,7 +168,7 @@ A `ModuleMirror` is used for accessing instances of singleton objects. Entry poi
168168
scala> val m = ru.runtimeMirror(getClass.getClassLoader)
169169
m: reflect.runtime.universe.Mirror = JavaMirror ...
170170

171-
scala> val objectC = typeOf[C.type].termSymbol.asModule
171+
scala> val objectC = ru.typeOf[C.type].termSymbol.asModule
172172
objectC: reflect.runtime.universe.ModuleSymbol = object C
173173

174174
scala> val mm = m.reflectModule(objectC)

0 commit comments

Comments
 (0)
0