0
|
1 module dmd.AlignDeclaration;
|
|
2
|
|
3 import dmd.AttribDeclaration;
|
|
4 import dmd.OutBuffer;
|
|
5 import dmd.HdrGenState;
|
|
6 import dmd.Scope;
|
|
7 import dmd.Dsymbol;
|
|
8 import dmd.Array;
|
|
9
|
|
10 class AlignDeclaration : AttribDeclaration
|
|
11 {
|
|
12 uint salign;
|
|
13
|
|
14 this(uint sa, Array decl)
|
|
15 {
|
|
16 super(decl);
|
|
17 salign = sa;
|
|
18 }
|
|
19
|
72
|
20 override Dsymbol syntaxCopy(Dsymbol s)
|
0
|
21 {
|
|
22 assert(false);
|
|
23 }
|
|
24
|
72
|
25 override void setScope(Scope sc)
|
0
|
26 {
|
|
27 //printf("\tAlignDeclaration::setScope '%s'\n",toChars());
|
|
28 if (decl)
|
|
29 {
|
|
30 setScopeNewSc(sc, sc.stc, sc.linkage, sc.protection, sc.explicitProtection, salign);
|
|
31 }
|
|
32 }
|
|
33
|
72
|
34 override void semantic(Scope sc)
|
0
|
35 {
|
|
36 //printf("\tAlignDeclaration::semantic '%s'\n",toChars());
|
|
37 if (decl)
|
|
38 {
|
|
39 semanticNewSc(sc, sc.stc, sc.linkage, sc.protection, sc.explicitProtection, salign);
|
|
40 }
|
|
41 }
|
|
42
|
72
|
43 override void toCBuffer(OutBuffer buf, HdrGenState* hgs)
|
0
|
44 {
|
|
45 assert(false);
|
|
46 }
|
72
|
47 }
|