diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-05-17 11:01:08 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-05-17 11:01:08 +0200 |
commit | eaf2520b63fcc9fe65cf02d88c96849c4caf8177 (patch) | |
tree | 6df23f47aded46a5cb2b99011fde78cbd9a0712c /test/test/DottyBytecodeTests.scala | |
parent | 134ad7a6a172fec97dc438dd0aff3766a0f0944a (diff) | |
download | dotty-eaf2520b63fcc9fe65cf02d88c96849c4caf8177.tar.gz dotty-eaf2520b63fcc9fe65cf02d88c96849c4caf8177.tar.bz2 dotty-eaf2520b63fcc9fe65cf02d88c96849c4caf8177.zip |
Add bytecode checking infrastructure
Diffstat (limited to 'test/test/DottyBytecodeTests.scala')
-rw-r--r-- | test/test/DottyBytecodeTests.scala | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test/DottyBytecodeTests.scala b/test/test/DottyBytecodeTests.scala new file mode 100644 index 000000000..3b8308b0a --- /dev/null +++ b/test/test/DottyBytecodeTests.scala @@ -0,0 +1,25 @@ +package test + +import org.junit.Assert._ +import org.junit.Test + +class TestBCode extends DottyBytecodeTest { + @Test def nullChecks = { + val source = """ + |class Foo { + | def foo(x: AnyRef): Int = { + | val bool = x == null + | if (x != null) 1 + | else 0 + | } + |} + """.stripMargin + + checkBCode(source) { file => + val clsIn = file.lookupName("Foo.class", directory = false).input + val clsNode = loadClassNode(clsIn) + val methodNode = getMethod(clsNode, "foo") + correctNumberOfNullChecks(2, methodNode.instructions) + } + } +} |