
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 }