KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > polyglot > ext > jl > ast > PackageNode_c


1 package polyglot.ext.jl.ast;
2
3 import polyglot.ast.*;
4 import polyglot.types.*;
5 import polyglot.visit.*;
6 import polyglot.util.*;
7 import polyglot.types.Package;
8
9 /**
10  * A <code>PackageNode</code> is the syntactic representation of a
11  * Java package within the abstract syntax tree.
12  */

13 public class PackageNode_c extends Node_c implements PackageNode
14 {
15     protected Package JavaDoc package_;
16
17     public PackageNode_c(Position pos, Package JavaDoc package_) {
18     super(pos);
19     this.package_ = package_;
20     }
21
22     /** Get the package as a qualifier. */
23     public Qualifier qualifier() {
24         return this.package_;
25     }
26
27     /** Get the package. */
28     public Package JavaDoc package_() {
29     return this.package_;
30     }
31
32     /** Set the package. */
33     public PackageNode package_(Package JavaDoc package_) {
34     PackageNode_c n = (PackageNode_c) copy();
35     n.package_ = package_;
36     return n;
37     }
38
39     /** Write the package name to an output file. */
40     public void prettyPrint(CodeWriter w, PrettyPrinter tr) {
41         if (package_ == null) {
42             w.write("<unknown-package>");
43         }
44         else {
45             w.write(package_.toString());
46         }
47     }
48
49     public void translate(CodeWriter w, Translator tr) {
50         w.write(tr.typeSystem().translatePackage(tr.context(), package_));
51     }
52
53     public String JavaDoc toString() {
54         return package_.toString();
55     }
56 }
57
Popular Tags