package dev.peerat.parser.java.operation; import java.util.Collection; import java.util.List; import java.util.function.Function; import java.util.function.Predicate; import dev.peerat.parser.Token; import dev.peerat.parser.java.JavaElement; import dev.peerat.parser.java.value.Value; import dev.peerat.parser.java.visitor.JavaVisitor; import dev.peerat.parser.visitor.Visitor; import dev.peerat.parser.visitor.VisitorBag; public class ForeachOperation extends OperationBag{ private Token type; private Token name; private Value iterator; public ForeachOperation(Token type, Token name, Value iterator){ super(); this.type = type; this.name = name; this.iterator = iterator; } public Token getType(){ return this.type; } public Token getName(){ return this.name; } public Value getIterator(){ return this.iterator; } @Override public E find(Predicate finder) { // TODO Auto-generated method stub return super.find(finder); } @Override public void findAll(Predicate finder, Collection collector) { // TODO Auto-generated method stub super.findAll(finder, collector); } @Override public VisitorBag visit(Visitor visitor) { if(visitor.canVisit(getClass())) return visitor.visit(this); VisitorBag bag = new VisitorBag(); bag.merge(this.iterator.visit(visitor)); bag.merge(super.visit(visitor)); return bag; } }