MWCC/includes/compiler/scopes.h

54 lines
941 B
C
Raw Normal View History

2022-10-25 19:30:28 +00:00
#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