diff options
author | Miguel Garcia <miguelalfredo.garcia@epfl.ch> | 2013-12-03 20:45:55 +0100 |
---|---|---|
committer | Miguel Garcia <miguelalfredo.garcia@epfl.ch> | 2013-12-15 18:27:05 +0100 |
commit | 7ee1a8321e8f47d5a6721691ab09d4e2818b0c29 (patch) | |
tree | fa1f4f6d7eb4c513fff13d7a8d4af63387b6d476 /src | |
parent | 7d1e8aa74d3198e94beeaee4fd73f46cd56085c2 (diff) | |
download | scala-7ee1a8321e8f47d5a6721691ab09d4e2818b0c29.tar.gz scala-7ee1a8321e8f47d5a6721691ab09d4e2818b0c29.tar.bz2 scala-7ee1a8321e8f47d5a6721691ab09d4e2818b0c29.zip |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/backend/jvm/BCodeBodyBuilder.scala | 3 |
1 files changed, 2 insertions, 1 deletions
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) |