diff --git a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java index eee548a..43892e9 100644 --- a/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java +++ b/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/ast/ReferenceExpression.java @@ -844,6 +844,10 @@ return null; int n = functionType.parameters.length; int k = this.exactMethodBinding.parameters.length; + + if (!this.haveReceiver && this.isMethodReference()) { + return (this.exactMethodBinding.isStatic() ? ((n == k) ? this : null) : ((n == k+1) ? this : null)); + } return (n == k || n == k + 1) ? this : null; } // descriptors parameters should be free of inference variables.