1 //
2 // Copyright (c) 2006, Brian Frank and Andy Frank
3 // Licensed under the Academic Free License version 3.0
4 //
5 // History:
6 // 15 Sep 05 Brian Frank Creation
7 // 3 Jun 06 Brian Frank Ported from Java to Fan - Megan's b-day!
8 // 11 Oct 06 Brian Frank Switch from import keyword to using
9 //
10
11 **
12 ** Using models an using import statement.
13 **
14 class Using : Node
15 {
16
17 //////////////////////////////////////////////////////////////////////////
18 // Construction
19 //////////////////////////////////////////////////////////////////////////
20
21 new make(Location location, Str podName)
22 : super(location)
23 {
24 this.podName = podName
25 }
26
27 //////////////////////////////////////////////////////////////////////////
28 // Debug
29 //////////////////////////////////////////////////////////////////////////
30
31 override Void print(AstWriter out)
32 {
33 out.w(toStr).nl
34 }
35
36 override Str toStr()
37 {
38 s := "using $podName"
39 if (typeName != null) s += "::$typeName"
40 if (asName != null) s += " as $asName"
41 return s
42 }
43
44 //////////////////////////////////////////////////////////////////////////
45 // Fields
46 //////////////////////////////////////////////////////////////////////////
47
48 Str podName // pod name
49 Str typeName // type name or null
50 Str asName // rename if using as
51 CPod resolvedPod // ResolveImports
52 CType resolvedType // ResolveImports
53
54 }
2 // Copyright (c) 2006, Brian Frank and Andy Frank
3 // Licensed under the Academic Free License version 3.0
4 //
5 // History:
6 // 15 Sep 05 Brian Frank Creation
7 // 3 Jun 06 Brian Frank Ported from Java to Fan - Megan's b-day!
8 // 11 Oct 06 Brian Frank Switch from import keyword to using
9 //
10
11 **
12 ** Using models an using import statement.
13 **
14 class Using : Node
15 {
16
17 //////////////////////////////////////////////////////////////////////////
18 // Construction
19 //////////////////////////////////////////////////////////////////////////
20
21 new make(Location location, Str podName)
22 : super(location)
23 {
24 this.podName = podName
25 }
26
27 //////////////////////////////////////////////////////////////////////////
28 // Debug
29 //////////////////////////////////////////////////////////////////////////
30
31 override Void print(AstWriter out)
32 {
33 out.w(toStr).nl
34 }
35
36 override Str toStr()
37 {
38 s := "using $podName"
39 if (typeName != null) s += "::$typeName"
40 if (asName != null) s += " as $asName"
41 return s
42 }
43
44 //////////////////////////////////////////////////////////////////////////
45 // Fields
46 //////////////////////////////////////////////////////////////////////////
47
48 Str podName // pod name
49 Str typeName // type name or null
50 Str asName // rename if using as
51 CPod resolvedPod // ResolveImports
52 CType resolvedType // ResolveImports
53
54 }