summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2013-02-26 10:39:58 -0800
committerGrzegorz Kossakowski <grzegorz.kossakowski@gmail.com>2013-02-26 10:39:58 -0800
commit734300ad6d2affc68893e5d0f000d5f88dd004f4 (patch)
treedc69e85a359e738c56d27f8f49dad464c1b047a1
parent3b85c3d22b9d62e9e07c53f235ae8e889581ddc8 (diff)
parent4f1bfece9bc429ea465991355353a1e2c38c2e1a (diff)
downloadscala-734300ad6d2affc68893e5d0f000d5f88dd004f4.tar.gz
scala-734300ad6d2affc68893e5d0f000d5f88dd004f4.tar.bz2
scala-734300ad6d2affc68893e5d0f000d5f88dd004f4.zip
Merge pull request #2117 from gkossakowski/issue/SI-7107
Fix SI-7107: scala now thinks every exception is polymorphic
-rw-r--r--src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
index a517a33279..1f42fa8aab 100644
--- a/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
+++ b/src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala
@@ -1044,6 +1044,9 @@ abstract class ClassfileParser {
for (n <- 0 until nClasses) {
// FIXME: this performs an equivalent of getExceptionTypes instead of getGenericExceptionTypes (SI-7065)
val cls = pool.getClassSymbol(in.nextChar.toInt)
+ // we call initialize due to the fact that we call Symbol.isMonomorphicType in addThrowsAnnotation
+ // and that method requires Symbol to be forced to give the right answers, see SI-7107 for details
+ cls.initialize
sym.addThrowsAnnotation(cls)
}
}