diff options
-rwxr-xr-x | sources/scala/tools/scalac/typechecker/RefCheck.scala | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sources/scala/tools/scalac/typechecker/RefCheck.scala b/sources/scala/tools/scalac/typechecker/RefCheck.scala index 4efdf48c51..557cb7653b 100755 --- a/sources/scala/tools/scalac/typechecker/RefCheck.scala +++ b/sources/scala/tools/scalac/typechecker/RefCheck.scala @@ -544,7 +544,8 @@ class RefCheck(globl: scalac.Global) extends Transformer(globl) { val mvar = sym.owner().newFieldOrVariable( tree.pos, PRIVATE | MUTABLE | SYNTHETIC, varname) .setInfo(sym.getType()); - sym.owner().members().enterOrOverload(mvar); + if (sym.owner().isClassType()) + sym.owner().members().enterOrOverload(mvar); val vdef = gen.ValDef(mvar, gen.mkNullLit(tree.pos)); // { if (null == m$) m$ = new m$class; m$ } @@ -574,7 +575,8 @@ class RefCheck(globl: scalac.Global) extends Transformer(globl) { val m_eqdef: Tree = gen.DefDef( m_eq, gen.Assign(gen.mkLocalRef(tree.pos, mvar), gen.Ident(tree.pos, m_eqarg))); - sym.owner().members().enterOrOverload(m_eq); + if (sym.owner().isClassType()) + sym.owner().members().enterOrOverload(m_eq); NewArray.Tree(cdef, vdef, ddef, m_eqdef) } |