comparison graal/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/transform/AbstractCodeWriter.java @ 18772:7fab6f106989

Truffle-DSL: avoid some checkstyle errors for generated code.
author Christian Humer <christian.humer@gmail.com>
date Mon, 05 Jan 2015 01:31:07 +0100
parents a665483c3881
children cd0ae2f782c9
comparison
equal deleted inserted replaced
18771:15fe16c45d64 18772:7fab6f106989
129 for (AnnotationMirror annotation : e.getAnnotationMirrors()) { 129 for (AnnotationMirror annotation : e.getAnnotationMirrors()) {
130 visitAnnotation(e, annotation); 130 visitAnnotation(e, annotation);
131 writeLn(); 131 writeLn();
132 } 132 }
133 133
134 writeModifiers(e.getModifiers()); 134 writeModifiers(e.getModifiers(), true);
135 if (e.getKind() == ElementKind.ENUM) { 135 if (e.getKind() == ElementKind.ENUM) {
136 write("enum "); 136 write("enum ");
137 } else { 137 } else {
138 write("class "); 138 write("class ");
139 } 139 }
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(); 269 Element enclosing = f.getEnclosingElement();
270 writeModifiers(f.getModifiers()); 270 writeModifiers(f.getModifiers(), true);
271 271
272 boolean varArgs = false; 272 boolean varArgs = false;
273 if (enclosing.getKind() == ElementKind.METHOD) { 273 if (enclosing.getKind() == ElementKind.METHOD) {
274 ExecutableElement method = (ExecutableElement) enclosing; 274 ExecutableElement method = (ExecutableElement) enclosing;
275 if (method.isVarArgs() && method.getParameters().indexOf(f) == method.getParameters().size() - 1) { 275 if (method.isVarArgs() && method.getParameters().indexOf(f) == method.getParameters().size() - 1) {
474 for (AnnotationMirror annotation : e.getAnnotationMirrors()) { 474 for (AnnotationMirror annotation : e.getAnnotationMirrors()) {
475 visitAnnotation(e, annotation); 475 visitAnnotation(e, annotation);
476 writeLn(); 476 writeLn();
477 } 477 }
478 478
479 writeModifiers(e.getModifiers()); 479 writeModifiers(e.getModifiers(), !e.getEnclosingClass().getModifiers().contains(Modifier.FINAL));
480 480
481 if (e.getReturnType() != null) { 481 if (e.getReturnType() != null) {
482 write(useImport(e, e.getReturnType())); 482 write(useImport(e, e.getReturnType()));
483 write(" "); 483 write(" ");
484 } 484 }
584 584
585 protected void writeHeader() { 585 protected void writeHeader() {
586 // default implementation does nothing 586 // default implementation does nothing
587 } 587 }
588 588
589 private void writeModifiers(Set<Modifier> modifiers) { 589 private void writeModifiers(Set<Modifier> modifiers, boolean includeFinal) {
590 if (modifiers != null) { 590 if (modifiers != null && !modifiers.isEmpty()) {
591 for (Modifier modifier : modifiers) { 591 Modifier[] modArray = modifiers.toArray(new Modifier[modifiers.size()]);
592 write(modifier.toString()); 592 Arrays.sort(modArray);
593 for (Modifier mod : modArray) {
594 if (mod == Modifier.FINAL && !includeFinal) {
595 continue;
596 }
597 write(mod.toString());
593 write(" "); 598 write(" ");
594 } 599 }
595 } 600 }
596 } 601 }
597 602