diff options
Diffstat (limited to 'sources/scalac/ast/TreeFactory.java')
-rw-r--r-- | sources/scalac/ast/TreeFactory.java | 155 |
1 files changed, 155 insertions, 0 deletions
diff --git a/sources/scalac/ast/TreeFactory.java b/sources/scalac/ast/TreeFactory.java new file mode 100644 index 0000000000..31ee67042e --- /dev/null +++ b/sources/scalac/ast/TreeFactory.java @@ -0,0 +1,155 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +** ** +** $Id$ +\* */ + +package scalac.ast; + +import scalac.util.Name; +import Tree.*; + +public interface TreeFactory { + + public Tree Bad(int pos); + + public Tree ClassDef(int pos, + int mods, + Name name, + TypeDef[] tparams, + ValDef[][] vparams, + Tree tpe, + Template impl); + + public Tree PackageDef(int pos, + Tree packaged, + Template impl); + + public Tree ModuleDef(int pos, + int mods, + Name name, + Tree tpe, + Template impl); + + public Tree ValDef(int pos, + int mods, + Name name, + Tree tpe, + Tree rhs); + + public Tree PatDef(int pos, + int mods, + Tree pat, + Tree rhs); + + public Tree DefDef(int pos, + int mods, + Name name, + TypeDef[] tparams, + ValDef[][] vparams, + Tree tpe, + Tree rhs); + + public Tree TypeDef(int pos, + int mods, + Name name, + TypeDef[] tparams, + Tree rhs); + + public Tree Import(int pos, + Tree expr, + Name[] selectors); + + public CaseDef CaseDef(int pos, + Tree pat, + Tree guard, + Tree body); + + public Template Template(int pos, + Tree[] baseClasses, + Tree[] body); + + public Tree LabelDef(int pos, + Tree[] params, + Tree rhs); + + public Tree Block(int pos, + Tree[] stats); + + public Tree Tuple(int pos, + Tree[] trees); + + public Tree Visitor(int pos, + CaseDef[] cases); + + public Tree Function(int pos, + ValDef[] vparams, + Tree body); + + public Tree Assign(int pos, + Tree lhs, + Tree rhs); + + public Tree If(int pos, + Tree cond, + Tree thenp, + Tree elsep); + + public Tree New(int pos, + Template templ); + + public Tree Typed(int pos, + Tree expr, + Tree tpe); + + public Tree TypeApply(int pos, + Tree fun, + Tree[] tparams); + + public Tree Apply(int pos, + Tree fun, + Tree[] vparam); + + public Tree Super(int pos, + Tree tpe); + + public Tree This(int pos, + Tree qualifier); + + public Tree Select(int pos, + Tree qualifier, + Name selector); + + public Tree Ident(int pos, + Name name); + + public Tree Literal(int pos, + Object value); + + public Tree SingletonType(int pos, + Tree ref); + + public Tree SelectFromType(int pos, + Tree qualifier, + Name selector); + + public Tree FunType(int pos, + Tree[] argtpes, + Tree restpe); + + public Tree CompoundType(int pos, + Tree[] baseTypes, + Tree[] refinements); + + public Tree TupleType(int pos, + Tree[] types); + + public Tree AppliedType(int pos, + Tree tpe, + Tree[] args); + + public Tree CovariantType(int pos, + Tree tpe); +} |