package nl.uva.bromance.QL.expressions.unary; import javafx.scene.layout.VBox; import nl.uva.bromance.QL.exceptions.TypeCheckingError; import nl.uva.bromance.QL.expressions.Expression; import nl.uva.bromance.QL.expressions.primitives.BooleanPrimitive; import nl.uva.bromance.QL.gui.QLGUI; import nl.uva.bromance.QL.typechecking.SymbolTable; import java.util.List; import java.util.UUID; public abstract class Primitive<T> extends Expression { protected UUID uuid = UUID.randomUUID(); public Primitive(int ln) { super(ln); } public BooleanPrimitive isNotEqual(Primitive rhs, int lineNumber) { BooleanPrimitive primitive = isEqual(rhs, lineNumber); primitive.invert(); return primitive; } @Override public Primitive typeCheck(SymbolTable s, List<TypeCheckingError> exceptions) { return this; } public abstract void drawQuestion(VBox questionArea, QLGUI qlGui); public abstract BooleanPrimitive isEqual(Primitive rhs, int lineNumber); public abstract T getValue(); }