You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
trait Bingo extends TBase
{
val inX = InPortInt
}
class Suite
{
test("A") {
val bingo = { def factory(): Bingo = new Bingo {
def recoverFactory = factory
}
factory()
}
bingo.retrievePorts
}
def test(name:String)(fun: => Unit):Unit =
fun
}
object Main
{
def main(args:Array[String]):Unit = {
val s = new Suite();
}
}
produce internal error when run .[info] Running gopherCompilerIssue.Main
[error] (run-main) java.lang.InternalError: Enclosing method not found
java.lang.InternalError: Enclosing method not found
at java.lang.Class.getEnclosingMethod(Class.java:1052)
at scala.reflect.runtime.ReflectionUtils$EnclosedInMethod$$anonfun$$lessinit$greater$1.apply(ReflectionUtils.scala:98)
at scala.reflect.runtime.ReflectionUtils$EnclosedInMethod$$anonfun$$lessinit$greater$1.apply(ReflectionUtils.scala:98)
at scala.reflect.runtime.ReflectionUtils$EnclosedIn.unapply(ReflectionUtils.scala:95)
at scala.reflect.runtime.JavaMirrors$JavaMirror.sOwner(JavaMirrors.scala:842)
at scala.reflect.runtime.JavaMirrors$JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$classToScala1(JavaMirrors.scala:982)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$classToScala$1.apply(JavaMirrors.scala:975)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$classToScala$1.apply(JavaMirrors.scala:975)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$toScala$1.apply(JavaMirrors.scala:97)
at scala.reflect.runtime.TwoWayCaches$TwoWayCache$$anonfun$toScala$1.apply(TwoWayCaches.scala:39)
at scala.reflect.runtime.Gil$class.gilSynchronized(Gil.scala:19)
at scala.reflect.runtime.JavaUniverse.gilSynchronized(JavaUniverse.scala:16)
The text was updated successfully, but these errors were encountered:
next code (attached in archive to ticked and available from https://github.com/rssh/scala-gopher/blob/scala-2.11.4-internal-error-localized/src/main/scala/gopherCompilerIssue/Test.scala )
package gopherCompilerIssue
trait TBase
{
class InPortA
{
var v: A = a
}
object InPort
{
def applyA:InPort[A] = new InPort(a)
}
import scala.reflect._
import scala.reflect.runtime.{universe=>ru}
def retrieveVals1T:ru.TypeTag: List[T] =
{
val mirror = ru.runtimeMirror(this.getClass.getClassLoader)
val im = mirror.reflect(o);
val termMembers = im.symbol.typeSignature.members.filter(.isTerm).map(.asTerm)
val retval = (termMembers.
filter ( x => x.typeSignature <:< ru.typeOf[T] && x.isVal).
map ((x:ru.TermSymbol) => im.reflectField(x).get.asInstanceOf[T])
).toList
retval
}
def retrievePorts = retrieveVals1InPort[_]
def recoverFactory: ()=>TBase
}
trait Bingo extends TBase
{
val inX = InPortInt
}
class Suite
{
test("A") {
val bingo = { def factory(): Bingo = new Bingo {
def recoverFactory = factory
}
factory()
}
}
def test(name:String)(fun: => Unit):Unit =
fun
}
object Main
{
def main(args:Array[String]):Unit = {
val s = new Suite();
}
}
produce internal error when run .[info] Running gopherCompilerIssue.Main
[error] (run-main) java.lang.InternalError: Enclosing method not found
java.lang.InternalError: Enclosing method not found
at java.lang.Class.getEnclosingMethod(Class.java:1052)
at scala.reflect.runtime.ReflectionUtils$EnclosedInMethod$$anonfun$$lessinit$greater$1.apply(ReflectionUtils.scala:98)
at scala.reflect.runtime.ReflectionUtils$EnclosedInMethod$$anonfun$$lessinit$greater$1.apply(ReflectionUtils.scala:98)
at scala.reflect.runtime.ReflectionUtils$EnclosedIn.unapply(ReflectionUtils.scala:95)
at scala.reflect.runtime.JavaMirrors$JavaMirror.sOwner(JavaMirrors.scala:842)
at scala.reflect.runtime.JavaMirrors$JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$classToScala1(JavaMirrors.scala:982)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$classToScala$1.apply(JavaMirrors.scala:975)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$classToScala$1.apply(JavaMirrors.scala:975)
at scala.reflect.runtime.JavaMirrors$JavaMirror$$anonfun$toScala$1.apply(JavaMirrors.scala:97)
at scala.reflect.runtime.TwoWayCaches$TwoWayCache$$anonfun$toScala$1.apply(TwoWayCaches.scala:39)
at scala.reflect.runtime.Gil$class.gilSynchronized(Gil.scala:19)
at scala.reflect.runtime.JavaUniverse.gilSynchronized(JavaUniverse.scala:16)
The text was updated successfully, but these errors were encountered: