-
Notifications
You must be signed in to change notification settings - Fork 7
Closed
Labels
Description
Encountered a duplicate key error while processing the paper's motivating example.
IR:
3 = new <Application,Ljava/util/HashSet>@0
invokespecial < Application, Ljava/util/HashSet, <init>()V > 3 @4 exception:4
6 = invokeinterface < Application, Ljava/util/Collection, stream()Ljava/util/stream/Stream; > 3 @9 exception:5
8 = invokestatic < Application, Ljava/lang/invoke/LambdaMetafactory, apply()Ljava/util/function/Function; > @14 exception:7
10 = invokestatic < Application, Ljava/util/Comparator, comparing(Ljava/util/function/Function;)Ljava/util/Comparator; > 8 @19 exception:9
12 = invokeinterface < Application, Ljava/util/stream/Stream, sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream; > 6,10 @22 exception:11
14 = invokestatic < Application, Ljava/util/stream/Collectors, toList()Ljava/util/stream/Collector; > @27 exception:13
16 = invokeinterface < Application, Ljava/util/stream/Stream, collect(Ljava/util/stream/Collector;)Ljava/lang/Object; > 12,14 @30 exception:15
17 = checkcast <Application,Ljava/util/List>16 <Application,Ljava/util/List>
18 = new <Application,Ljava/util/ArrayList>@39
invokespecial < Application, Ljava/util/ArrayList, <init>()V > 18 @43 exception:19
21 = invokeinterface < Application, Ljava/util/Collection, parallelStream()Ljava/util/stream/Stream; > 18 @48 exception:20
3 = new <Application,Ljava/util/HashSet>@0
invokespecial < Application, Ljava/util/HashSet, <init>()V > 3 @4 exception:4
6 = invokeinterface < Application, Ljava/util/Collection, stream()Ljava/util/stream/Stream; > 3 @9 exception:5
8 = invokestatic < Application, Ljava/lang/invoke/LambdaMetafactory, apply()Ljava/util/function/Function; > @14 exception:7
10 = invokestatic < Application, Ljava/util/Comparator, comparing(Ljava/util/function/Function;)Ljava/util/Comparator; > 8 @19 exception:9
12 = invokeinterface < Application, Ljava/util/stream/Stream, sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream; > 6,10 @22 exception:11
14 = invokestatic < Application, Ljava/util/stream/Collectors, toList()Ljava/util/stream/Collector; > @27 exception:13
16 = invokeinterface < Application, Ljava/util/stream/Stream, collect(Ljava/util/stream/Collector;)Ljava/lang/Object; > 12,14 @30 exception:15
17 = checkcast <Application,Ljava/util/List>16 <Application,Ljava/util/List>
18 = new <Application,Ljava/util/ArrayList>@39
invokespecial < Application, Ljava/util/ArrayList, <init>()V > 18 @43 exception:19
21 = invokeinterface < Application, Ljava/util/Collection, parallelStream()Ljava/util/stream/Stream; > 18 @48 exception:20
Error:
!ENTRY org.eclipse.jdt.ui 4 10001 2017-09-15 13:55:15.157
!MESSAGE Internal Error
!STACK 0
java.lang.IllegalStateException: Duplicate key true
at java.util.stream.Collectors.lambda$throwingMerger$0(Collectors.java:133)
at java.util.HashMap.merge(HashMap.java:1253)
at java.util.stream.Collectors.lambda$toMap$58(Collectors.java:1320)
at java.util.stream.ReduceOps$3ReducingSink.accept(ReduceOps.java:169)
at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1548)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:270)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1691)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at edu.cuny.hunter.streamrefactoring.core.analysis.StreamStateMachine.start(StreamStateMachine.java:454)
at edu.cuny.hunter.streamrefactoring.core.analysis.Stream.<init>(Stream.java:204)
at edu.cuny.hunter.streamrefactoring.core.analysis.StreamAnalysisVisitor.visit(StreamAnalysisVisitor.java:49)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:231)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:234)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:234)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.MethodInvocation.accept0(MethodInvocation.java:234)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.VariableDeclarationFragment.accept0(VariableDeclarationFragment.java:263)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.VariableDeclarationStatement.accept0(VariableDeclarationStatement.java:267)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.Block.accept0(Block.java:137)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChild(ASTNode.java:2759)
at org.eclipse.jdt.core.dom.MethodDeclaration.accept0(MethodDeclaration.java:635)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.TypeDeclaration.accept0(TypeDeclaration.java:470)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at org.eclipse.jdt.core.dom.ASTNode.acceptChildren(ASTNode.java:2782)
at org.eclipse.jdt.core.dom.CompilationUnit.accept0(CompilationUnit.java:212)
at org.eclipse.jdt.core.dom.ASTNode.accept(ASTNode.java:2711)
at edu.cuny.hunter.streamrefactoring.core.refactorings.ConvertToParallelStreamRefactoringProcessor.checkFinalConditions(ConvertToParallelStreamRefactoringProcessor.java:191)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:222)
at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:162)
at edu.cuny.hunter.streamrefactoring.eval.handlers.EvaluateConvertToParallelStreamRefactoringHandler.lambda$0(EvaluateConvertToParallelStreamRefactoringHandler.java:135)
at org.eclipse.core.runtime.jobs.Job$1.run(Job.java:161)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)