summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
Diffstat (limited to 'test/files')
-rw-r--r--test/files/run/reflection-companiontype.check12
-rw-r--r--test/files/run/reflection-companiontype.scala22
2 files changed, 34 insertions, 0 deletions
diff --git a/test/files/run/reflection-companiontype.check b/test/files/run/reflection-companiontype.check
new file mode 100644
index 0000000000..e25605618f
--- /dev/null
+++ b/test/files/run/reflection-companiontype.check
@@ -0,0 +1,12 @@
+TypeRefs
+TypeRef(ThisType(<empty>#PK), C#MODC, List())
+TypeRef(ThisType(<empty>#PK), C#CLS, List())
+TypeRef(ThisType(<empty>#PK), C#CLS, List())
+ClassInfoTypes
+TypeRef(ThisType(<empty>#PK), C#MODC, List())
+TypeRef(ThisType(<empty>#PK), C#CLS, List())
+TypeRef(ThisType(<empty>#PK), C#CLS, List())
+Unrelated
+NoType
+NoType
+NoType
diff --git a/test/files/run/reflection-companiontype.scala b/test/files/run/reflection-companiontype.scala
new file mode 100644
index 0000000000..72c0444a70
--- /dev/null
+++ b/test/files/run/reflection-companiontype.scala
@@ -0,0 +1,22 @@
+import scala.reflect.runtime.universe._
+import scala.reflect.runtime.{currentMirror => cm}
+
+class C
+object C
+
+object Test extends App {
+ type T = C
+
+ println("TypeRefs")
+ println(showRaw(typeOf[C].companionType, printKinds = true))
+ println(showRaw(typeOf[C].companionType.companionType, printKinds = true))
+ println(showRaw(typeOf[C.type].companionType, printKinds = true))
+ println("ClassInfoTypes")
+ println(showRaw(typeOf[C].typeSymbol.typeSignature.companionType, printKinds = true))
+ println(showRaw(typeOf[C].typeSymbol.typeSignature.companionType.typeSymbol.typeSignature.companionType, printKinds = true))
+ println(showRaw(typeOf[C.type].typeSymbol.typeSignature.companionType, printKinds = true))
+ println("Unrelated")
+ println(showRaw(typeOf[T].companionType, printKinds = true))
+ println(showRaw(cm.staticPackage("scala").moduleClass.asType.toType.companionType, printKinds = true))
+ println(showRaw(cm.staticPackage("scala").typeSignature.companionType, printKinds = true))
+} \ No newline at end of file