Skip to content

Streams declared in constructors throw java.lang.AssertionError exception #68

Open
@yiming-tang-cs

Description

@yiming-tang-cs

#68
When I test this:

package q;

import java.util.ArrayList;
import java.util.Collection;

public class Test {
	
	Test(){
		Collection<String> col = new ArrayList<>();

		long count = col.stream().distinct().count();
	}
	
	void p() {

	}
	
}

an exception is thrown:

!ENTRY org.eclipse.core.jobs 4 2 2017-09-27 18:53:42.423
!MESSAGE An internal error occurred during: "Evaluating Convert To Parallel Stream Refactoring ...".
!STACK 0
java.lang.AssertionError: Not expecting more than one node.
	at edu.cuny.hunter.streamrefactoring.core.analysis.Stream.getEnclosingMethodNode(Stream.java:592)
	at edu.cuny.hunter.streamrefactoring.core.analysis.Stream.inferInitialOrdering(Stream.java:573)
	at edu.cuny.hunter.streamrefactoring.core.analysis.Stream.<init>(Stream.java:183)
	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.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:145)
	at org.eclipse.core.runtime.jobs.Job$1.run(Job.java:161)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions