[ https://issues.apache.org/jira/browse/NETBEANS-1224?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ARUNAVA SINHA updated NETBEANS-1224: ------------------------------------ Component/s: (was: cnd - Code Completion) java - Editor > Code completion for lambda parameter throwing exception > ------------------------------------------------------- > > Key: NETBEANS-1224 > URL: https://issues.apache.org/jira/browse/NETBEANS-1224 > Project: NetBeans > Issue Type: Bug > Components: java - Editor > Reporter: ARUNAVA SINHA > Priority: Major > > 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-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists