Skip to content

Commit 7d2a151

Browse files
committed
Use Signature in LambdaMethod model element
1 parent 082d599 commit 7d2a151

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,11 @@
1919
import org.eclipse.jdt.core.dom.ASTNode;
2020
import org.eclipse.jdt.core.dom.FieldDeclaration;
2121
import org.eclipse.jdt.core.dom.IBinding;
22-
import org.eclipse.jdt.core.dom.ITypeBinding;
2322
import org.eclipse.jdt.core.dom.LambdaExpression;
2423
import org.eclipse.jdt.core.dom.MethodDeclaration;
2524
import org.eclipse.jdt.core.dom.Modifier;
2625
import org.eclipse.jdt.core.dom.VariableDeclarationFragment;
26+
import org.eclipse.jdt.internal.SignatureUtils;
2727
import org.eclipse.jdt.internal.core.JavaElement;
2828
import org.eclipse.jdt.internal.core.LambdaFactory;
2929

@@ -74,7 +74,7 @@ public IMethod getJavaElement() {
7474
int arrowIndex = ((List<ASTNode>)this.declaration.parameters()).stream().mapToInt(param -> param.getStartPosition() + param.getLength()).max().orElse(this.declaration.getStartPosition());
7575
org.eclipse.jdt.internal.core.LambdaExpression expr = LambdaFactory.createLambdaExpression(parent, Signature.createTypeSignature(getMethodDeclaration().getDeclaringClass().getQualifiedName(), true), this.declaration.getStartPosition(), this.declaration.getStartPosition() + this.declaration.getLength() - 1, arrowIndex);
7676
String returnTypeName = getReturnType().getName();
77-
return LambdaFactory.createLambdaMethod(expr, this.methodSymbol.name.toString(), getKey(), this.declaration.getStartPosition(), this.declaration.getStartPosition() + this.declaration.getLength() - 1, arrowIndex, Arrays.stream(getParameterTypes()).map(ITypeBinding::getName).toArray(String[]::new), getParameterNames(), Signature.createTypeSignature(returnTypeName.isEmpty() ? Object.class.getName() : returnTypeName, true));
77+
return LambdaFactory.createLambdaMethod(expr, this.methodSymbol.name.toString(), getKey(), this.declaration.getStartPosition(), this.declaration.getStartPosition() + this.declaration.getLength() - 1, arrowIndex, Arrays.stream(getParameterTypes()).map(SignatureUtils::getSignature).toArray(String[]::new), getParameterNames(), Signature.createTypeSignature(returnTypeName.isEmpty() ? Object.class.getName() : returnTypeName, true));
7878
}
7979
return super.getJavaElement();
8080
}

0 commit comments

Comments
 (0)