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.Token; import dev.peerat.parser.java.JavaElement; import dev.peerat.parser.visitor.Visitor; import dev.peerat.parser.visitor.VisitorBag; public class VariableAccessValue extends Value{ private Value base; private Token variable; public VariableAccessValue(Value base, Token variable){ this.base = base; this.variable = variable; } public Value base(){ return this.base; } public Token getVariable(){ return this.variable; } @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 VisitorBag visit(Visitor visitor) { if(visitor.canVisit(getClass())) return visitor.visit(this); VisitorBag bag = new VisitorBag(); bag.merge(base.visit(visitor)); return bag; } @Override public String toString(){ return "[VariableAccessValue] "+base+"."+variable; } }