From 4faaa82910940ffd5eaf0b853ec041176ec7fd0d Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Tue, 17 Sep 2013 15:52:45 +0200 Subject: SI-7852 Test to show status quo of for SomeModule.== For which we can also elide the null check, and will in the next commit. --- test/files/run/t7852.check | 34 +++++++++++++++++++++++++++++++++- test/files/run/t7852.scala | 21 +++++++++++++++------ 2 files changed, 48 insertions(+), 7 deletions(-) (limited to 'test/files') diff --git a/test/files/run/t7852.check b/test/files/run/t7852.check index 008639075a..648f464aa2 100644 --- a/test/files/run/t7852.check +++ b/test/files/run/t7852.check @@ -1,4 +1,4 @@ -class scala.tools.asm.tree.MethodNode +string LDC "" ALOAD 0 INVOKEVIRTUAL java/lang/Object.toString ()Ljava/lang/String; @@ -16,3 +16,35 @@ class scala.tools.asm.tree.MethodNode MAXSTACK = 2 MAXLOCALS = 1 + +module + GETSTATIC scala/collection/immutable/Nil$.MODULE$ : Lscala/collection/immutable/Nil$; + ALOAD 0 + INVOKEVIRTUAL java/lang/Object.toString ()Ljava/lang/String; + ASTORE 1 + DUP + IFNONNULL L0 + POP + ALOAD 1 + IFNULL L1 + GOTO L2 + L0 + FRAME FULL [Lean java/lang/String] [scala/collection/immutable/Nil$] + ALOAD 1 + INVOKEVIRTUAL java/lang/Object.equals (Ljava/lang/Object;)Z + IFEQ L2 + L1 + FRAME SAME + ICONST_1 + GOTO L3 + L2 + FRAME SAME + ICONST_0 + L3 + FRAME SAME1 I + POP + RETURN + MAXSTACK = 2 + MAXLOCALS = 2 + + diff --git a/test/files/run/t7852.scala b/test/files/run/t7852.scala index eed211c7bc..3c930fbbc1 100644 --- a/test/files/run/t7852.scala +++ b/test/files/run/t7852.scala @@ -5,16 +5,25 @@ import scala.tools.nsc.util.stringFromWriter object Test extends BytecodeTest { def show { val classNode = loadClassNode("Lean") - val meth = getMethod(classNode, "foo") - println(meth.getClass) - val textifier = new Textifier() - meth.accept(new TraceMethodVisitor(textifier)) - println(stringFromWriter(w => textifier.print(w))) + def showMethod(name: String) { + val meth = getMethod(classNode, name) + println(name) + val textifier = new Textifier() + meth.accept(new TraceMethodVisitor(textifier)) + println(stringFromWriter(w => textifier.print(w))) + println() + } + showMethod("string") + showMethod("module") } } class Lean { - def foo { + def string { "" == toString } + + def module { + Nil == (toString: Any) + } } -- cgit v1.2.3