package dev.peerat.parser.java.value; import java.util.Collection; import java.util.List; import java.util.function.Function; import java.util.function.Predicate; import dev.peerat.parser.java.JavaElement; import dev.peerat.parser.java.visitor.JavaVisitor; import dev.peerat.parser.visitor.TokenVisitor; import dev.peerat.parser.visitor.Visitor; import dev.peerat.parser.visitor.VisitorBag; public class BiValue extends Value{ private Value left; private String action; private Value right; public BiValue(Value left, String action, Value right){ this.left = left; this.action = action; this.right = right; } public Value left(){ return left; } public String getAction(){ return this.action; } public Value right(){ return right; } @Override public E find(Predicate finder) { // TODO Auto-generated method stub return null; } @Override public void findAll(Predicate finder, Collection collector) { // TODO Auto-generated method stub } @Override public String toString(){ return "[BiValue] "+left+" "+action+" "+right; } @Override public VisitorBag visit(Visitor visitor) { if(visitor.canVisit(getClass())) return visitor.visit(this); VisitorBag bag = new VisitorBag(); bag.merge(left.visit(visitor)); bag.merge(right.visit(visitor)); return bag; } @Override public VisitorBag visit(TokenVisitor visitor){ return new VisitorBag(); } }