diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java index 49fae5b924..df3d91f50e 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaExpression.java @@ -110,6 +110,13 @@ public final class ASTLambdaExpression extends AbstractJavaExpr implements Funct } + /** + * Returns the number of formal parameters of this lambda. + */ + public int getArity() { + return getParameters().size(); + } + @Override protected
R acceptVisitor(JavaVisitor super P, ? extends R> visitor, P data) {
return visitor.visit(this, data);
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaParameter.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaParameter.java
index cf5e3be93b..bae2b9c035 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaParameter.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/ast/ASTLambdaParameter.java
@@ -41,6 +41,12 @@ public final class ASTLambdaParameter extends AbstractJavaTypeNode
return visitor.visit(this, data);
}
+ /**
+ * Returns the lambda that owns this parameter.
+ */
+ public ASTLambdaExpression getOwner() {
+ return (ASTLambdaExpression) getParent().getParent();
+ }
/**
* Returns the declarator ID of this formal parameter.
diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/types/ast/LazyTypeResolver.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/types/ast/LazyTypeResolver.java
index 9fa259f112..3b55c7af23 100644
--- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/types/ast/LazyTypeResolver.java
+++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/types/ast/LazyTypeResolver.java
@@ -565,6 +565,9 @@ public final class LazyTypeResolver extends JavaVisitorBase