1 #include <ast/sizeof-visitor.hh>
5 SizeofVisitor::SizeofVisitor()
11 SizeofVisitor::~SizeofVisitor()
15 #define CONST_SIZE_TYPE(Type_, Size) \
17 SizeofVisitor::visit(const Type_##Type & /*node*/) \
22 CONST_SIZE_TYPE(Pointer
, pointerSize())
23 CONST_SIZE_TYPE(Reference
, pointerSize())
24 CONST_SIZE_TYPE(Void
, 1)
25 CONST_SIZE_TYPE(Bool
, 1)
26 CONST_SIZE_TYPE(Float
, 4)
27 CONST_SIZE_TYPE(Double
, 8)
30 SizeofVisitor::visit(const IntegerType
& node
)
32 size_
+= (node
.size
>> 3) + !!(node
.size
& 0x7);