summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/files/run/t7852.check34
-rw-r--r--test/files/run/t7852.scala21
2 files changed, 48 insertions, 7 deletions
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)
+ }
}