Mercurial > projects > ldc
comparison dmd/scope.h @ 1367:8026319762be
Merged DMD 1.045 !!!
author | Tomas Lindquist Olsen <tomas.l.olsen gmail com> |
---|---|
date | Sat, 16 May 2009 22:21:31 +0200 |
parents | e961851fb8be |
children | def7a1d494fd |
comparison
equal
deleted
inserted
replaced
1366:81121ac19f61 | 1367:8026319762be |
---|---|
10 #ifndef DMD_SCOPE_H | 10 #ifndef DMD_SCOPE_H |
11 #define DMD_SCOPE_H | 11 #define DMD_SCOPE_H |
12 | 12 |
13 #ifdef __DMC__ | 13 #ifdef __DMC__ |
14 #pragma once | 14 #pragma once |
15 #endif /* __DMC__ */ | 15 #endif |
16 | 16 |
17 struct Dsymbol; | 17 struct Dsymbol; |
18 struct ScopeDsymbol; | 18 struct ScopeDsymbol; |
19 struct Array; | 19 struct Array; |
20 struct Identifier; | 20 struct Identifier; |
27 struct ClassDeclaration; | 27 struct ClassDeclaration; |
28 struct AggregateDeclaration; | 28 struct AggregateDeclaration; |
29 struct AnonymousAggregateDeclaration; | 29 struct AnonymousAggregateDeclaration; |
30 struct FuncDeclaration; | 30 struct FuncDeclaration; |
31 struct DocComment; | 31 struct DocComment; |
32 struct TemplateInstance; | |
33 | |
34 #if IN_LLVM | |
32 struct EnclosingHandler; | 35 struct EnclosingHandler; |
33 struct AnonDeclaration; | 36 struct AnonDeclaration; |
37 #endif | |
34 | 38 |
35 #if __GNUC__ | 39 #if __GNUC__ |
40 // Requires a full definition for PROT and LINK | |
36 #include "dsymbol.h" // PROT | 41 #include "dsymbol.h" // PROT |
37 #include "mars.h" // LINK | 42 #include "mars.h" // LINK |
38 #else | 43 #else |
39 enum LINK; | 44 enum LINK; |
40 enum PROT; | 45 enum PROT; |
51 FuncDeclaration *func; // function we are in | 56 FuncDeclaration *func; // function we are in |
52 Dsymbol *parent; // parent to use | 57 Dsymbol *parent; // parent to use |
53 LabelStatement *slabel; // enclosing labelled statement | 58 LabelStatement *slabel; // enclosing labelled statement |
54 SwitchStatement *sw; // enclosing switch statement | 59 SwitchStatement *sw; // enclosing switch statement |
55 TryFinallyStatement *enclosingFinally; // enclosing try finally statement; set inside its finally block | 60 TryFinallyStatement *enclosingFinally; // enclosing try finally statement; set inside its finally block |
61 TemplateInstance *tinst; // enclosing template instance | |
56 Statement *enclosingScopeExit; // enclosing statement that wants to do something on scope exit | 62 Statement *enclosingScopeExit; // enclosing statement that wants to do something on scope exit |
57 TemplateInstance *tinst; // enclosing template instance | |
58 Statement *sbreak; // enclosing statement that supports "break" | 63 Statement *sbreak; // enclosing statement that supports "break" |
59 Statement *scontinue; // enclosing statement that supports "continue" | 64 Statement *scontinue; // enclosing statement that supports "continue" |
60 ForeachStatement *fes; // if nested function for ForeachStatement, this is it | 65 ForeachStatement *fes; // if nested function for ForeachStatement, this is it |
61 unsigned offset; // next offset to use in aggregate | 66 unsigned offset; // next offset to use in aggregate |
62 int inunion; // we're processing members of a union | 67 int inunion; // we're processing members of a union |