From 7ee1a8321e8f47d5a6721691ab09d4e2818b0c29 Mon Sep 17 00:00:00 2001 From: Miguel Garcia Date: Tue, 3 Dec 2013 20:45:55 +0100 Subject: GenBCode version of "not eliminate loadmodule on static methods." f27f2d80d759130597b652d6cc9d789f8c472e5a modifies GenASM, we follow suite here, making test/files/run/static-module-method.scala pass under GenBCode. --- src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/compiler') diff --git a/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala b/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala index 4f9f4c9e31..cda7af73f8 100644 --- a/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala +++ b/src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala @@ -871,7 +871,8 @@ abstract class BCodeBodyBuilder extends BCodeSkelBuilder { } def genLoadModule(module: Symbol) { - if (claszSymbol == module.moduleClass && jMethodName != "readResolve") { + def inStaticMethod = methSymbol != null && methSymbol.isStaticMember + if (claszSymbol == module.moduleClass && jMethodName != "readResolve" && !inStaticMethod) { mnode.visitVarInsn(asm.Opcodes.ALOAD, 0) } else { val mbt = symInfoTK(module) -- cgit v1.2.3