You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@netbeans.apache.org by GitBox <gi...@apache.org> on 2022/10/09 11:54:09 UTC

[GitHub] [netbeans] mbien opened a new issue, #4758: [jackpot] Declarative rules don't match lambdas

mbien opened a new issue, #4758:
URL: https://github.com/apache/netbeans/issues/4758

   ### Body
   
   migrated issue from [NETBEANS-6025](https://issues.apache.org/jira/browse/NETBEANS-6025). Still reproducible in NB 15.
   
   The first rule works. The second rule never captures anything, the third causes a class cast exception.
   
   ```java
   $stream.mapToObj($lambda) :: $stream instanceof java.util.stream.IntStream =>
   $stream.boxed()
   ;;
   
   $stream.mapToObj($x -> $x) :: $stream instanceof java.util.stream.IntStream =>
   $stream.boxed()
   ;;
   
   $stream.mapToObj(($x) -> $x) :: $stream instanceof java.util.stream.IntStream =>
   $stream.boxed()
   ;;
   ```
   
   ```java
   // test snippet:
   IntStream.of(1,2,3).mapToObj(x -> x);
   ```
   <details>
   <summary>exception of third rule:</summary>
   
   ```
   java.lang.ClassCastException: class org.netbeans.modules.java.hints.spiimpl.JackpotTrees$VariableDeclWildcard cannot be cast to class com.sun.tools.javac.tree.JCTree$JCIdent (org.netbeans.modules.java.hints.spiimpl.JackpotTrees$VariableDeclWildcard is in unnamed module of loader org.netbeans.StandardModule$OneModuleClassLoader @24b6d0a8; com.sun.tools.javac.tree.JCTree$JCIdent is in unnamed module of loader org.netbeans.StandardModule$OneModuleClassLoader @68b9c85e)
   	at com.sun.tools.javac.tree.TreeCopier.visitIdentifier(TreeCopier.java:244)
   	at com.sun.tools.javac.tree.TreeCopier.visitIdentifier(TreeCopier.java:44)
   	at org.netbeans.modules.java.hints.spiimpl.JackpotTrees$VariableDeclWildcard.accept(JackpotTrees.java:80)
   	at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:60)
   	at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:72)
   	at com.sun.tools.javac.tree.TreeCopier.visitBlock(TreeCopier.java:135)
   	at com.sun.tools.javac.tree.TreeCopier.visitBlock(TreeCopier.java:44)
   	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:1094)
   	at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:60)
   	at com.sun.tools.javac.tree.TreeCopier.copy(TreeCopier.java:53)
   	at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:479)
   	at com.sun.tools.javac.comp.DeferredAttr.attribSpeculative(DeferredAttr.java:467)
   	at com.sun.tools.javac.comp.DeferredAttr.attribSpeculativeLambda(DeferredAttr.java:442)
   	at com.sun.tools.javac.comp.ArgumentAttr.lambda$visitLambda$4(ArgumentAttr.java:301)
   	at com.sun.tools.javac.comp.ArgumentAttr.processArg(ArgumentAttr.java:242)
   	at com.sun.tools.javac.comp.ArgumentAttr.visitLambda(ArgumentAttr.java:299)
   	at com.sun.tools.javac.tree.JCTree$JCLambda.accept(JCTree.java:1976)
   	at com.sun.tools.javac.comp.ArgumentAttr.attribArg(ArgumentAttr.java:197)
   	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:685)
   	at com.sun.tools.javac.comp.Attr.attribArgs(Attr.java:788)
   	at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:2584)
   	at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1799)
   	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:687)
   	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:733)
   	at org.netbeans.modules.java.hints.spiimpl.Utilities.attributeTree(Utilities.java:648)
   	at org.netbeans.modules.java.hints.spiimpl.Utilities.parseAndAttribute(Utilities.java:427)
   	at org.netbeans.modules.java.hints.spiimpl.Utilities.parseAndAttribute(Utilities.java:341)
   	at org.netbeans.modules.java.hints.spiimpl.Utilities.parseAndAttribute(Utilities.java:321)
   	at org.netbeans.modules.java.hints.spiimpl.Utilities.parseAndAttribute(Utilities.java:317)
   	at org.netbeans.modules.java.hints.spiimpl.pm.PatternCompiler.compile(PatternCompiler.java:44)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker.doComputeHints(HintsInvoker.java:534)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker.computeHintsImpl(HintsInvoker.java:282)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker.computeHints(HintsInvoker.java:227)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker.computeHints(HintsInvoker.java:192)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker.computeHints(HintsInvoker.java:165)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsInvoker.computeHints(HintsInvoker.java:127)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsTask.run(HintsTask.java:113)
   	at org.netbeans.modules.java.hints.spiimpl.hints.HintsTask.run(HintsTask.java:63)
   [catch] at org.netbeans.modules.java.source.JavaSourceAccessor$CancelableTaskWrapper.run(JavaSourceAccessor.java:273)
   	at org.netbeans.modules.parsing.impl.TaskProcessor.callParserResultTask(TaskProcessor.java:561)
   	at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:786)
   	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:279)
   	at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702)
   	at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663)
   	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
   	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
   	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)
   ```
   </details>
   
   ### Committer
   
   - [X] I acknowledge that I am a maintainer/committer in the Apache NetBeans project.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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

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


[GitHub] [netbeans] mbien commented on issue #4758: [jackpot] Declarative rules don't match lambdas

Posted by "mbien (via GitHub)" <gi...@apache.org>.
mbien commented on issue #4758:
URL: https://github.com/apache/netbeans/issues/4758#issuecomment-1457242030

   @jlahoda just curious. Is this a bug or a limitation of jackpot?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@netbeans.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


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

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