diff options
-rw-r--r-- | config/list/meta.lst | 1 | ||||
-rw-r--r-- | sources/meta/scalac/ast/TreeFieldLink.java | 54 |
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); + } + } + + //######################################################################## +} |