Skip to content

Commit f9ffb22

Browse files
committed
Fix JavacTypeVariableBinding.getBinaryName()
1 parent e8e035b commit f9ffb22

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

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

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,11 @@
1313
*******************************************************************************/
1414
package org.eclipse.jdt.internal.javac.dom;
1515

16+
import java.util.Arrays;
17+
import java.util.stream.Collectors;
18+
1619
import org.eclipse.jdt.core.dom.IBinding;
20+
import org.eclipse.jdt.core.dom.ITypeBinding;
1721
import org.eclipse.jdt.core.dom.JavacBindingResolver;
1822
import org.eclipse.jdt.core.dom.JavacBindingResolver.BindingKeyException;
1923

@@ -91,6 +95,16 @@ public String getQualifiedName() {
9195

9296
@Override
9397
public String getBinaryName() {
98+
var declaringMethod = getDeclaringMethod();
99+
if (declaringMethod != null) {
100+
return declaringMethod.getDeclaringClass().getBinaryName()
101+
+ "$("
102+
+ Arrays.stream(declaringMethod.getParameterTypes()).map(ITypeBinding::getKey).collect(Collectors.joining(","))
103+
+ ")"
104+
+ declaringMethod.getReturnType().getKey()
105+
+ "$"
106+
+ getQualifiedName();
107+
}
94108
var declaring = getDeclaringClass();
95109
return declaring != null
96110
? declaring.getBinaryName() + "$" + getQualifiedName()

0 commit comments

Comments
 (0)