Lines 209-217
Link Here
|
209 |
&& wildcardBinding.boundKind == wildcardBinding2.boundKind; |
209 |
&& wildcardBinding.boundKind == wildcardBinding2.boundKind; |
210 |
|
210 |
|
211 |
case Binding.TYPE_PARAMETER : |
211 |
case Binding.TYPE_PARAMETER : |
212 |
if (visitedTypes.contains(typeBinding)) return true; |
|
|
213 |
visitedTypes.add(typeBinding); |
214 |
|
215 |
if (!(typeBinding2.isTypeVariable())) { |
212 |
if (!(typeBinding2.isTypeVariable())) { |
216 |
return false; |
213 |
return false; |
217 |
} |
214 |
} |
Lines 221-237
Link Here
|
221 |
} |
218 |
} |
222 |
CaptureBinding captureBinding = (CaptureBinding) typeBinding; |
219 |
CaptureBinding captureBinding = (CaptureBinding) typeBinding; |
223 |
CaptureBinding captureBinding2 = (CaptureBinding) typeBinding2; |
220 |
CaptureBinding captureBinding2 = (CaptureBinding) typeBinding2; |
224 |
return captureBinding.position == captureBinding2.position |
221 |
if (captureBinding.position == captureBinding2.position) { |
225 |
&& isEqual(captureBinding.wildcard, captureBinding2.wildcard, visitedTypes) |
222 |
if (visitedTypes.contains(typeBinding)) return true; |
226 |
&& isEqual(captureBinding.sourceType, captureBinding2.sourceType, visitedTypes); |
223 |
visitedTypes.add(typeBinding); |
|
|
224 |
|
225 |
return isEqual(captureBinding.wildcard, captureBinding2.wildcard, visitedTypes) |
226 |
&& isEqual(captureBinding.sourceType, captureBinding2.sourceType, visitedTypes); |
227 |
} |
228 |
return false; |
227 |
} |
229 |
} |
228 |
TypeVariableBinding typeVariableBinding = (TypeVariableBinding) typeBinding; |
230 |
TypeVariableBinding typeVariableBinding = (TypeVariableBinding) typeBinding; |
229 |
TypeVariableBinding typeVariableBinding2 = (TypeVariableBinding) typeBinding2; |
231 |
TypeVariableBinding typeVariableBinding2 = (TypeVariableBinding) typeBinding2; |
230 |
return CharOperation.equals(typeVariableBinding.sourceName, typeVariableBinding2.sourceName) |
232 |
if (CharOperation.equals(typeVariableBinding.sourceName, typeVariableBinding2.sourceName)) { |
231 |
&& isEqual(typeVariableBinding.declaringElement, typeVariableBinding2.declaringElement, visitedTypes) |
233 |
if (visitedTypes.contains(typeBinding)) return true; |
|
|
234 |
visitedTypes.add(typeBinding); |
235 |
|
236 |
return isEqual(typeVariableBinding.declaringElement, typeVariableBinding2.declaringElement, visitedTypes) |
232 |
&& isEqual(typeVariableBinding.superclass(), typeVariableBinding2.superclass(), visitedTypes) |
237 |
&& isEqual(typeVariableBinding.superclass(), typeVariableBinding2.superclass(), visitedTypes) |
233 |
&& isEqual(typeVariableBinding.superInterfaces(), typeVariableBinding2.superInterfaces(), visitedTypes); |
238 |
&& isEqual(typeVariableBinding.superInterfaces(), typeVariableBinding2.superInterfaces(), visitedTypes); |
234 |
|
239 |
} |
|
|
240 |
return false; |
235 |
case Binding.GENERIC_TYPE : |
241 |
case Binding.GENERIC_TYPE : |
236 |
if (!typeBinding2.isGenericType()) { |
242 |
if (!typeBinding2.isGenericType()) { |
237 |
return false; |
243 |
return false; |