From 10c9cf05b415e39a004fcf983117668db73f46e1 Mon Sep 17 00:00:00 2001 From: Grzegorz Kossakowski Date: Fri, 14 Sep 2012 10:41:43 +0200 Subject: Revert "Fix SI-6294." This reverts commit cb393fcbe35d0a871f23189d791b44be1b826ed2. Conflicts: src/compiler/scala/tools/nsc/backend/icode/GenICode.scala --- src/compiler/scala/tools/nsc/backend/icode/GenICode.scala | 8 +++----- test/files/pos/t6294.scala | 14 -------------- 2 files changed, 3 insertions(+), 19 deletions(-) delete mode 100644 test/files/pos/t6294.scala diff --git a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala index bab658e141..dcb90bef81 100644 --- a/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala +++ b/src/compiler/scala/tools/nsc/backend/icode/GenICode.scala @@ -121,13 +121,11 @@ abstract class GenICode extends SubComponent { m.native = m.symbol.hasAnnotation(definitions.NativeAttr) if (!m.isAbstractMethod && !m.native) { - val staticfield = if (m.symbol.isAccessor && m.symbol.accessed.hasStaticAnnotation) { - val compClass = m.symbol.owner.companionClass - compClass.info.findMember(m.symbol.accessed.name, NoFlags, NoFlags, false) - } else NoSymbol - if (staticfield != NoSymbol) { + if (m.symbol.isAccessor && m.symbol.accessed.hasStaticAnnotation) { // in companion object accessors to @static fields, we access the static field directly val hostClass = m.symbol.owner.companionClass + val staticfield = hostClass.info.findMember(m.symbol.accessed.name, NoFlags, NoFlags, false) + if (m.symbol.isGetter) { ctx1.bb.emit(LOAD_FIELD(staticfield, true) setHostClass hostClass, tree.pos) ctx1.bb.closeWith(RETURN(m.returnType)) diff --git a/test/files/pos/t6294.scala b/test/files/pos/t6294.scala deleted file mode 100644 index c6d39a9cc8..0000000000 --- a/test/files/pos/t6294.scala +++ /dev/null @@ -1,14 +0,0 @@ - - - -object A { - @annotation.static final val x = 123 -} - - -object B { - println(A.x) -} - - - -- cgit v1.2.3