Mercurial > hg > graal-compiler
diff graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/transform/AbstractCodeWriter.java @ 20943:810d466073f0
Truffle-DSL: fixed common supertype was always Object if generic child types contained void.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Tue, 14 Apr 2015 19:23:32 +0200 |
parents | cd0ae2f782c9 |
children |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/transform/AbstractCodeWriter.java Tue Apr 14 19:23:32 2015 +0200 +++ b/graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/transform/AbstractCodeWriter.java Tue Apr 14 19:23:32 2015 +0200 @@ -258,7 +258,7 @@ init = ((CodeVariableElement) f).getInit(); } - if (parent.getKind() == ElementKind.ENUM && f.getModifiers().contains(Modifier.STATIC)) { + if (parent != null && parent.getKind() == ElementKind.ENUM && f.getModifiers().contains(Modifier.STATIC)) { write(f.getSimpleName()); if (init != null) { write("("); @@ -266,12 +266,11 @@ write(")"); } } else { - Element enclosing = f.getEnclosingElement(); writeModifiers(f.getModifiers(), true); boolean varArgs = false; - if (enclosing.getKind() == ElementKind.METHOD) { - ExecutableElement method = (ExecutableElement) enclosing; + if (parent != null && parent.getKind() == ElementKind.METHOD) { + ExecutableElement method = (ExecutableElement) parent; if (method.isVarArgs() && method.getParameters().indexOf(f) == method.getParameters().size() - 1) { varArgs = true; }