Skip to content

Commit e25c9f3

Browse files
mickaelistriadatho7561
authored andcommitted
[Search] Match type parameters from type declaration
+ fix matching wildcards
1 parent 8319d54 commit e25c9f3

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/SignatureUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ public static String getSignature(ITypeBinding typeBinding) {
117117
return Signature.createArraySignature(getSignature(typeBinding.getComponentType()), 1);
118118
}
119119
if (typeBinding.isWildcardType()) {
120-
return Signature.createTypeParameterSignature(typeBinding.getName(), typeBinding.getBound() != null ? new String[] { getSignature(typeBinding.getBound()) } : null);
120+
// TODO if typeBinding.getBounds(): C_EXTENDS, C_SUPER
121+
return Character.toString(Signature.C_STAR);
121122
}
122123
ITypeBinding[] typeBounds = typeBinding.getTypeBounds();
123124
if (typeBinding.isTypeVariable() || typeBinding.isWildcardType()) {

org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/core/search/matching/DOMTypeParameterLocator.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,9 @@ protected int matchTypeParameter(ITypeBinding variable, boolean matchName) {
115115
if (variable.getDeclaringMember() != null && this.locator.matchesName(variable.getDeclaringMember().getName().toCharArray(), this.locator.pattern.declaringMemberName)) {
116116
return ACCURATE_MATCH;
117117
}
118+
if (variable.getDeclaringClass() != null && this.locator.matchesName(variable.getDeclaringClass().getName().toCharArray(), this.locator.pattern.declaringMemberName)) {
119+
return ACCURATE_MATCH;
120+
}
118121
return IMPOSSIBLE_MATCH;
119122
}
120123

0 commit comments

Comments
 (0)