84 @Override
85 public void visitInterfaceDeclaration(InterfaceDeclaration d) {value = 4;}
86
87 @Override
88 public void visitEnumDeclaration(EnumDeclaration d) {value = 6;}
89
90 @Override
91 public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d) {value = 8;}
92
93 @Override
94 public void visitFieldDeclaration(FieldDeclaration d) {value = 10 + staticAdjust(d);}
95
96 @Override
97 public void visitConstructorDeclaration(ConstructorDeclaration d) {value = 12;}
98
99 @Override
100 public void visitMethodDeclaration(MethodDeclaration d) {value = 14 + staticAdjust(d);}
101 }
102 @SuppressWarnings("cast")
103 private int compareEqualPosition(Declaration d1, Declaration d2) {
104 assert d1.getPosition() == d2.getPosition();
105
106 DeclPartialOrder dpo1 = new DeclPartialOrder();
107 DeclPartialOrder dpo2 = new DeclPartialOrder();
108
109 d1.accept(dpo1);
110 d2.accept(dpo2);
111
112 int difference = dpo1.getValue() - dpo2.getValue();
113 if (difference != 0)
114 return difference;
115 else {
116 int result = d1.getSimpleName().compareTo(d2.getSimpleName());
117 if (result != 0)
118 return result;
119 return (int)( Long.signum((long)System.identityHashCode(d1) -
120 (long)System.identityHashCode(d2)));
121 }
122 }
123
124 public int compare(Declaration d1, Declaration d2) {
|
84 @Override
85 public void visitInterfaceDeclaration(InterfaceDeclaration d) {value = 4;}
86
87 @Override
88 public void visitEnumDeclaration(EnumDeclaration d) {value = 6;}
89
90 @Override
91 public void visitAnnotationTypeDeclaration(AnnotationTypeDeclaration d) {value = 8;}
92
93 @Override
94 public void visitFieldDeclaration(FieldDeclaration d) {value = 10 + staticAdjust(d);}
95
96 @Override
97 public void visitConstructorDeclaration(ConstructorDeclaration d) {value = 12;}
98
99 @Override
100 public void visitMethodDeclaration(MethodDeclaration d) {value = 14 + staticAdjust(d);}
101 }
102 @SuppressWarnings("cast")
103 private int compareEqualPosition(Declaration d1, Declaration d2) {
104 assert
105 (d1.getPosition() == d2.getPosition()) || // Handles d1 == d2 == null
106 (d1.getPosition().file().compareTo(d2.getPosition().file()) == 0 &&
107 d1.getPosition().line() == d2.getPosition().line() &&
108 d1.getPosition().column() == d2.getPosition().column());
109
110 DeclPartialOrder dpo1 = new DeclPartialOrder();
111 DeclPartialOrder dpo2 = new DeclPartialOrder();
112
113 d1.accept(dpo1);
114 d2.accept(dpo2);
115
116 int difference = dpo1.getValue() - dpo2.getValue();
117 if (difference != 0)
118 return difference;
119 else {
120 int result = d1.getSimpleName().compareTo(d2.getSimpleName());
121 if (result != 0)
122 return result;
123 return (int)( Long.signum((long)System.identityHashCode(d1) -
124 (long)System.identityHashCode(d2)));
125 }
126 }
127
128 public int compare(Declaration d1, Declaration d2) {
|