- About Scala
- Documentation
- Code Examples
- Software
- Scala Developers
Bug in Scala Interpreter?
Wed, 2011-07-06, 13:41
Hi All,
I am trying to use the Scala interpreter and here is what I get when I am trying to get the value of a function. Is it the expected result?
Thanks,
Gabriel
scala> import scala.tools.nsc.interpreter._import scala.tools.nsc.interpreter._
scala> val i = new IMaini: scala.tools.nsc.interpreter.IMain = scala.tools.nsc.interpreter.IMain@28fa1b85
scala> i.interpret ("def f (x : Int) = x * 2")f: (x: Int)Intres0: scala.tools.nsc.interpreter.Results.Result = Success
scala> i.valueOfTerm ("f") java.lang.AssertionError: assertion failed: Internal error - eval object method $result is overloaded: [Ljava.lang.reflect.Method;@413afcd0 at scala.Predef$.assert(Predef.scala:103) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.evalMethod(IMain.scala:629) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:592) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.callOpt(IMain.scala:595) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.evalValue(IMain.scala:602) at scala.tools.nsc.interpreter.IMain$Request.getEval(IMain.scala:738) at scala.tools.nsc.interpreter.IMain$$anonfun$valueOfTerm$1.apply(IMain.scala:886) at scala.tools.nsc.interpreter.IMain$$anonfun$valueOfTerm$1.apply(IMain.scala:886) at scala.Option.flatMap(Option.scala:147) at scala.tools.nsc.interpreter.IMain.valueOfTerm(IMain.scala:886) at .<init>(<console>:12) at .<clinit>(<console>) at .<init>(<console>:11) at .<clinit>(<console>) at $export(<console>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:592) at scala.tools.nsc.interpreter.IMain$Request$$anonfun$10.apply(IMain.scala:828) at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:43) at scala.tools.nsc.io.package$$anon$2.run(package.scala:31) at java.lang.Thread.run(Thread.java:680)
I am trying to use the Scala interpreter and here is what I get when I am trying to get the value of a function. Is it the expected result?
Thanks,
Gabriel
scala> import scala.tools.nsc.interpreter._import scala.tools.nsc.interpreter._
scala> val i = new IMaini: scala.tools.nsc.interpreter.IMain = scala.tools.nsc.interpreter.IMain@28fa1b85
scala> i.interpret ("def f (x : Int) = x * 2")f: (x: Int)Intres0: scala.tools.nsc.interpreter.Results.Result = Success
scala> i.valueOfTerm ("f") java.lang.AssertionError: assertion failed: Internal error - eval object method $result is overloaded: [Ljava.lang.reflect.Method;@413afcd0 at scala.Predef$.assert(Predef.scala:103) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.evalMethod(IMain.scala:629) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:592) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.callOpt(IMain.scala:595) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.evalValue(IMain.scala:602) at scala.tools.nsc.interpreter.IMain$Request.getEval(IMain.scala:738) at scala.tools.nsc.interpreter.IMain$$anonfun$valueOfTerm$1.apply(IMain.scala:886) at scala.tools.nsc.interpreter.IMain$$anonfun$valueOfTerm$1.apply(IMain.scala:886) at scala.Option.flatMap(Option.scala:147) at scala.tools.nsc.interpreter.IMain.valueOfTerm(IMain.scala:886) at .<init>(<console>:12) at .<clinit>(<console>) at .<init>(<console>:11) at .<clinit>(<console>) at $export(<console>) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:592) at scala.tools.nsc.interpreter.IMain$Request$$anonfun$10.apply(IMain.scala:828) at scala.tools.nsc.interpreter.Line$$anonfun$1.apply$mcV$sp(Line.scala:43) at scala.tools.nsc.io.package$$anon$2.run(package.scala:31) at java.lang.Thread.run(Thread.java:680)