diff options
author | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-05-12 18:30:53 +0200 |
---|---|---|
committer | Dmitry Petrashko <dmitry.petrashko@gmail.com> | 2015-05-12 18:30:53 +0200 |
commit | 89bacb9c25a58454ff1878e67f7ea07ffc8c269f (patch) | |
tree | 51f1ff6c66aebe1b6109b1cffcc2bb8e4cf760a3 /tests/pending/run/reflection-constructormirror-inner-good.scala | |
parent | a0fa33deafbea1bf53edc068c5ed9db5592822f9 (diff) | |
download | dotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.tar.gz dotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.tar.bz2 dotty-89bacb9c25a58454ff1878e67f7ea07ffc8c269f.zip |
Run tests as they were in scala.
Diffstat (limited to 'tests/pending/run/reflection-constructormirror-inner-good.scala')
-rw-r--r-- | tests/pending/run/reflection-constructormirror-inner-good.scala | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/pending/run/reflection-constructormirror-inner-good.scala b/tests/pending/run/reflection-constructormirror-inner-good.scala new file mode 100644 index 000000000..c09da5b30 --- /dev/null +++ b/tests/pending/run/reflection-constructormirror-inner-good.scala @@ -0,0 +1,26 @@ +import scala.reflect.runtime.universe._ +import scala.reflect.ClassTag + +class Foo{ + case class R( + sales : Int, + name : String + ) + + def foo = { + val expectedType = implicitly[TypeTag[R]] + val classTag = implicitly[ClassTag[R]] + val cl = classTag.runtimeClass.getClassLoader + val cm = runtimeMirror(cl) + val constructor = expectedType.tpe.member( termNames.CONSTRUCTOR ).asMethod + val sig = constructor.info + val sym = cm.classSymbol( classTag.runtimeClass ) + val cls = cm.reflect( this ).reflectClass( sym ) + cls.reflectConstructor( constructor )( 5,"test" ).asInstanceOf[R] + } + +} +object Test extends App{ + val foo = new Foo + println( foo.foo ) +}
\ No newline at end of file |