package org.uva.ql.ast.type; import org.uva.ql.ast.BaseNode; import org.uva.ql.ast.CodePosition; import org.uva.ql.visitor.TypeVisitor; public abstract class Type extends BaseNode { public Type() { super(new CodePosition(0, 0)); } public Type(CodePosition pos) { super(pos); } public boolean isInt() { return false; } public boolean isBool() { return false; } public boolean isStr() { return false; } public abstract boolean isEqual(Type type); public abstract <T> T accept(TypeVisitor<T> visitor); public boolean isUndefined() { return false; } }