diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2015-01-19 12:11:33 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2015-03-11 12:53:35 -0700 |
commit | ea10434ff3bf24ac61dd4f65edcf931b7e988c0a (patch) | |
tree | a29966f8b330b17b5e47e8f328d6f23d804bd018 /test/junit | |
parent | 37f7b76710c72360577250f07bd8b5cf55e527cc (diff) | |
download | scala-ea10434ff3bf24ac61dd4f65edcf931b7e988c0a.tar.gz scala-ea10434ff3bf24ac61dd4f65edcf931b7e988c0a.tar.bz2 scala-ea10434ff3bf24ac61dd4f65edcf931b7e988c0a.zip |
Looking up the ClassNode for an InternalName returns an Option
The `ByteCodeRepository.classNode(InternalName)` method now returns an
option. Concretely, in mixed compilation, the compiler does not create
a ClassNode for Java classes, and they may not exist on the classpath
either.
Diffstat (limited to 'test/junit')
3 files changed, 3 insertions, 3 deletions
diff --git a/test/junit/scala/tools/nsc/backend/jvm/opt/CallGraphTest.scala b/test/junit/scala/tools/nsc/backend/jvm/opt/CallGraphTest.scala index 5946f50f0c..69bd92b4ba 100644 --- a/test/junit/scala/tools/nsc/backend/jvm/opt/CallGraphTest.scala +++ b/test/junit/scala/tools/nsc/backend/jvm/opt/CallGraphTest.scala @@ -70,7 +70,7 @@ class CallGraphTest { // Get the ClassNodes from the code repo (don't use the unparsed ClassNodes returned by compile). // The callGraph.callsites map is indexed by instructions of those ClassNodes. - val List(cCls, cMod, dCls, testCls) = compile(code).map(c => byteCodeRepository.classNode(c.name)) + val List(cCls, cMod, dCls, testCls) = compile(code).map(c => byteCodeRepository.classNode(c.name).get) val List(cf1, cf2, cf3, cf4, cf5, cf6, cf7) = cCls.methods.iterator.asScala.filter(_.name.startsWith("f")).toList.sortBy(_.name) val List(df1, df3) = dCls.methods.iterator.asScala.filter(_.name.startsWith("f")).toList.sortBy(_.name) diff --git a/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerIllegalAccessTest.scala b/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerIllegalAccessTest.scala index 36f297767e..40dc990c0f 100644 --- a/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerIllegalAccessTest.scala +++ b/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerIllegalAccessTest.scala @@ -31,7 +31,7 @@ class InlinerIllegalAccessTest extends ClearAfterClass { val compiler = InlinerIllegalAccessTest.compiler import compiler.genBCode.bTypes._ - def addToRepo(cls: List[ClassNode]): Unit = for (c <- cls) byteCodeRepository.classes(c.name) = (c, ByteCodeRepository.Classfile) + def addToRepo(cls: List[ClassNode]): Unit = for (c <- cls) byteCodeRepository.classes(c.name) = Some((c, ByteCodeRepository.Classfile)) def assertEmpty(ins: Option[AbstractInsnNode]) = for (i <- ins) throw new AssertionError(textify(i)) @Test diff --git a/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerTest.scala b/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerTest.scala index 819252841e..240d106f5c 100644 --- a/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerTest.scala +++ b/test/junit/scala/tools/nsc/backend/jvm/opt/InlinerTest.scala @@ -47,7 +47,7 @@ class InlinerTest extends ClearAfterClass { def checkCallsite(callsite: callGraph.Callsite, callee: MethodNode) = { assert(callsite.callsiteMethod.instructions.contains(callsite.callsiteInstruction), instructionsFromMethod(callsite.callsiteMethod)) - val callsiteClassNode = byteCodeRepository.classNode(callsite.callsiteClass.internalName) + val callsiteClassNode = byteCodeRepository.classNode(callsite.callsiteClass.internalName).get assert(callsiteClassNode.methods.contains(callsite.callsiteMethod), callsiteClassNode.methods.asScala.map(_.name).toList) assert(callsite.callee.get.callee == callee, callsite.callee.get.callee.name) |