diff options
author | Martin Odersky <odersky@gmail.com> | 2017-01-05 16:02:09 +0700 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2017-01-05 18:00:06 +0700 |
commit | aa6ebe938639f07dd6f5612e645f1449f37a86eb (patch) | |
tree | 24d257c1f12d0f5cb9b76102043046e3a904d98a /library/src/scala/Projector.scala | |
parent | 42eb864dc752254fc3b8b0428570fe94aa1dafc7 (diff) | |
download | dotty-aa6ebe938639f07dd6f5612e645f1449f37a86eb.tar.gz dotty-aa6ebe938639f07dd6f5612e645f1449f37a86eb.tar.bz2 dotty-aa6ebe938639f07dd6f5612e645f1449f37a86eb.zip |
Implement structural type member access
New scheme for implementing structural type member access.
Diffstat (limited to 'library/src/scala/Projector.scala')
-rw-r--r-- | library/src/scala/Projector.scala | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/library/src/scala/Projector.scala b/library/src/scala/Projector.scala new file mode 100644 index 000000000..cff73f84d --- /dev/null +++ b/library/src/scala/Projector.scala @@ -0,0 +1,10 @@ +package scala +import scala.reflect.ClassTag +import scala.annotation.implicitNotFound + +@implicitNotFound("no projector instance found to implement reflective access to structural type ${T}") +trait Projector[-T] extends Any { + def get(receiver: T, name: String): Any + def getMethod(receiver: T, name: String, paramClasses: ClassTag[_]*): Any = + new UnsupportedOperationException("getMethod") +} |