This is an automated email from the ASF dual-hosted git repository.

skygo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new fcc6083  [NETBEANS-4259] Preventing crash in code completion for a 
lambda expression stub.
     new c9dfd42  Merge pull request #2134 from jlahoda/NETBEANS-4259
fcc6083 is described below

commit fcc608362fa5148ce7e6a9fb1fac4156e5beda89
Author: Jan Lahoda <[email protected]>
AuthorDate: Mon May 11 22:33:30 2020 +0200

    [NETBEANS-4259] Preventing crash in code completion for a lambda expression 
stub.
---
 .../src/org/netbeans/modules/java/completion/BaseTask.java            | 3 +++
 .../modules/java/completion/JavaCompletionTask18FeaturesTest.java     | 4 ++++
 2 files changed, 7 insertions(+)

diff --git 
a/java/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java 
b/java/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
index 7be3a9f..74994da 100644
--- 
a/java/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
+++ 
b/java/java.completion/src/org/netbeans/modules/java/completion/BaseTask.java
@@ -386,6 +386,9 @@ abstract class BaseTask extends UserTask {
                         }
                         sourcePositions = new SourcePositionsImpl(block, 
sourcePositions, sp[0], blockPos, -1);
                         path = 
tu.getPathElementOfKind(Tree.Kind.LAMBDA_EXPRESSION, tu.pathFor(new 
TreePath(blockPath.getParentPath(), block), offset, sourcePositions));
+                        if (path == null) {
+                            return null;
+                        }
                         lambdaBody = ((LambdaExpressionTree) 
path.getLeaf()).getBody();
                         bodyPos = (int) sourcePositions.getStartPosition(root, 
lambdaBody);
                         if (bodyPos >= offset) {
diff --git 
a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
 
b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
index 98f5b18..b8cda0c 100644
--- 
a/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
+++ 
b/java/java.completion/test/unit/src/org/netbeans/modules/java/completion/JavaCompletionTask18FeaturesTest.java
@@ -338,6 +338,10 @@ public class JavaCompletionTask18FeaturesTest extends 
CompletionTestBase {
         performTest("LambdaExpressionOutsideMethodBody", 959, null, 
"lambdaOutsideMethodBodyContent.pass", "1.8");
     }
     
+    public void testNETBEANS_4259() throws Exception {
+        performTest("LambdaExpression", 986, "return (String s", 
"stringVarName.pass", "1.8");
+    }
+
     static {
         JavacParser.DISABLE_SOURCE_LEVEL_DOWNGRADE = true;
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to