mirror of https://git.wuffs.org/MWCC
54 lines
941 B
C
54 lines
941 B
C
#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
|