|
37 | 37 | /**
|
38 | 38 | * This class is derived and adapted code from the Eclipse JDT project (Derivative Works according to EPL 2.0 license).
|
39 | 39 | */
|
| 40 | +@SuppressFBWarnings(value = "SE_COMPARATOR_SHOULD_BE_SERIALIZABLE", justification = "this comparator is not meant to be serialized") |
40 | 41 | class DefaultJavaElementComparator implements Comparator<BodyDeclaration> {
|
41 | 42 |
|
42 | 43 | static final int TYPE_INDEX = 0;
|
@@ -96,62 +97,60 @@ static DefaultJavaElementComparator of(
|
96 | 97 | this.visibilityOffsets = visibilityOffsets;
|
97 | 98 | }
|
98 | 99 |
|
| 100 | + @SuppressFBWarnings(value = "SF_SWITCH_NO_DEFAULT", justification = "we only accept valid tokens in the order string, otherwise we fall back to default value") |
99 | 101 | static boolean fillVisibilityOffsets(String preferencesString, int[] offsets) {
|
100 | 102 | StringTokenizer tokenizer = new StringTokenizer(preferencesString, ",");
|
101 | 103 | int i = 0;
|
102 | 104 | while (tokenizer.hasMoreTokens()) {
|
103 | 105 | String token = tokenizer.nextToken();
|
104 |
| - if (token != null) { |
105 |
| - switch (token) { |
106 |
| - case "B": |
107 |
| - offsets[PUBLIC_INDEX] = i++; |
108 |
| - break; |
109 |
| - case "D": |
110 |
| - offsets[DEFAULT_INDEX] = i++; |
111 |
| - break; |
112 |
| - case "R": |
113 |
| - offsets[PROTECTED_INDEX] = i++; |
114 |
| - break; |
115 |
| - case "V": |
116 |
| - offsets[PRIVATE_INDEX] = i++; |
117 |
| - } |
| 106 | + switch (token) { |
| 107 | + case "B": |
| 108 | + offsets[PUBLIC_INDEX] = i++; |
| 109 | + break; |
| 110 | + case "D": |
| 111 | + offsets[DEFAULT_INDEX] = i++; |
| 112 | + break; |
| 113 | + case "R": |
| 114 | + offsets[PROTECTED_INDEX] = i++; |
| 115 | + break; |
| 116 | + case "V": |
| 117 | + offsets[PRIVATE_INDEX] = i++; |
118 | 118 | }
|
119 | 119 | }
|
120 | 120 | return i == N_VISIBILITIES;
|
121 | 121 | }
|
122 | 122 |
|
123 |
| - static boolean fillMemberCategoryOffsets(String preferencesString, int[] offsets) { |
124 |
| - StringTokenizer tokenizer = new StringTokenizer(preferencesString, ","); |
| 123 | + @SuppressFBWarnings(value = "SF_SWITCH_NO_DEFAULT", justification = "we only accept valid tokens in the order string, otherwise we fall back to default value") |
| 124 | + static boolean fillMemberCategoryOffsets(String orderString, int[] offsets) { |
| 125 | + StringTokenizer tokenizer = new StringTokenizer(orderString, ","); |
125 | 126 | int i = 0;
|
126 | 127 | offsets[8] = i++;
|
127 | 128 | while (tokenizer.hasMoreTokens()) {
|
128 | 129 | String token = tokenizer.nextToken();
|
129 |
| - if (token != null) { |
130 |
| - switch (token) { |
131 |
| - case "C": |
132 |
| - offsets[CONSTRUCTORS_INDEX] = i++; |
133 |
| - break; |
134 |
| - case "F": |
135 |
| - offsets[FIELDS_INDEX] = i++; |
136 |
| - break; |
137 |
| - case "I": |
138 |
| - offsets[INIT_INDEX] = i++; |
139 |
| - break; |
140 |
| - case "M": |
141 |
| - offsets[METHOD_INDEX] = i++; |
142 |
| - break; |
143 |
| - case "T": |
144 |
| - offsets[TYPE_INDEX] = i++; |
145 |
| - break; |
146 |
| - case "SF": |
147 |
| - offsets[STATIC_FIELDS_INDEX] = i++; |
148 |
| - break; |
149 |
| - case "SI": |
150 |
| - offsets[STATIC_INIT_INDEX] = i++; |
151 |
| - break; |
152 |
| - case "SM": |
153 |
| - offsets[STATIC_METHODS_INDEX] = i++; |
154 |
| - } |
| 130 | + switch (token) { |
| 131 | + case "C": |
| 132 | + offsets[CONSTRUCTORS_INDEX] = i++; |
| 133 | + break; |
| 134 | + case "F": |
| 135 | + offsets[FIELDS_INDEX] = i++; |
| 136 | + break; |
| 137 | + case "I": |
| 138 | + offsets[INIT_INDEX] = i++; |
| 139 | + break; |
| 140 | + case "M": |
| 141 | + offsets[METHOD_INDEX] = i++; |
| 142 | + break; |
| 143 | + case "T": |
| 144 | + offsets[TYPE_INDEX] = i++; |
| 145 | + break; |
| 146 | + case "SF": |
| 147 | + offsets[STATIC_FIELDS_INDEX] = i++; |
| 148 | + break; |
| 149 | + case "SI": |
| 150 | + offsets[STATIC_INIT_INDEX] = i++; |
| 151 | + break; |
| 152 | + case "SM": |
| 153 | + offsets[STATIC_METHODS_INDEX] = i++; |
155 | 154 | }
|
156 | 155 | }
|
157 | 156 | return i == N_CATEGORIES;
|
@@ -219,6 +218,7 @@ private int getVisibilityIndex(int modifierFlags) {
|
219 | 218 | * @see CompilationUnitSorter#sort(int, org.eclipse.jdt.core.ICompilationUnit, int[], java.util.Comparator, int, org.eclipse.core.runtime.IProgressMonitor)
|
220 | 219 | */
|
221 | 220 | @Override
|
| 221 | + @SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST", justification = "when switching to a more recent Java version, we can avoid those unconfirmed casts") |
222 | 222 | public int compare(BodyDeclaration bodyDeclaration1, BodyDeclaration bodyDeclaration2) {
|
223 | 223 | boolean preserved1 = doNotSortFields && isSortPreserved(bodyDeclaration1);
|
224 | 224 | boolean preserved2 = doNotSortFields && isSortPreserved(bodyDeclaration2);
|
|
0 commit comments