package org.uva.sea.ql.ast.expr; import java.util.Map; import org.uva.sea.ql.ast.type.Null; import org.uva.sea.ql.ast.type.Type; import org.uva.sea.ql.checker.visitor.IExprVisitor; public class Ident extends Expr { private String name; public Ident(String name) { this.name = name; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Type getType(Map<String, Type> symbolTable) { if(symbolTable.containsKey(getName())){ return symbolTable.get(getName()); }else{ return hasType(); } } @Override public <T> T accept(IExprVisitor<T> ev) { return ev.visit(this); } @Override public String toString(){ return getName(); } @Override public Type hasType() { return new Null(); } }