Skip to content

Commit e49a21c

Browse files
committed
Fix declared member order when using generated types.
1 parent 1cb99eb commit e49a21c

File tree

1 file changed

+3
-2
lines changed
  • truffle/src/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/compiler

1 file changed

+3
-2
lines changed

truffle/src/com.oracle.truffle.dsl.processor/src/com/oracle/truffle/dsl/processor/java/compiler/GeneratedCompiler.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,11 @@ public List<? extends Element> getEnclosedElementsInDeclarationOrder(TypeElement
6969

7070
public List<? extends Element> getAllMembersInDeclarationOrder(ProcessingEnvironment environment, TypeElement type) {
7171
List<Element> elements = new ArrayList<>();
72-
7372
TypeElement currentType = type;
7473
while (currentType != null) {
75-
elements.addAll(CompilerFactory.getCompiler(currentType).getEnclosedElementsInDeclarationOrder(currentType));
74+
// we expect super class members first in the list
75+
// this is analog to the behavior of getAllMembersInDeclarationOrder in other compilers.
76+
elements.addAll(0, CompilerFactory.getCompiler(currentType).getEnclosedElementsInDeclarationOrder(currentType));
7677
TypeMirror superClass = currentType.getSuperclass();
7778
if (superClass != null && superClass.getKind() == TypeKind.DECLARED) {
7879
currentType = (TypeElement) ((DeclaredType) currentType.getSuperclass()).asElement();

0 commit comments

Comments
 (0)