29 return visitor->
visitPrimitiveDataType(std::static_pointer_cast<const PrimitiveDataType>(shared_from_this()));
84 virtual void printValue(std::ostream &s,
void *address )
const = 0;
Abstract base class for a DataTypeVisitor.
Definition: DataTypeVisitor.hpp:20
virtual bool visitPrimitiveDataType(std::shared_ptr< const PrimitiveDataType > node)=0
Abstract base class for DataTypes.
Definition: DataType.hpp:11
Definition: PrimitiveDataType.hpp:12
virtual bool assignValue(void *address, Value *value) const =0
Assign a value to the variable at the given address.
virtual bool isFloatingPoint() const =0
Determine whether this is an integer type or floating point type.
virtual void clearValue(void *address) const =0
Clear the variable at the given address.
bool accept(DataTypeVisitor *visitor) const override
Definition: PrimitiveDataType.hpp:28
virtual Value * getValue(void *address) const =0
Creates a Value object for the variable at the given address.
virtual void printValue(std::ostream &s, void *address) const =0
Print an ascii representation of the value at the given address to the stream.
virtual bool isSigned() const =0
Determine whether type is signed.
~PrimitiveDataType()
Definition: PrimitiveDataType.hpp:20
PrimitiveDataType()
Definition: PrimitiveDataType.hpp:19
virtual bool isVoid() const =0
Is the type void?
Value is an abstract base-class that represents a value on the right-hand-side of an assignment.
Definition: Value.hpp:9