Skip to content

Anonymous class methods don't work #52

@kazachonak

Description

@kazachonak

The code:

class A

class Test {
  val a = new A {
    def some = "Works"
  } 
  a.some
}

The exception during scalac:

   [scalac] scala.reflect.internal.MissingRequirementError: class scala.runtime.EmptyMethodCache not found.
   [scalac]     at scala.reflect.internal.MissingRequirementError$.signal(MissingRequirementError.scala:16)
   [scalac]     at scala.reflect.internal.MissingRequirementError$.notFound(MissingRequirementError.scala:17)
   [scalac]     at scala.reflect.internal.Definitions$definitions$$anonfun$getModuleOrClass$3.apply(Definitions.scala:697)
   [scalac]     at scala.reflect.internal.Definitions$definitions$$anonfun$getModuleOrClass$3.apply(Definitions.scala:697)
   [scalac]     at scala.reflect.internal.Symbols$Symbol.orElse(Symbols.scala:1773)
   [scalac]     at scala.reflect.internal.Definitions$definitions$.getModuleOrClass(Definitions.scala:696)
   [scalac]     at scala.reflect.internal.Definitions$definitions$.getModuleOrClass(Definitions.scala:705)
   [scalac]     at scala.reflect.internal.Definitions$definitions$.getClass(Definitions.scala:662)
   [scalac]     at scala.reflect.internal.Definitions$definitions$.EmptyMethodCacheClass(Definitions.scala:331)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.mkNewPolyCache$1(CleanUp.scala:246)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.reflectiveMethodCache$1(CleanUp.scala:247)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer$$anonfun$callAsReflective$1$1.cache$1(CleanUp.scala:408)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer$$anonfun$callAsReflective$1$1.lookup$1(CleanUp.scala:409)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer$$anonfun$callAsReflective$1$1.invocation$1(CleanUp.scala:411)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer$$anonfun$callAsReflective$1$1.genDefaultCall$1(CleanUp.scala:419)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer$$anonfun$callAsReflective$1$1.apply(CleanUp.scala:451)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer$$anonfun$callAsReflective$1$1.apply(CleanUp.scala:350)
   [scalac]     at scala.tools.nsc.ast.TreeGen.evalOnce(TreeGen.scala:210)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.callAsReflective$1(CleanUp.scala:350)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.transform(CleanUp.scala:502)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1245)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1243)
   [scalac]     at scala.collection.immutable.List.loop$1(List.scala:150)
   [scalac]     at scala.collection.immutable.List.mapConserve(List.scala:166)
   [scalac]     at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:1243)
   [scalac]     at scala.reflect.api.Trees$Transformer.transform(Trees.scala:1157)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.transform(CleanUp.scala:655)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:1143)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transform$5.apply(Trees.scala:1141)
   [scalac]     at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:1252)
   [scalac]     at scala.reflect.api.Trees$Transformer.transform(Trees.scala:1140)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.transform(CleanUp.scala:655)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1227)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transformTrees$1.apply(Trees.scala:1227)
   [scalac]     at scala.collection.immutable.List.loop$1(List.scala:150)
   [scalac]     at scala.collection.immutable.List.mapConserve(List.scala:166)
   [scalac]     at scala.reflect.api.Trees$Transformer.transformTrees(Trees.scala:1227)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.transform(CleanUp.scala:559)
   [scalac]     at scala.reflect.api.Trees$Transformer.transformTemplate(Trees.scala:1229)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1127)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transform$2.apply(Trees.scala:1126)
   [scalac]     at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:1252)
   [scalac]     at scala.reflect.api.Trees$Transformer.transform(Trees.scala:1125)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.transform(CleanUp.scala:655)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1245)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transformStats$1.apply(Trees.scala:1243)
   [scalac]     at scala.collection.immutable.List.loop$1(List.scala:150)
   [scalac]     at scala.collection.immutable.List.mapConserve(List.scala:166)
   [scalac]     at scala.reflect.api.Trees$Transformer.transformStats(Trees.scala:1243)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:1121)
   [scalac]     at scala.reflect.api.Trees$Transformer$$anonfun$transform$1.apply(Trees.scala:1121)
   [scalac]     at scala.reflect.api.Trees$Transformer.atOwner(Trees.scala:1252)
   [scalac]     at scala.reflect.api.Trees$Transformer.transform(Trees.scala:1120)
   [scalac]     at scala.tools.nsc.transform.CleanUp$CleanUpTransformer.transform(CleanUp.scala:655)
   [scalac]     at scala.tools.nsc.ast.Trees$Transformer.transformUnit(Trees.scala:204)
   [scalac]     at scala.tools.nsc.transform.Transform$Phase.apply(Transform.scala:30)
   [scalac]     at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:374)
   [scalac]     at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:344)
   [scalac]     at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:344)
   [scalac]     at scala.collection.Iterator$class.foreach(Iterator.scala:690)
   [scalac]     at scala.collection.mutable.ListBuffer$$anon$1.foreach(ListBuffer.scala:319)
   [scalac]     at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:344)
   [scalac]     at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1066)
   [scalac]     at scala.tools.nsc.Global$Run.compileSources(Global.scala:1041)
   [scalac]     at scala.tools.nsc.Global$Run.compile(Global.scala:1154)
   [scalac]     at scala.tools.ant.Scalac.executeInternal(Scalac.scala:618)
   [scalac]     at scala.tools.ant.Scalac.execute(Scalac.scala:566)
   [scalac]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
   [scalac]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   [scalac]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   [scalac]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   [scalac]     at java.lang.reflect.Method.invoke(Method.java:601)
   [scalac]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
   [scalac]     at org.apache.tools.ant.Task.perform(Task.java:348)
   [scalac]     at org.apache.tools.ant.Target.execute(Target.java:390)
   [scalac]     at org.apache.tools.ant.Target.performTasks(Target.java:411)
   [scalac]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
   [scalac]     at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
   [scalac]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
   [scalac]     at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
   [scalac]     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
   [scalac]     at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:424)
   [scalac]     at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:138)

I'm using 0.1-M3.
I would like to test on the latest sources, but the build process seems not straightforward.

By the way, thank you for making Scala+GWT possible!

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions