Skip to content

Commit 48e7a60

Browse files
committed
Partial Fix for testMethodReferencesElementPatternMultipleTypeParameter04 in equivalent tests
Signed-off-by: Rob Stryker <[email protected]>
1 parent bb85cfc commit 48e7a60

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

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

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1323,7 +1323,8 @@ public void reportSearchMatch(MatchLocator locator, ASTNode node, SearchMatch ma
13231323
IMethodBinding methodBinding = nodeBinding instanceof IMethodBinding mb2 ? mb2 : null;
13241324
boolean isMethodBinding = methodBinding != null;
13251325
boolean mbIsRaw = isMethodBinding && methodBinding.isRawMethod();
1326-
boolean mbDeclaringIsRaw = isMethodBinding && methodBinding.getDeclaringClass().isRawType();
1326+
ITypeBinding declaring = methodBinding.getDeclaringClass();
1327+
boolean mbDeclaringIsRaw = isMethodBinding && declaring.isRawType();
13271328
boolean mbIsGeneric = isMethodBinding && methodBinding.isGenericMethod();
13281329
boolean mbIsParameterized = isMethodBinding && methodBinding.isParameterizedMethod();
13291330
boolean patternHasMethodArgs = pattern.hasMethodArguments();
@@ -1365,10 +1366,14 @@ public void reportSearchMatch(MatchLocator locator, ASTNode node, SearchMatch ma
13651366
if (isMethodBinding
13661367
&& (mbIsRaw || mbDeclaringIsRaw)
13671368
&& (patternHasMethodArgs || patternHasTypeArgs)) {
1368-
int rule = match.getRule();
1369-
rule &= ~SearchPattern.R_FULL_MATCH;
1370-
rule |= SearchPattern.R_EQUIVALENT_MATCH | SearchPattern.R_ERASURE_MATCH;
1371-
match.setRule(rule);
1369+
if( mbDeclaringIsRaw ) {
1370+
updateMatch(declaring, this.pattern.getTypeArguments(), this.pattern.hasTypeParameters(), 0);
1371+
} else {
1372+
int rule = match.getRule();
1373+
rule &= ~SearchPattern.R_FULL_MATCH;
1374+
rule |= SearchPattern.R_EQUIVALENT_MATCH | SearchPattern.R_ERASURE_MATCH;
1375+
match.setRule(rule);
1376+
}
13721377
}
13731378
if( preferParamaterizedNode() ) {
13741379
if( node instanceof MethodInvocation iv) {

0 commit comments

Comments
 (0)