Mercurial > hg > graal-compiler
changeset 5801:a24d30822e4f
added tests for null receiver for non-static invokes
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 10 Jul 2012 10:08:49 +0200 |
parents | be428fe2d86c |
children | 93f6ad9a0596 |
files | graal/com.oracle.graal.snippets.test/src/com/oracle/graal/snippets/InvokeTest.java |
diffstat | 1 files changed, 14 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.snippets.test/src/com/oracle/graal/snippets/InvokeTest.java Tue Jul 10 09:36:34 2012 +0200 +++ b/graal/com.oracle.graal.snippets.test/src/com/oracle/graal/snippets/InvokeTest.java Tue Jul 10 10:08:49 2012 +0200 @@ -44,8 +44,9 @@ } public static class A implements I { + final String name = "A"; public String virtualMethod(String s) { - return s; + return name + s; } } @@ -60,7 +61,15 @@ test("invokespecialConstructor", "a string"); test("invokespecial", this, "a string"); test("invokevirtual", new A(), "a string"); + test("invokevirtual2", new A(), "a string"); test("invokeinterface", new A(), "a string"); + Object[] args = {null}; + test("invokestatic", args); + test("invokespecialConstructor", args); + test("invokespecial", null, null); + test("invokevirtual", null, null); + test("invokevirtual2", null, null); + test("invokeinterface", null, null); } public static String invokestatic(String s) { @@ -83,6 +92,10 @@ return a.virtualMethod(s); } + public static String invokevirtual2(A a, String s) { + return a.virtualMethod(s) + a.virtualMethod(s); + } + public static String invokeinterface(I i, String s) { return i.virtualMethod(s); }