Mercurial > hg > graal-compiler
comparison 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 |
comparison
equal
deleted
inserted
replaced
20942:a2e295c6cf7c | 20943:810d466073f0 |
---|---|
256 CodeTree init = null; | 256 CodeTree init = null; |
257 if (f instanceof CodeVariableElement) { | 257 if (f instanceof CodeVariableElement) { |
258 init = ((CodeVariableElement) f).getInit(); | 258 init = ((CodeVariableElement) f).getInit(); |
259 } | 259 } |
260 | 260 |
261 if (parent.getKind() == ElementKind.ENUM && f.getModifiers().contains(Modifier.STATIC)) { | 261 if (parent != null && parent.getKind() == ElementKind.ENUM && f.getModifiers().contains(Modifier.STATIC)) { |
262 write(f.getSimpleName()); | 262 write(f.getSimpleName()); |
263 if (init != null) { | 263 if (init != null) { |
264 write("("); | 264 write("("); |
265 visitTree(init, p, f); | 265 visitTree(init, p, f); |
266 write(")"); | 266 write(")"); |
267 } | 267 } |
268 } else { | 268 } else { |
269 Element enclosing = f.getEnclosingElement(); | |
270 writeModifiers(f.getModifiers(), true); | 269 writeModifiers(f.getModifiers(), true); |
271 | 270 |
272 boolean varArgs = false; | 271 boolean varArgs = false; |
273 if (enclosing.getKind() == ElementKind.METHOD) { | 272 if (parent != null && parent.getKind() == ElementKind.METHOD) { |
274 ExecutableElement method = (ExecutableElement) enclosing; | 273 ExecutableElement method = (ExecutableElement) parent; |
275 if (method.isVarArgs() && method.getParameters().indexOf(f) == method.getParameters().size() - 1) { | 274 if (method.isVarArgs() && method.getParameters().indexOf(f) == method.getParameters().size() - 1) { |
276 varArgs = true; | 275 varArgs = true; |
277 } | 276 } |
278 } | 277 } |
279 | 278 |