#include <typesolver.hh>
Classes | |
struct | NestedTypeDefinition |
struct | UnsupportedClassType |
Public Member Functions | |
virtual void | beginClassDefinition (TypeSpecifier class_type, const std::string &name) |
virtual void | beginEnumDefinition (const std::string &name) |
virtual void | beginFieldDeclaration () |
virtual void | beginTypedef () |
virtual void | classForwardDeclaration (TypeSpecifier ts, DeclSpecifier, const std::string &name) |
virtual void | declaratorArray (int size) |
virtual void | declaratorID (const std::string &name, QualifiedItem) |
void | defineOpaqueAlignment (std::string const &type_name, size_t value) |
virtual void | end_of_stmt () |
virtual void | endClassDefinition () |
virtual void | endEnumDefinition () |
virtual void | endFieldDeclaration () |
virtual void | enterNamespace (std::string const &name) |
virtual void | enumElement (const std::string &name, bool has_value, int value) |
virtual void | exitNamespace () |
virtual void | foundSimpleType (const std::list< std::string > &full_type) |
virtual int | getIntConstant (std::string const &name) |
virtual int | getStackSize () const |
virtual int | getTypeSize (CurrentTypeDefinition const &def) |
virtual void | incrementPointerLevel () |
virtual CurrentTypeDefinition | popType () |
virtual CurrentTypeDefinition & | pushNewType () |
virtual void | resetPointerLevel () |
void | setTemplateArguments (int count) |
void | setupOpaqueHandling (bool forced_alignment, bool ignore) |
TypeSolver (antlr::TokenStream &lexer, Typelib::Registry ®istry, bool cxx_mode) | |
TypeSolver (const antlr::ParserSharedInputState &state, Typelib::Registry ®istry, bool cxx_mode) | |
Private Types | |
typedef std::map< std::string, size_t > | AlignmentMap |
Private Member Functions | |
void | beginTypeDefinition (TypeSpecifier class_type, const std::string &name) |
Typelib::Type & | buildClassObject () |
Typelib::Type const & | buildCurrentType () |
void | setTypename (std::string const &name) |
Private Attributes | |
Typelib::Type * | m_class_object |
TypeSpecifier | m_class_type |
std::map< std::string, int > | m_constants |
std::list< CurrentTypeDefinition > | m_current |
bool | m_cxx_mode |
utilmm::stringlist | m_namespace |
AlignmentMap | m_opaques_alignment |
bool | m_opaques_forced_alignment |
bool | m_opaques_ignore |
Typelib::Registry & | m_registry |
Definition at line 14 of file typesolver.hh.
typedef std::map<std::string, size_t> TypeSolver::AlignmentMap [private] |
Definition at line 31 of file typesolver.hh.
TypeSolver::TypeSolver | ( | antlr::TokenStream & | lexer, |
Typelib::Registry & | registry, | ||
bool | cxx_mode | ||
) |
Definition at line 27 of file typesolver.cc.
TypeSolver::TypeSolver | ( | const antlr::ParserSharedInputState & | state, |
Typelib::Registry & | registry, | ||
bool | cxx_mode | ||
) |
Definition at line 23 of file typesolver.cc.
void TypeSolver::beginClassDefinition | ( | TypeSpecifier | class_type, |
const std::string & | name | ||
) | [virtual] |
Definition at line 80 of file typesolver.cc.
void TypeSolver::beginEnumDefinition | ( | const std::string & | name | ) | [virtual] |
Definition at line 106 of file typesolver.cc.
void TypeSolver::beginFieldDeclaration | ( | ) | [virtual] |
Definition at line 196 of file typesolver.cc.
void TypeSolver::beginTypedef | ( | ) | [virtual] |
Definition at line 144 of file typesolver.cc.
void TypeSolver::beginTypeDefinition | ( | TypeSpecifier | class_type, |
const std::string & | name | ||
) | [private] |
Definition at line 65 of file typesolver.cc.
Type & TypeSolver::buildClassObject | ( | ) | [private] |
Definition at line 169 of file typesolver.cc.
Typelib::Type const & TypeSolver::buildCurrentType | ( | ) | [private] |
Definition at line 242 of file typesolver.cc.
void TypeSolver::classForwardDeclaration | ( | TypeSpecifier | ts, |
DeclSpecifier | ds, | ||
const std::string & | name | ||
) | [virtual] |
Definition at line 215 of file typesolver.cc.
void TypeSolver::declaratorArray | ( | int | size | ) | [virtual] |
Definition at line 419 of file typesolver.cc.
void TypeSolver::declaratorID | ( | const std::string & | name, |
QualifiedItem | qi | ||
) | [virtual] |
Definition at line 323 of file typesolver.cc.
void TypeSolver::defineOpaqueAlignment | ( | std::string const & | type_name, |
size_t | value | ||
) |
Definition at line 36 of file typesolver.cc.
void TypeSolver::end_of_stmt | ( | ) | [virtual] |
Definition at line 427 of file typesolver.cc.
void TypeSolver::endClassDefinition | ( | ) | [virtual] |
Definition at line 86 of file typesolver.cc.
void TypeSolver::endEnumDefinition | ( | ) | [virtual] |
Definition at line 133 of file typesolver.cc.
void TypeSolver::endFieldDeclaration | ( | ) | [virtual] |
Definition at line 201 of file typesolver.cc.
void TypeSolver::enterNamespace | ( | std::string const & | name | ) | [virtual] |
Definition at line 94 of file typesolver.cc.
void TypeSolver::enumElement | ( | const std::string & | name, |
bool | has_value, | ||
int | value | ||
) | [virtual] |
Definition at line 119 of file typesolver.cc.
void TypeSolver::exitNamespace | ( | ) | [virtual] |
Definition at line 100 of file typesolver.cc.
void TypeSolver::foundSimpleType | ( | const std::list< std::string > & | full_type | ) | [virtual] |
Definition at line 205 of file typesolver.cc.
int TypeSolver::getIntConstant | ( | std::string const & | name | ) | [virtual] |
Definition at line 150 of file typesolver.cc.
int TypeSolver::getStackSize | ( | ) | const [virtual] |
Definition at line 321 of file typesolver.cc.
int TypeSolver::getTypeSize | ( | CurrentTypeDefinition const & | def | ) | [virtual] |
Definition at line 159 of file typesolver.cc.
void TypeSolver::incrementPointerLevel | ( | ) | [virtual] |
Definition at line 301 of file typesolver.cc.
TypeSolver::CurrentTypeDefinition TypeSolver::popType | ( | ) | [virtual] |
Definition at line 307 of file typesolver.cc.
TypeSolver::CurrentTypeDefinition & TypeSolver::pushNewType | ( | ) | [virtual] |
Definition at line 316 of file typesolver.cc.
void TypeSolver::resetPointerLevel | ( | ) | [virtual] |
Definition at line 295 of file typesolver.cc.
void TypeSolver::setTemplateArguments | ( | int | count | ) |
Definition at line 434 of file typesolver.cc.
void TypeSolver::setTypename | ( | std::string const & | name | ) | [private] |
Definition at line 42 of file typesolver.cc.
void TypeSolver::setupOpaqueHandling | ( | bool | forced_alignment, |
bool | ignore | ||
) |
Definition at line 31 of file typesolver.cc.
Typelib::Type* TypeSolver::m_class_object [private] |
Definition at line 16 of file typesolver.hh.
TypeSpecifier TypeSolver::m_class_type [private] |
Definition at line 17 of file typesolver.hh.
std::map<std::string, int> TypeSolver::m_constants [private] |
Definition at line 23 of file typesolver.hh.
std::list<CurrentTypeDefinition> TypeSolver::m_current [private] |
Definition at line 21 of file typesolver.hh.
bool TypeSolver::m_cxx_mode [private] |
Definition at line 28 of file typesolver.hh.
utilmm::stringlist TypeSolver::m_namespace [private] |
Definition at line 19 of file typesolver.hh.
AlignmentMap TypeSolver::m_opaques_alignment [private] |
Definition at line 32 of file typesolver.hh.
bool TypeSolver::m_opaques_forced_alignment [private] |
Definition at line 29 of file typesolver.hh.
bool TypeSolver::m_opaques_ignore [private] |
Definition at line 30 of file typesolver.hh.
Typelib::Registry& TypeSolver::m_registry [private] |
Definition at line 26 of file typesolver.hh.