Mercurial > hg > graal-compiler
changeset 21434:dc379fc31520
LIRTest: support for zero parameters and subclasses of LIRTestSpecification.
author | Josef Eisl <josef.eisl@jku.at> |
---|---|
date | Wed, 20 May 2015 16:27:26 +0200 |
parents | a6c7b3a7e63a |
children | feca840a7d81 |
files | graal/com.oracle.graal.lir.jtt/src/com/oracle/graal/lir/jtt/LIRTest.java |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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);