You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by "ARUNAVA SINHA (JIRA)" <ji...@apache.org> on 2018/09/06 09:39:00 UTC

[jira] [Created] (NETBEANS-1224) Code completion for lambda parameter throwing exception

ARUNAVA SINHA created NETBEANS-1224:
---------------------------------------

             Summary: Code completion for lambda parameter throwing exception
                 Key: NETBEANS-1224
                 URL: https://issues.apache.org/jira/browse/NETBEANS-1224
             Project: NetBeans
          Issue Type: Bug
            Reporter: ARUNAVA SINHA


If we have a functional interface as method argument and we want to implement using lambda expression , then on trying to do code completion for lambda param exception will occur.

The issue is reproducible with or without nb-javac(for jdk-11)

Please find below sample code.

public class JavaApplication1 {
 public static void main(String[] args) {

JavaApplication1 obj = new JavaApplication1();
 obj.test((var a,^ ));
 }
 private void test(FuncInterface f) {
 }
 interface FuncInterface {
 public void test(String s, int p, long v);
 }
}

On doing ctl+space at  '^' throwing below exception

java.lang.NullPointerException
 at com.sun.tools.javac.code.Types.subst(Types.java:3276)
 at com.sun.tools.javac.comp.InferenceContext.asUndetVar(InferenceContext.java:207)
 at com.sun.tools.javac.comp.InferenceContext.asUndetVars(InferenceContext.java:213)
 at com.sun.tools.javac.comp.Attr.checkLambdaCompatible(Attr.java:3018)
 at com.sun.tools.javac.comp.Attr.visitLambda(Attr.java:2750)
 at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1813)
 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
 at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:505)
 at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:486)
 at com.sun.tools.javac.comp.DeferredAttr$4.complete(DeferredAttr.java:374)
 at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:340)
 at com.sun.tools.javac.comp.DeferredAttr$DeferredType.check(DeferredAttr.java:326)
 at com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap.recover(DeferredAttr.java:1095)
 at com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap.typeOf(DeferredAttr.java:1062)
 at com.sun.tools.javac.comp.Resolve$ResolveDeferredRecoveryMap.typeOf(Resolve.java:2568)
 at com.sun.tools.javac.comp.DeferredAttr$DeferredTypeMap.visitType(DeferredAttr.java:1027)
 at com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap.visitType(DeferredAttr.java:1050)
 at com.sun.tools.javac.comp.DeferredAttr$DeferredTypeMap.visitType(DeferredAttr.java:1013)
 at com.sun.tools.javac.code.Type.accept(Type.java:214)
 at com.sun.tools.javac.code.Types$MapVisitor.visit(Types.java:4965)
 at com.sun.tools.javac.code.Types$TypeMapping.apply(Types.java:4976)
 at com.sun.tools.javac.code.Types$TypeMapping.apply(Types.java:4974)
 at com.sun.tools.javac.util.List.map(List.java:425)
 at com.sun.tools.javac.comp.Resolve$8.getArgumentTypes(Resolve.java:2556)
 at com.sun.tools.javac.comp.Resolve.accessInternal(Resolve.java:2477)
 at com.sun.tools.javac.comp.Resolve.accessMethod(Resolve.java:2497)
 at com.sun.tools.javac.comp.Resolve$BasicLookupHelper.access(Resolve.java:3311)
 at com.sun.tools.javac.comp.Resolve$10.access(Resolve.java:2665)
 at com.sun.tools.javac.comp.Resolve.lookupMethod(Resolve.java:3552)
 at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2655)
 at com.sun.tools.javac.comp.Resolve.resolveQualifiedMethod(Resolve.java:2649)
 at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:3960)
 at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:3840)
 at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:2116)
 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
 at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:2068)
 at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1640)
 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
 at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:715)
 at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1827)
 at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1458)
 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
 at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:738)
 at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:762)
 at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:1339)
 at org.netbeans.lib.nbjavac.services.NBAttr.visitBlock(NBAttr.java:73)
 at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1026)
 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:662)
 at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:738)
 at com.sun.tools.javac.comp.Attr.attribStatToTree(Attr.java:422)
 at com.sun.tools.javac.api.JavacTrees.attribStatToTree(JavacTrees.java:1017)
 at com.sun.tools.javac.api.JavacTrees.getAttrContext(JavacTrees.java:976)
 at com.sun.tools.javac.api.JavacTrees.getScope(JavacTrees.java:835)
 at com.sun.tools.javac.api.JavacTrees.getScope(JavacTrees.java:172)
 at org.netbeans.modules.java.completion.BaseTask.getEnvImpl(BaseTask.java:317)
 at org.netbeans.modules.java.completion.BaseTask.getCompletionEnvironment(BaseTask.java:269)
 at org.netbeans.modules.java.completion.JavaCompletionTask.resolve(JavaCompletionTask.java:288)
 at org.netbeans.modules.java.completion.BaseTask.run(BaseTask.java:93)
 at org.netbeans.modules.java.completion.JavaCompletionTask.run(JavaCompletionTask.java:59)
 at org.netbeans.modules.parsing.impl.TaskProcessor.callUserTask(TaskProcessor.java:586)
 at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:130)
 at org.netbeans.modules.parsing.api.ParserManager$UserTaskAction.run(ParserManager.java:114)
 at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:181)
 at org.netbeans.modules.parsing.impl.TaskProcessor$2.call(TaskProcessor.java:178)
 at org.netbeans.modules.masterfs.filebasedfs.utils.FileChangedManager.priorityIO(FileChangedManager.java:153)
 at org.netbeans.modules.masterfs.providers.ProvidedExtensions.priorityIO(ProvidedExtensions.java:335)
 at org.netbeans.modules.parsing.nb.DataObjectEnvFactory.runPriorityIO(DataObjectEnvFactory.java:118)
 at org.netbeans.modules.parsing.impl.Utilities.runPriorityIO(Utilities.java:67)
 at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:178)
Caused: org.netbeans.modules.parsing.spi.ParseException
 at org.netbeans.modules.parsing.impl.TaskProcessor.runUserTask(TaskProcessor.java:186)
 at org.netbeans.modules.parsing.api.ParserManager.parse(ParserManager.java:81)
[catch] at org.netbeans.modules.editor.java.JavaCompletionProvider$JavaCompletionQuery.query(JavaCompletionProvider.java:193)
 at org.netbeans.spi.editor.completion.support.AsyncCompletionTask.run(AsyncCompletionTask.java:198)
 at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1418)
 at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
 at org.openide.util.lookup.Lookups.executeWith(Lookups.java:278)
 at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2033)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

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