diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala | 2 | ||||
-rw-r--r-- | src/reflect/scala/reflect/runtime/JavaMirrors.scala | 1 | ||||
-rw-r--r-- | test/files/run/reify_csv.check (renamed from test/pending/run/reify_csv.check) | 0 | ||||
-rw-r--r-- | test/files/run/reify_csv.scala (renamed from test/pending/run/reify_csv.scala) | 0 | ||||
-rw-r--r-- | test/files/run/reify_for1.scala (renamed from test/pending/run/reify_for1.scala) | 0 | ||||
-rw-r--r-- | test/files/run/reify_fors_newpatmat.check (renamed from test/pending/run/reify_fors_newpatmat.check) | 0 | ||||
-rw-r--r-- | test/files/run/reify_fors_newpatmat.scala (renamed from test/pending/run/reify_fors_newpatmat.scala) | 0 | ||||
-rw-r--r-- | test/files/run/reify_fors_oldpatmat.check (renamed from test/pending/run/reify_fors_oldpatmat.check) | 0 | ||||
-rw-r--r-- | test/files/run/reify_fors_oldpatmat.scala (renamed from test/pending/run/reify_fors_oldpatmat.scala) | 0 | ||||
-rw-r--r-- | test/files/run/reify_newimpl_51.check (renamed from test/pending/run/reify_newimpl_51.check) | 0 | ||||
-rw-r--r-- | test/files/run/reify_newimpl_51.scala (renamed from test/pending/run/reify_newimpl_51.scala) | 0 | ||||
-rw-r--r-- | test/files/run/reify_newimpl_52.check (renamed from test/pending/run/reify_newimpl_52.check) | 0 | ||||
-rw-r--r-- | test/files/run/reify_newimpl_52.scala (renamed from test/pending/run/reify_newimpl_52.scala) | 0 | ||||
-rw-r--r-- | test/files/run/reify_properties.check (renamed from test/pending/run/reify_properties.check) | 0 | ||||
-rw-r--r-- | test/files/run/reify_properties.scala (renamed from test/pending/run/reify_properties.scala) | 0 | ||||
-rw-r--r-- | test/files/run/reify_sort1.check (renamed from test/pending/run/reify_sort1.check) | 0 | ||||
-rw-r--r-- | test/files/run/reify_sort1.scala (renamed from test/pending/run/reify_sort1.scala) | 0 |
17 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala index 660028eab8..91355693ee 100644 --- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala +++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala @@ -284,7 +284,7 @@ abstract class ClassfileParser { def getType(index: Int): Type = getType(null, index) def getType(sym: Symbol, index: Int): Type = sigToType(sym, getExternalName(index)) - def getSuperClass(index: Int): Symbol = if (index == 0) AnyClass else getClassSymbol(index) + def getSuperClass(index: Int): Symbol = if (index == 0) AnyClass else getClassSymbol(index) // the only classfile that is allowed to have `0` in the super_class is java/lang/Object (see jvm spec) private def createConstant(index: Int): Constant = { val start = starts(index) diff --git a/src/reflect/scala/reflect/runtime/JavaMirrors.scala b/src/reflect/scala/reflect/runtime/JavaMirrors.scala index 8c32a92ecd..d0670f337a 100644 --- a/src/reflect/scala/reflect/runtime/JavaMirrors.scala +++ b/src/reflect/scala/reflect/runtime/JavaMirrors.scala @@ -755,6 +755,7 @@ private[scala] trait JavaMirrors extends internal.SymbolTable with api.JavaUnive val ifaces = jclazz.getGenericInterfaces.toList map typeToScala val isAnnotation = JavaAccFlags(jclazz).isAnnotation if (isAnnotation) AnnotationClass.tpe :: ClassfileAnnotationClass.tpe :: ifaces + else if (jclazz.isInterface) ObjectTpe :: ifaces // interfaces have Object as superclass in the classfile (see jvm spec), but getGenericSuperclass seems to return null else (if (jsuperclazz == null) AnyTpe else typeToScala(jsuperclazz)) :: ifaces } finally { parentsLevel -= 1 diff --git a/test/pending/run/reify_csv.check b/test/files/run/reify_csv.check index b56f4bb50b..b56f4bb50b 100644 --- a/test/pending/run/reify_csv.check +++ b/test/files/run/reify_csv.check diff --git a/test/pending/run/reify_csv.scala b/test/files/run/reify_csv.scala index c35624469c..c35624469c 100644 --- a/test/pending/run/reify_csv.scala +++ b/test/files/run/reify_csv.scala diff --git a/test/pending/run/reify_for1.scala b/test/files/run/reify_for1.scala index e1f5347572..e1f5347572 100644 --- a/test/pending/run/reify_for1.scala +++ b/test/files/run/reify_for1.scala diff --git a/test/pending/run/reify_fors_newpatmat.check b/test/files/run/reify_fors_newpatmat.check index eefddedc20..eefddedc20 100644 --- a/test/pending/run/reify_fors_newpatmat.check +++ b/test/files/run/reify_fors_newpatmat.check diff --git a/test/pending/run/reify_fors_newpatmat.scala b/test/files/run/reify_fors_newpatmat.scala index 6bee9538a8..6bee9538a8 100644 --- a/test/pending/run/reify_fors_newpatmat.scala +++ b/test/files/run/reify_fors_newpatmat.scala diff --git a/test/pending/run/reify_fors_oldpatmat.check b/test/files/run/reify_fors_oldpatmat.check index eefddedc20..eefddedc20 100644 --- a/test/pending/run/reify_fors_oldpatmat.check +++ b/test/files/run/reify_fors_oldpatmat.check diff --git a/test/pending/run/reify_fors_oldpatmat.scala b/test/files/run/reify_fors_oldpatmat.scala index 6bee9538a8..6bee9538a8 100644 --- a/test/pending/run/reify_fors_oldpatmat.scala +++ b/test/files/run/reify_fors_oldpatmat.scala diff --git a/test/pending/run/reify_newimpl_51.check b/test/files/run/reify_newimpl_51.check index 9a4ddeacd3..9a4ddeacd3 100644 --- a/test/pending/run/reify_newimpl_51.check +++ b/test/files/run/reify_newimpl_51.check diff --git a/test/pending/run/reify_newimpl_51.scala b/test/files/run/reify_newimpl_51.scala index f823bf4033..f823bf4033 100644 --- a/test/pending/run/reify_newimpl_51.scala +++ b/test/files/run/reify_newimpl_51.scala diff --git a/test/pending/run/reify_newimpl_52.check b/test/files/run/reify_newimpl_52.check index 9359a2b211..9359a2b211 100644 --- a/test/pending/run/reify_newimpl_52.check +++ b/test/files/run/reify_newimpl_52.check diff --git a/test/pending/run/reify_newimpl_52.scala b/test/files/run/reify_newimpl_52.scala index f01199e830..f01199e830 100644 --- a/test/pending/run/reify_newimpl_52.scala +++ b/test/files/run/reify_newimpl_52.scala diff --git a/test/pending/run/reify_properties.check b/test/files/run/reify_properties.check index d769bea4b0..d769bea4b0 100644 --- a/test/pending/run/reify_properties.check +++ b/test/files/run/reify_properties.check diff --git a/test/pending/run/reify_properties.scala b/test/files/run/reify_properties.scala index 01a9b12a92..01a9b12a92 100644 --- a/test/pending/run/reify_properties.scala +++ b/test/files/run/reify_properties.scala diff --git a/test/pending/run/reify_sort1.check b/test/files/run/reify_sort1.check index 0d30805141..0d30805141 100644 --- a/test/pending/run/reify_sort1.check +++ b/test/files/run/reify_sort1.check diff --git a/test/pending/run/reify_sort1.scala b/test/files/run/reify_sort1.scala index 6fb3cc5895..6fb3cc5895 100644 --- a/test/pending/run/reify_sort1.scala +++ b/test/files/run/reify_sort1.scala |