#include <typevisitor.hh>
Public Member Functions | |
void | apply (Type const &type) |
virtual | ~TypeVisitor () |
Protected Member Functions | |
bool | dispatch (Type const &type) |
virtual bool | visit_ (NullType const &type) |
virtual bool | visit_ (OpaqueType const &type) |
virtual bool | visit_ (Numeric const &type) |
virtual bool | visit_ (Enum const &type) |
virtual bool | visit_ (Pointer const &type) |
virtual bool | visit_ (Array const &type) |
virtual bool | visit_ (Container const &type) |
virtual bool | visit_ (Compound const &type) |
virtual bool | visit_ (Compound const &type, Field const &field) |
Base class for type visitors Given a Type object, TypeVisitor::apply dispatches the casted type to the appropriate visit_ method
The default visit_ methods either do nothing or visits the types recursively (for arrays, pointers and compound types)
Definition at line 27 of file typevisitor.hh.
virtual Typelib::TypeVisitor::~TypeVisitor | ( | ) | [inline, virtual] |
Definition at line 45 of file typevisitor.hh.
void Typelib::TypeVisitor::apply | ( | Type const & | type | ) |
Reimplemented in Typelib::CompileEndianSwapVisitor.
Definition at line 64 of file typevisitor.cc.
bool Typelib::TypeVisitor::dispatch | ( | Type const & | type | ) | [protected] |
Definition at line 38 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | NullType const & | type | ) | [protected, virtual] |
Reimplemented in AlignmentBaseTypeVisitor, VMCall, and Typelib::TypeDisplayVisitor.
Definition at line 6 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | OpaqueType const & | type | ) | [protected, virtual] |
Reimplemented in AlignmentBaseTypeVisitor, Typelib::MemLayout::Visitor, Typelib::ValueVisitor::TypeDispatch, Typelib::CompileEndianSwapVisitor, and Typelib::TypeDisplayVisitor.
Definition at line 8 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | Numeric const & | type | ) | [protected, virtual] |
Reimplemented in AlignmentBaseTypeVisitor, VMCall, Typelib::CompileEndianSwapVisitor, Typelib::MemLayout::Visitor, PrepareVM, Typelib::ValueVisitor::TypeDispatch, and Typelib::TypeDisplayVisitor.
Definition at line 10 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | Enum const & | type | ) | [protected, virtual] |
Reimplemented in AlignmentBaseTypeVisitor, VMCall, PrepareVM, Typelib::CompileEndianSwapVisitor, Typelib::MemLayout::Visitor, Typelib::ValueVisitor::TypeDispatch, and Typelib::TypeDisplayVisitor.
Definition at line 12 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | Pointer const & | type | ) | [protected, virtual] |
Reimplemented in AlignmentBaseTypeVisitor, VMCall, PrepareVM, Typelib::MemLayout::Visitor, Typelib::CompileEndianSwapVisitor, Typelib::ValueVisitor::TypeDispatch, and Typelib::TypeDisplayVisitor.
Definition at line 15 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | Array const & | type | ) | [protected, virtual] |
Reimplemented in VMCall, PrepareVM, Typelib::CompileEndianSwapVisitor, Typelib::MemLayout::Visitor, Typelib::ValueVisitor::TypeDispatch, and Typelib::TypeDisplayVisitor.
Definition at line 17 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | Container const & | type | ) | [protected, virtual] |
Reimplemented in AlignmentBaseTypeVisitor, Typelib::CompileEndianSwapVisitor, Typelib::MemLayout::Visitor, and Typelib::ValueVisitor::TypeDispatch.
Definition at line 19 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | Compound const & | type | ) | [protected, virtual] |
Reimplemented in VMCall, PrepareVM, Typelib::CompileEndianSwapVisitor, Typelib::MemLayout::Visitor, Typelib::ValueVisitor::TypeDispatch, and Typelib::TypeDisplayVisitor.
Definition at line 22 of file typevisitor.cc.
bool Typelib::TypeVisitor::visit_ | ( | Compound const & | type, |
Field const & | field | ||
) | [protected, virtual] |
Reimplemented in Typelib::ValueVisitor::TypeDispatch, and Typelib::TypeDisplayVisitor.
Definition at line 35 of file typevisitor.cc.