summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/list/meta.lst1
-rw-r--r--sources/meta/scalac/ast/TreeFieldLink.java54
2 files changed, 55 insertions, 0 deletions
diff --git a/config/list/meta.lst b/config/list/meta.lst
index 33a5c6f84a..d603285c1f 100644
--- a/config/list/meta.lst
+++ b/config/list/meta.lst
@@ -35,6 +35,7 @@ scalac/ast/MetaTreeFactory.java
scalac/ast/Tree.java
scalac/ast/TreeField.java
+scalac/ast/TreeFieldLink.java
scalac/ast/TreeKind.java
scalac/ast/TreeNode.java
scalac/ast/TreeSymbol.java
diff --git a/sources/meta/scalac/ast/TreeFieldLink.java b/sources/meta/scalac/ast/TreeFieldLink.java
new file mode 100644
index 0000000000..b338ccd6eb
--- /dev/null
+++ b/sources/meta/scalac/ast/TreeFieldLink.java
@@ -0,0 +1,54 @@
+/* ____ ____ ____ ____ ______ *\
+** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala **
+** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL **
+** /_____/\____/\___/\____/____/ **
+\* */
+
+// $Id$
+
+package meta.scalac.ast;
+
+/**
+ * This class describes the possible links between a given field of a
+ * tree and the symbol of that tree.
+ */
+public class TreeFieldLink {
+
+ //########################################################################
+ // Public Cases
+
+ /** Field is linked to the symbol's flags */
+ public case SymFlags;
+
+ /** Field is linked to the symbol's name */
+ public case SymName;
+
+ //########################################################################
+ // Public Methods
+
+ /** Returns the field or method to invoke to get the linked value. */
+ public String getLink() {
+ switch (this) {
+ case SymFlags:
+ return "flags";
+ case SymName:
+ return "name";
+ default:
+ throw new Error("unknown case: " + this);
+ }
+ }
+
+ /** Returns the name of this link. */
+ public String toString() {
+ switch (this) {
+ case SymFlags:
+ return "flags";
+ case SymName:
+ return "name";
+ default:
+ throw new Error("unknown case: " + this);
+ }
+ }
+
+ //########################################################################
+}