From b18a2f8798b22fc9610aa8c9980432eabf865016 Mon Sep 17 00:00:00 2001 From: Eugene Burmako Date: Sat, 19 Oct 2013 10:13:02 +0200 Subject: hotfix for runtime reflection Recent runtime reflection sync pull request, which among other things, introduced more restricted package completion rules, led to a nightmarish regression on java7, which prevented the entire scalac from starting up. This commit temporarily disables the introduced assert in order to hotfix runtime reflection. In the hours to come I'll be looking into the root of the problem, preparing a pull request that reinstates the assert, which indicates a bug in our code that's been there since 2.10.0-M3, and fixes the said bug. Details: https://groups.google.com/forum/#!topic/scala-internals/hcnUFk75MgQ --- src/reflect/scala/reflect/runtime/SymbolLoaders.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/reflect/scala/reflect/runtime/SymbolLoaders.scala b/src/reflect/scala/reflect/runtime/SymbolLoaders.scala index 30a3855d70..c6059ac402 100644 --- a/src/reflect/scala/reflect/runtime/SymbolLoaders.scala +++ b/src/reflect/scala/reflect/runtime/SymbolLoaders.scala @@ -97,7 +97,9 @@ private[reflect] trait SymbolLoaders { self: SymbolTable => if (isCompilerUniverse) super.enter(sym) else { val existing = super.lookupEntry(sym.name) - assert(existing == null || existing.sym.isMethod, s"pkgClass = $pkgClass, sym = $sym, existing = $existing") + // commented out to provide a hotfix for strange class files that javac sometimes emits + // see more details at: https://groups.google.com/forum/#!topic/scala-internals/hcnUFk75MgQ + // assert(existing == null || existing.sym.isMethod, s"pkgClass = $pkgClass, sym = $sym, existing = $existing") super.enter(sym) } } -- cgit v1.2.3