summaryrefslogtreecommitdiff
path: root/test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-05-20 12:22:06 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2016-05-20 16:44:24 +0200
commitba510abcdcf176c06ba93c8e9dc6398015877f5e (patch)
tree191a71d282f6e23ef669d460f898431c8c5a5732 /test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala
parentd9ce4dc1eeb351a52e98c6c0fa1551a5cc3b87f5 (diff)
downloadscala-ba510abcdcf176c06ba93c8e9dc6398015877f5e.tar.gz
scala-ba510abcdcf176c06ba93c8e9dc6398015877f5e.tar.bz2
scala-ba510abcdcf176c06ba93c8e9dc6398015877f5e.zip
Clean up bytecode testing methods.
Diffstat (limited to 'test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala')
-rw-r--r--test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala14
1 files changed, 7 insertions, 7 deletions
diff --git a/test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala b/test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala
index d7c1f191d0..2bcbcc870c 100644
--- a/test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala
+++ b/test/junit/scala/tools/nsc/backend/jvm/IndySammyTest.scala
@@ -39,13 +39,13 @@ class IndySammyTest extends BytecodeTesting {
def test(from: String, to: String, arg: String, body: String => String = x => x)
(expectedSig: String, lamBody: List[Instruction], appArgs: List[Instruction], ret: Instruction)
(allowMessage: StoreReporter#Info => Boolean = _ => false) = {
- val cls = compileClasses(s"${classPrologue(from, to)}")
- val methodNodes = compileMethods(lamDef(from, to, body) +";"+ appDef(arg), allowMessage)
+ val List(funClass, vcClass, vcCompanion) = compileClasses(s"${classPrologue(from, to)}")
+ val c = compileClass(s"class C { ${lamDef(from, to, body)}; ${appDef(arg)} }", allowMessage = allowMessage)
- val applySig = cls.head.methods.get(0).desc
- val anonfun = methodNodes.find(_.name contains "$anonfun$").map(convertMethod).get
- val lamInsn = methodNodes.find(_.name == "lam").map(instructionsFromMethod).get.dropNonOp
- val applyInvoke = methodNodes.find(_.name == "app").map(convertMethod).get
+ val applySig = getAsmMethod(funClass, "apply").desc
+ val anonfun = getMethod(c, "C$$$anonfun$1")
+ val lamInsn = getInstructions(c, "lam").dropNonOp
+ val applyInvoke = getMethod(c, "app")
assertEquals(expectedSig, applySig)
assert(lamInsn.length == 2 && lamInsn.head.isInstanceOf[InvokeDynamic], lamInsn)
@@ -140,7 +140,7 @@ class IndySammyTest extends BytecodeTesting {
// Tests ThisReferringMethodsTraverser
@Test
def testStaticIfNoThisReference: Unit = {
- val methodNodes = compileMethods("def foo = () => () => () => 42")
+ val methodNodes = compileAsmMethods("def foo = () => () => () => 42")
methodNodes.forall(m => !m.name.contains("anonfun") || (m.access & ACC_STATIC) == ACC_STATIC)
}
}