diff options
Diffstat (limited to 'includes/compiler/scopes.h')
-rw-r--r-- | includes/compiler/scopes.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/includes/compiler/scopes.h b/includes/compiler/scopes.h new file mode 100644 index 0000000..ea2ae98 --- /dev/null +++ b/includes/compiler/scopes.h @@ -0,0 +1,53 @@ +#ifndef COMPILER_SCOPES_H +#define COMPILER_SCOPES_H + +#include "compiler/common.h" + +#ifdef __MWERKS__ +#pragma options align=mac68k +#endif + +struct NameSpace { + NameSpace *parent; + HashNameNode *name; + NameSpaceList *usings; + TypeClass *theclass; + NameSpaceName *tparams; + union { + NameSpaceName **hash; + NameSpaceName *list; + } data; + UInt32 names; + Boolean is_hash; + Boolean is_global; + Boolean is_unnamed; + Boolean is_templ; +}; + +struct NameSpaceList { + NameSpaceList *next; + NameSpace *nspace; +}; + +struct NameSpaceObjectList { + NameSpaceObjectList *next; + ObjBase *object; +}; + +struct NameSpaceName { + NameSpaceName *next; + HashNameNode *name; + NameSpaceObjectList first; +}; + +struct NameSpaceLookupList { // assumed name + NameSpaceLookupList *next; + NameSpace *nspace; + NameSpaceList *namespaces; +}; + +#ifdef __MWERKS__ +#pragma options align=reset +#endif + +#endif |