Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes
TypeSolver Class Reference

#include <typesolver.hh>

List of all members.

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 &registry, bool cxx_mode)
 TypeSolver (const antlr::ParserSharedInputState &state, Typelib::Registry &registry, 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::TypebuildClassObject ()
Typelib::Type const & buildCurrentType ()
void setTypename (std::string const &name)

Private Attributes

Typelib::Typem_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::Registrym_registry

Detailed Description

Definition at line 14 of file typesolver.hh.


Member Typedef Documentation

typedef std::map<std::string, size_t> TypeSolver::AlignmentMap [private]

Definition at line 31 of file typesolver.hh.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.

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.

Definition at line 169 of file typesolver.cc.

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.

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.


Member Data Documentation

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.

Definition at line 19 of file typesolver.hh.

Definition at line 32 of file typesolver.hh.

Definition at line 29 of file typesolver.hh.

Definition at line 30 of file typesolver.hh.

Definition at line 26 of file typesolver.hh.


The documentation for this class was generated from the following files:


typelib
Author(s): Sylvain Joyeux/sylvain.joyeux@m4x.org
autogenerated on Thu Jan 2 2014 11:38:41