Skip to content

Commit c24f336

Browse files
committed
Partial Fix for testAnonymousTypeMethodReferenceSearchGh432_part1
Signed-off-by: Rob Stryker <[email protected]> Part 2 Signed-off-by: Rob Stryker <[email protected]>
1 parent 4c5fd07 commit c24f336

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/javac/dom/JavacMethodBinding.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,12 @@ private IMethod getJavaElementForMethodDeclaration(IType currentType, MethodDecl
325325
if (result.exists()) {
326326
return result;
327327
}
328-
return declaredMethod(result).orElse(null);
328+
Optional<IMethod> r1 = declaredMethod(result);
329+
if( r1 != null && r1.isPresent())
330+
return r1.get();
331+
if( result != null )
332+
return result;
333+
return null;
329334
}
330335

331336
private Optional<IMethod> declaredMethod(IMethod method) {

org.eclipse.jdt.core.javac/src/org/eclipse/jdt/internal/javac/dom/JavacTypeBinding.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -680,9 +680,12 @@ static void getKey(StringBuilder builder, Type typeToBuild, String n, boolean is
680680
nameAsString = nameAsString.replace('.', '/');
681681
}
682682
nameAsString = nameAsString.replaceFirst("\\$([0-9]+)([A-Za-z$_][A-Za-z$_0-9]*)", "\\$$1\\$$2");
683+
nameAsString = nameAsString.replaceFirst("\\$\\$", "\\$");
684+
683685
if (typeToBuild.tsym.isAnonymous()) {
684686
ASTNode node = resolver.symbolToDeclaration.get(typeToBuild.tsym);
685687
if (node != null && node.getParent() instanceof ClassInstanceCreation cic) {
688+
nameAsString = nameAsString.replaceFirst("\\$([0-9]+)([A-Za-z$_][A-Za-z$_0-9]*)", "\\$$1");
686689
nameAsString = nameAsString.replaceFirst("\\$([0-9]+)", "\\$" + cic.getType().getStartPosition());
687690
}
688691
} else if (!(typeToBuild.tsym.owner instanceof ClassSymbol)) {

0 commit comments

Comments
 (0)