# HG changeset patch # User Josef Eisl # Date 1432132046 -7200 # Node ID dc379fc315208ad6cb86d137b64a79e4739f2ac5 # Parent a6c7b3a7e63a7e8fc12119c822f3ae8c58d58013 LIRTest: support for zero parameters and subclasses of LIRTestSpecification. diff -r a6c7b3a7e63a -r dc379fc31520 graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/LIRTest.java --- a/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/LIRTest.java Wed May 20 15:25:28 2015 +0200 +++ b/graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/LIRTest.java Wed May 20 16:27:26 2015 +0200 @@ -51,6 +51,10 @@ public abstract static class LIRTestSpecification { private Value result; + public void generate(LIRGeneratorTool gen) { + defaultHandler(gen); + } + public void generate(LIRGeneratorTool gen, Value arg0) { defaultHandler(gen, arg0); } @@ -76,7 +80,9 @@ } void generate(LIRGeneratorTool gen, Value[] values) { - if (values.length == 1) { + if (values.length == 0) { + generate(gen); + } else if (values.length == 1) { generate(gen, values[0]); } else if (values.length == 2) { generate(gen, values[0], values[1]); @@ -244,7 +250,7 @@ assert Modifier.isStatic(m.getModifiers()); Class[] p = m.getParameterTypes(); assert p.length > 0; - assert p[0].equals(LIRTestSpecification.class); + assert LIRTestSpecification.class.isAssignableFrom(p[0]); if (m.getReturnType().equals(void.class)) { invocationPlugins.register(fixedLIRNodePlugin, c, m.getName(), p);