package nl.uva.softwcons.qls.ast.widgetstyle.type;
import nl.uva.softwcons.ql.ast.LineInfo;
import nl.uva.softwcons.ql.ast.type.Type;
import nl.uva.softwcons.qls.ast.ASTNode;
public abstract class WidgetType implements ASTNode {
private final LineInfo lineInfo;
public WidgetType(final LineInfo lineInfo) {
this.lineInfo = lineInfo;
}
public abstract boolean isCompatibleWith(Type type);
public abstract <T> T accept(WidgetTypeVisitor<T> visitor);
public static boolean haveSameType(final WidgetType firstWidget, final WidgetType secondWidget) {
return firstWidget.getClass() == secondWidget.getClass();
}
@Override
public LineInfo getLineInfo() {
return lineInfo;
}
}