- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
scala.reflect.Code.lift broken in trunk?
Wed, 2011-11-30, 23:15
Before filing bugs ... is scala.reflect.Code.lift broken in trunk? I tried it with 2.9.1 and it worked:
Welcome to Scala version 2.10.0.r26093-b20111130020250 (OpenJDK 64-Bit Server VM, Java 1.7.0_147-icedtea).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val code = scala.reflect.Code.lift{ val foo = 42 }
java.lang.NullPointerException
at scala.reflect.runtime.JavaToScala$class.javaClass(JavaToScala.scala:46)
at scala.reflect.runtime.Universe.javaClass(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.javaClass(JavaToScala.scala:44)
at scala.reflect.runtime.Universe.javaClass(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.isJavaClass(JavaToScala.scala:51)
at scala.reflect.runtime.Universe.isJavaClass(Universe.scala:11)
at scala.reflect.runtime.Loaders$PackageScope.lookupEntry(Loaders.scala:113)
at scala.reflect.internal.Types$Type.findDecl(Types.scala:872)
at scala.reflect.internal.Types$Type.decl(Types.scala:498)
at scala.reflect.internal.SymbolTable.openPackageModule(SymbolTable.scala:185)
at scala.reflect.runtime.Loaders$LazyPackageType.complete(Loaders.scala:88)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:913)
at scala.reflect.runtime.JavaToScala$class.makeScalaPackage(JavaToScala.scala:334)
at scala.reflect.runtime.Universe.makeScalaPackage(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.packageNameToScala(JavaToScala.scala:322)
at scala.reflect.runtime.Universe.packageNameToScala(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.makeScalaPackage(JavaToScala.scala:331)
at scala.reflect.runtime.Universe.makeScalaPackage(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$$anonfun$packageToScala$1.apply(JavaToScala.scala:314)
at scala.reflect.runtime.JavaToScala$$anonfun$packageToScala$1.apply(JavaToScala.scala:314)
at scala.reflect.runtime.ConversionUtil$TwoWayCache.toScala(ConversionUtil.scala:30)
at scala.reflect.runtime.JavaToScala$class.packageToScala(JavaToScala.scala:313)
at scala.reflect.runtime.Universe.packageToScala(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.scala$reflect$runtime$JavaToScala$$sOwner(JavaToScala.scala:249)
at scala.reflect.runtime.JavaToScala$$anonfun$classToScala$1.apply(JavaToScala.scala:375)
at scala.reflect.runtime.JavaToScala$$anonfun$classToScala$1.apply(JavaToScala.scala:354)
at scala.reflect.runtime.ConversionUtil$TwoWayCache.toScala(ConversionUtil.scala:30)
at scala.reflect.runtime.JavaToScala$class.classToScala(JavaToScala.scala:353)
at scala.reflect.runtime.Universe.classToScala(Universe.scala:11)
at scala.reflect.runtime.Universe.<init>(Universe.scala:41)
at scala.reflect.runtime.Mirror.<init>(Mirror.scala:9)
at scala.reflect.runtime.Mirror$.<init>(Mirror.scala:46)
at scala.reflect.runtime.Mirror$.<clinit>(Mirror.scala)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at scala.reflect.ReflectionUtils$.singletonInstance(ReflectionUtils.scala:34)
at scala.reflect.package$.mirror(package.scala:11)
at .<init>(<console>:7)
at .<clinit>(<console>)
at .<init>(<console>:11)
at .<clinit>(<console>)
at $print(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:751)
at scala.tools.nsc.interpreter.IMain$Request$$anonfun$13.apply(IMain.scala:992)
at scala.tools.nsc.interpreter.Line.scala$tools$nsc$interpreter$Line$$runAndSetState(Line.scala:41)
at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:47)
at scala.tools.nsc.io.package$$anon$2.run(package.scala:19)
at java.lang.Thread.run(Thread.java:722)
scala> val code = scala.reflect.Code.lift{ val foo = 42 }
java.lang.NoClassDefFoundError: Could not initialize class scala.reflect.runtime.Mirror$
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at scala.reflect.ReflectionUtils$.singletonInstance(ReflectionUtils.scala:34)
at scala.reflect.package$.mirror(package.scala:11)
at .<init>(<console>:7)
at .<clinit>(<console>)
at .<init>(<console>:11)
at .<clinit>(<console>)
at $print(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:751)
at scala.tools.nsc.interpreter.IMain$Request$$anonfun$13.apply(IMain.scala:992)
at scala.tools.nsc.interpreter.Line.scala$tools$nsc$interpreter$Line$$runAndSetState(Line.scala:41)
at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:47)
at scala.tools.nsc.io.package$$anon$2.run(package.scala:19)
at java.lang.Thread.run(Thread.java:722)
scala> val code = scala.reflect.Code.lift{ class C }
java.lang.Error: Unexpected tree in genLoad: Object/class scala.reflect.api.Trees$TypeTree at: source-<console>,line-7,offset=99
at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:34)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1094)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1139)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:720)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1049)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1139)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:720)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1049)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1139)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:720)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1022)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:812)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genStat(GenICode.scala:167)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genStat$1.apply(GenICode.scala:147)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genStat$1.apply(GenICode.scala:147)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1021)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:115)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:140)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:90)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:81)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:67)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.apply(GenICode.scala:63)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:376)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:346)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:346)
at scala.collection.Iterator$class.foreach(Iterator.scala:690)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1115)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:346)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.run(GenICode.scala:56)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1105)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1080)
at scala.tools.nsc.interpreter.IMain.compileSourcesKeepingRun(IMain.scala:435)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:825)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:779)
at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:943)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:606)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:573)
at scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:754)
at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:805)
at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:711)
at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:575)
at scala.tools.nsc.interpreter.ILoop.innerLoop$1(ILoop.scala:582)
at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:585)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:882)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:847)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:847)
at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:155)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:847)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:79)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:92)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:101)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
That entry seems to have slain the compiler. Shall I replay
your session? I can re-run each line except the last one.
[y/n]
Abandoning crashed session.
Welcome to Scala version 2.10.0.r26093-b20111130020250 (OpenJDK 64-Bit Server VM, Java 1.7.0_147-icedtea).
Type in expressions to have them evaluated.
Type :help for more information.
scala> val code = scala.reflect.Code.lift{ val foo = 42 }
java.lang.NullPointerException
at scala.reflect.runtime.JavaToScala$class.javaClass(JavaToScala.scala:46)
at scala.reflect.runtime.Universe.javaClass(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.javaClass(JavaToScala.scala:44)
at scala.reflect.runtime.Universe.javaClass(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.isJavaClass(JavaToScala.scala:51)
at scala.reflect.runtime.Universe.isJavaClass(Universe.scala:11)
at scala.reflect.runtime.Loaders$PackageScope.lookupEntry(Loaders.scala:113)
at scala.reflect.internal.Types$Type.findDecl(Types.scala:872)
at scala.reflect.internal.Types$Type.decl(Types.scala:498)
at scala.reflect.internal.SymbolTable.openPackageModule(SymbolTable.scala:185)
at scala.reflect.runtime.Loaders$LazyPackageType.complete(Loaders.scala:88)
at scala.reflect.internal.Symbols$Symbol.info(Symbols.scala:913)
at scala.reflect.runtime.JavaToScala$class.makeScalaPackage(JavaToScala.scala:334)
at scala.reflect.runtime.Universe.makeScalaPackage(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.packageNameToScala(JavaToScala.scala:322)
at scala.reflect.runtime.Universe.packageNameToScala(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.makeScalaPackage(JavaToScala.scala:331)
at scala.reflect.runtime.Universe.makeScalaPackage(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$$anonfun$packageToScala$1.apply(JavaToScala.scala:314)
at scala.reflect.runtime.JavaToScala$$anonfun$packageToScala$1.apply(JavaToScala.scala:314)
at scala.reflect.runtime.ConversionUtil$TwoWayCache.toScala(ConversionUtil.scala:30)
at scala.reflect.runtime.JavaToScala$class.packageToScala(JavaToScala.scala:313)
at scala.reflect.runtime.Universe.packageToScala(Universe.scala:11)
at scala.reflect.runtime.JavaToScala$class.scala$reflect$runtime$JavaToScala$$sOwner(JavaToScala.scala:249)
at scala.reflect.runtime.JavaToScala$$anonfun$classToScala$1.apply(JavaToScala.scala:375)
at scala.reflect.runtime.JavaToScala$$anonfun$classToScala$1.apply(JavaToScala.scala:354)
at scala.reflect.runtime.ConversionUtil$TwoWayCache.toScala(ConversionUtil.scala:30)
at scala.reflect.runtime.JavaToScala$class.classToScala(JavaToScala.scala:353)
at scala.reflect.runtime.Universe.classToScala(Universe.scala:11)
at scala.reflect.runtime.Universe.<init>(Universe.scala:41)
at scala.reflect.runtime.Mirror.<init>(Mirror.scala:9)
at scala.reflect.runtime.Mirror$.<init>(Mirror.scala:46)
at scala.reflect.runtime.Mirror$.<clinit>(Mirror.scala)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at scala.reflect.ReflectionUtils$.singletonInstance(ReflectionUtils.scala:34)
at scala.reflect.package$.mirror(package.scala:11)
at .<init>(<console>:7)
at .<clinit>(<console>)
at .<init>(<console>:11)
at .<clinit>(<console>)
at $print(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:751)
at scala.tools.nsc.interpreter.IMain$Request$$anonfun$13.apply(IMain.scala:992)
at scala.tools.nsc.interpreter.Line.scala$tools$nsc$interpreter$Line$$runAndSetState(Line.scala:41)
at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:47)
at scala.tools.nsc.io.package$$anon$2.run(package.scala:19)
at java.lang.Thread.run(Thread.java:722)
scala> val code = scala.reflect.Code.lift{ val foo = 42 }
java.lang.NoClassDefFoundError: Could not initialize class scala.reflect.runtime.Mirror$
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at scala.reflect.ReflectionUtils$.singletonInstance(ReflectionUtils.scala:34)
at scala.reflect.package$.mirror(package.scala:11)
at .<init>(<console>:7)
at .<clinit>(<console>)
at .<init>(<console>:11)
at .<clinit>(<console>)
at $print(<console>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:751)
at scala.tools.nsc.interpreter.IMain$Request$$anonfun$13.apply(IMain.scala:992)
at scala.tools.nsc.interpreter.Line.scala$tools$nsc$interpreter$Line$$runAndSetState(Line.scala:41)
at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:47)
at scala.tools.nsc.io.package$$anon$2.run(package.scala:19)
at java.lang.Thread.run(Thread.java:722)
scala> val code = scala.reflect.Code.lift{ class C }
java.lang.Error: Unexpected tree in genLoad: Object/class scala.reflect.api.Trees$TypeTree at: source-<console>,line-7,offset=99
at scala.reflect.internal.SymbolTable.abort(SymbolTable.scala:34)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1094)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1139)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:720)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1049)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1139)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:720)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1049)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1139)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:720)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:896)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1022)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1189)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genLoadArguments$1.apply(GenICode.scala:1187)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadArguments(GenICode.scala:1187)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:812)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genStat(GenICode.scala:167)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genStat$1.apply(GenICode.scala:147)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$genStat$1.apply(GenICode.scala:147)
at scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
at scala.collection.immutable.List.foldLeft(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad(GenICode.scala:1021)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:115)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:140)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:90)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$gen$1.apply(GenICode.scala:71)
at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:59)
at scala.collection.immutable.List.foreach(List.scala:77)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:71)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:81)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:67)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.apply(GenICode.scala:63)
at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:376)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:346)
at scala.tools.nsc.Global$GlobalPhase$$anonfun$run$1.apply(Global.scala:346)
at scala.collection.Iterator$class.foreach(Iterator.scala:690)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1115)
at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:346)
at scala.tools.nsc.backend.icode.GenICode$ICodePhase.run(GenICode.scala:56)
at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1105)
at scala.tools.nsc.Global$Run.compileSources(Global.scala:1080)
at scala.tools.nsc.interpreter.IMain.compileSourcesKeepingRun(IMain.scala:435)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:825)
at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:779)
at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:943)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:606)
at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:573)
at scala.tools.nsc.interpreter.ILoop.reallyInterpret$1(ILoop.scala:754)
at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:805)
at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:711)
at scala.tools.nsc.interpreter.ILoop.processLine$1(ILoop.scala:575)
at scala.tools.nsc.interpreter.ILoop.innerLoop$1(ILoop.scala:582)
at scala.tools.nsc.interpreter.ILoop.loop(ILoop.scala:585)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:882)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:847)
at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:847)
at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:155)
at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:847)
at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:79)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:92)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:101)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
That entry seems to have slain the compiler. Shall I replay
your session? I can re-run each line except the last one.
[y/n]
Abandoning crashed session.
On 30 November 2011 23:15, Simon Ochsenreither
wrote:
> Before filing bugs ... is scala.reflect.Code.lift broken in trunk? I tried
> it with 2.9.1 and it worked:
Isn't it just this one: https://issues.scala-lang.org/browse/SI-5256 ?