1 //
2 // Copyright (c) 2007, Brian Frank and Andy Frank
3 // Licensed under the Academic Free License version 3.0
4 //
5 // History:
6 // 30 Aug 07 Brian Frank Creation
7 //
8
9 **
10 ** FacetDef models a facet declaration.
11 **
12 class FacetDef : Node
13 {
14
15 //////////////////////////////////////////////////////////////////////////
16 // Construction
17 //////////////////////////////////////////////////////////////////////////
18
19 new make(Location location, Str name, Expr value)
20 : super(location)
21 {
22 this.name = name
23 this.value = value
24 }
25
26 //////////////////////////////////////////////////////////////////////////
27 // Tree
28 //////////////////////////////////////////////////////////////////////////
29
30 Void walk(Visitor v)
31 {
32 value = value.walk(v)
33 }
34
35 //////////////////////////////////////////////////////////////////////////
36 // Debug
37 //////////////////////////////////////////////////////////////////////////
38
39 override Str toStr()
40 {
41 return "@$name=$value"
42 }
43
44 override Void print(AstWriter out)
45 {
46 out.w("@").w(name).w("=").w(value).nl
47 }
48
49 //////////////////////////////////////////////////////////////////////////
50 // Fields
51 //////////////////////////////////////////////////////////////////////////
52
53 Str name
54 Expr value
55
56 }
2 // Copyright (c) 2007, Brian Frank and Andy Frank
3 // Licensed under the Academic Free License version 3.0
4 //
5 // History:
6 // 30 Aug 07 Brian Frank Creation
7 //
8
9 **
10 ** FacetDef models a facet declaration.
11 **
12 class FacetDef : Node
13 {
14
15 //////////////////////////////////////////////////////////////////////////
16 // Construction
17 //////////////////////////////////////////////////////////////////////////
18
19 new make(Location location, Str name, Expr value)
20 : super(location)
21 {
22 this.name = name
23 this.value = value
24 }
25
26 //////////////////////////////////////////////////////////////////////////
27 // Tree
28 //////////////////////////////////////////////////////////////////////////
29
30 Void walk(Visitor v)
31 {
32 value = value.walk(v)
33 }
34
35 //////////////////////////////////////////////////////////////////////////
36 // Debug
37 //////////////////////////////////////////////////////////////////////////
38
39 override Str toStr()
40 {
41 return "@$name=$value"
42 }
43
44 override Void print(AstWriter out)
45 {
46 out.w("@").w(name).w("=").w(value).nl
47 }
48
49 //////////////////////////////////////////////////////////////////////////
50 // Fields
51 //////////////////////////////////////////////////////////////////////////
52
53 Str name
54 Expr value
55
56 }