diff options
author | paltherr <paltherr@epfl.ch> | 2003-04-14 16:31:03 +0000 |
---|---|---|
committer | paltherr <paltherr@epfl.ch> | 2003-04-14 16:31:03 +0000 |
commit | c8bea29c67aff96acca6b28aa859978f2b4d872f (patch) | |
tree | 1cd8b16b90840e3bf6e69cf6e3513c8927e81618 /sources/scalac/ast | |
parent | e51cf921ec19401f8e917255118a1a53e7c6520d (diff) | |
download | scala-c8bea29c67aff96acca6b28aa859978f2b4d872f.tar.gz scala-c8bea29c67aff96acca6b28aa859978f2b4d872f.tar.bz2 scala-c8bea29c67aff96acca6b28aa859978f2b4d872f.zip |
- Added automatic generation of TreeCopier.java
- Added automatic generation of LazyTreeCopier.java Added automatic
- generation of StrictTreeCopier.java
Diffstat (limited to 'sources/scalac/ast')
-rw-r--r-- | sources/scalac/ast/.cvsignore | 3 | ||||
-rw-r--r-- | sources/scalac/ast/LazyTreeCopier.java.tmpl | 37 | ||||
-rw-r--r-- | sources/scalac/ast/LazyTreeFactory.java | 422 | ||||
-rw-r--r-- | sources/scalac/ast/StrictTreeCopier.java.tmpl | 34 | ||||
-rw-r--r-- | sources/scalac/ast/StrictTreeFactory.java | 323 | ||||
-rw-r--r-- | sources/scalac/ast/TreeCopier.java.tmpl | 26 | ||||
-rw-r--r-- | sources/scalac/ast/TreeCopyFactory.java | 163 |
7 files changed, 100 insertions, 908 deletions
diff --git a/sources/scalac/ast/.cvsignore b/sources/scalac/ast/.cvsignore index 5d1eae05d7..c631426a7c 100644 --- a/sources/scalac/ast/.cvsignore +++ b/sources/scalac/ast/.cvsignore @@ -1,2 +1,5 @@ DefaultTreeFactory.java +LazyTreeCopier.java +StrictTreeCopier.java +TreeCopier.java TreeFactory.java diff --git a/sources/scalac/ast/LazyTreeCopier.java.tmpl b/sources/scalac/ast/LazyTreeCopier.java.tmpl new file mode 100644 index 0000000000..31608580ab --- /dev/null +++ b/sources/scalac/ast/LazyTreeCopier.java.tmpl @@ -0,0 +1,37 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +\* */ + +// $Id$ + +package scalac.ast; + +{#Imports#} + +/** + * A tree copier that returns a new tree only if some fields have + * changed + */ +public class LazyTreeCopier implements TreeCopier { + + //######################################################################## + // Protected Fields + + protected final TreeFactory make; + + //######################################################################## + // Public Constructors + + public LazyTreeCopier(TreeFactory make) { + this.make = make; + } + + //######################################################################## + // Public Methods + + {#TreeMethods#} + + //######################################################################## +} diff --git a/sources/scalac/ast/LazyTreeFactory.java b/sources/scalac/ast/LazyTreeFactory.java deleted file mode 100644 index 701ffc69a7..0000000000 --- a/sources/scalac/ast/LazyTreeFactory.java +++ /dev/null @@ -1,422 +0,0 @@ -/* ____ ____ ____ ____ ______ *\ -** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** -** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** -** /_____/\____/\___/\____/____/ ** -** ** -** $Id$ -\* */ - -package scalac.ast; - -import scalac.util.Name; -import Tree.*; - -public class LazyTreeCopier extends AbstractTreeCopier { - protected final TreeFactory make; - - public LazyTreeCopier(TreeFactory make) { - this.make = make; - } - - public Tree Bad(Tree tree) { - return tree; - } - - public Tree ClassDef(Tree tree, - int mods, - Name name, - TypeDef[] tparams, - ValDef[][] vparams, - Tree tpe, - Template impl) { - ClassDef t = (ClassDef)tree; - if ((t.mods == mods) && - (t.name == name) && - (t.tparams == tparams) && - (t.vparams == vparams) && - (t.tpe == tpe) && - (t.impl == impl)) - return t; - tree = make.ClassDef(t.pos, mods, name, tparams, vparams, tpe, impl); - attribute(tree, t); - return tree; - } - - public Tree PackageDef(Tree tree, - Tree packaged, - Template impl) { - PackageDef t = (PackageDef)tree; - if ((t.packaged == packaged) && - (t.impl == impl)) - return t; - tree = make.PackageDef(t.pos, packaged, impl); - attribute(tree, t); - return tree; - } - - public Tree ModuleDef(Tree tree, - int mods, - Name name, - Tree tpe, - Template impl) { - ModuleDef t = (ModuleDef)tree; - if ((t.mods == mods) && - (t.name == name) && - (t.tpe == tpe) && - (t.impl == impl)) - return t; - tree = make.ModuleDef(t.pos, mods, name, tpe, impl); - attribute(tree, t); - return tree; - } - - public Tree ValDef(Tree tree, - int mods, - Name name, - Tree tpe, - Tree rhs) { - ValDef t = (ValDef)tree; - if ((t.mods == mods) && - (t.name == name) && - (t.tpe == tpe) && - (t.rhs == rhs)) - return t; - tree = make.ValDef(t.pos, mods, name, tpe, rhs); - attribute(tree, t); - return tree; - } - - public Tree PatDef(Tree tree, - int mods, - Tree pat, - Tree rhs) { - PatDef t = (PatDef)tree; - if ((t.mods == mods) && - (t.pat == pat) && - (t.rhs == rhs)) - return t; - tree = make.PatDef(t.pos, mods, pat, rhs); - attribute(tree, t); - return tree; - } - - public Tree DefDef(Tree tree, - int mods, - Name name, - TypeDef[] tparams, - ValDef[][] vparams, - Tree tpe, - Tree rhs) { - DefDef t = (DefDef)tree; - if ((t.mods == mods) && - (t.name == name) && - (t.tparams == tparams) && - (t.vparams == vparams) && - (t.tpe == tpe) && - (t.rhs == rhs)) - return t; - tree = make.DefDef(t.pos, mods, name, tparams, vparams, tpe, rhs); - attribute(tree, t); - return tree; - } - - public Tree TypeDef(Tree tree, - int mods, - Name name, - Tree rhs) { - TypeDef t = (TypeDef)tree; - if ((t.mods == mods) && - (t.name == name) && - (t.rhs == rhs)) - return t; - tree = make.TypeDef(t.pos, mods, name, rhs); - attribute(tree, t); - return tree; - } - - public Tree Import(Tree tree, - Tree expr, - Name[] selectors) { - Import t = (Import)tree; - if (t.expr == expr && t.selectors == selectors) - return t; - tree = make.Import(t.pos, expr, selectors); - attribute(tree, t); - return tree; - } - - public Tree CaseDef(Tree tree, - Tree pat, - Tree guard, - Tree body) { - CaseDef t = (CaseDef)tree; - if ((t.pat == pat) && - (t.guard == guard) && - (t.body == body)) - return t; - tree = make.CaseDef(t.pos, pat, guard, body); - attribute(tree, t); - return tree; - } - - public Template Template(Tree tree, - Tree[] parents, - Tree[] body) { - Template t = (Template)tree; - if ((t.parents == parents) && - (t.body == body)) - return t; - Template newTree = make.Template(t.pos, parents, body); - attribute(newTree, t); - return newTree; - } - - public Tree LabelDef(Tree tree, - Tree[] params, - Tree rhs) { - LabelDef t = (LabelDef)tree; - if ((t.params == params) && - (t.rhs == rhs)) - return t; - tree = make.LabelDef(t.pos,params,rhs); - attribute(tree,t); - return tree; - } - - public Tree Block(Tree tree, - Tree[] stats) { - Block t = (Block)tree; - if (t.stats == stats) - return t; - tree = make.Block(t.pos, stats); - attribute(tree, t); - return tree; - } - - public Tree Tuple(Tree tree, - Tree[] trees) { - Tuple t = (Tuple)tree; - if (t.trees == trees) - return t; - tree = make.Tuple(t.pos, trees); - attribute(tree, t); - return tree; - } - - public Tree Visitor(Tree tree, - CaseDef[] cases) { - Visitor t = (Visitor)tree; - if (t.cases == cases) - return t; - tree = make.Visitor(t.pos, cases); - attribute(tree, t); - return tree; - } - - public Tree Function(Tree tree, - ValDef[] vparams, - Tree body) { - Function t = (Function)tree; - if ((t.vparams == vparams) && - (t.body == body)) - return t; - tree = make.Function(t.pos, vparams, body); - attribute(tree, t); - return tree; - } - - public Tree Assign(Tree tree, - Tree lhs, - Tree rhs) { - Assign t = (Assign)tree; - if ((t.lhs == lhs) && - (t.rhs == rhs)) - return t; - tree = make.Assign(t.pos, lhs, rhs); - attribute(tree, t); - return tree; - } - - public Tree If(Tree tree, - Tree cond, - Tree thenp, - Tree elsep) { - If t = (If)tree; - if ((t.cond == cond) && - (t.thenp == thenp) && - (t.elsep == elsep)) - return t; - tree = make.If(t.pos, cond, thenp, elsep); - attribute(tree, t); - return tree; - } - - public Tree New(Tree tree, - Template templ) { - New t = (New)tree; - if (t.templ == templ) - return t; - tree = make.New(t.pos, templ); - attribute(tree, t); - return tree; - } - - public Tree Typed(Tree tree, - Tree expr, - Tree tpe) { - Typed t = (Typed)tree; - if ((t.expr == expr) && - (t.tpe == tpe)) - return t; - tree = make.Typed(t.pos, expr, tpe); - attribute(tree, t); - return tree; - } - - public Tree TypeApply(Tree tree, - Tree fun, - Tree[] args) { - TypeApply t = (TypeApply)tree; - if ((t.fun == fun) && - (t.args == args)) - return t; - tree = make.TypeApply(t.pos, fun, args); - attribute(tree, t); - return tree; - } - - public Tree Apply(Tree tree, - Tree fun, - Tree[] args) { - Apply t = (Apply)tree; - if ((t.fun == fun) && - (t.args == args)) - return t; - tree = make.Apply(t.pos, fun, args); - attribute(tree, t); - return tree; - } - - public Tree Super(Tree tree, - Tree tpe) { - Super t = (Super)tree; - if (t.tpe == tpe) - return t; - tree = make.Super(t.pos, tpe); - attribute(tree, t); - return tree; - } - - public Tree This(Tree tree, - Tree qualifier) { - This t = (This)tree; - if (t.qualifier == qualifier) - return t; - tree = make.This(t.pos, qualifier); - attribute(tree, t); - return tree; - } - - public Tree Select(Tree tree, - Tree qualifier, - Name selector) { - Select t = (Select)tree; - if ((t.qualifier == qualifier) && - (t.selector == selector)) - return t; - tree = make.Select(t.pos, qualifier, selector); - attribute(tree, t); - return tree; - } - - public Tree Ident(Tree tree, - Name name) { - Ident t = (Ident)tree; - if (t.name == name) - return t; - tree = make.Ident(t.pos, name); - attribute(tree, t); - return tree; - } - - public Tree Literal(Tree tree, - Object value) { - Literal t = (Literal)tree; - if (t.value == value) - return t; - tree = make.Literal(t.pos, value); - attribute(tree, t); - return tree; - } - - public Tree TypeTerm(Tree tree) { - return tree; - } - - public Tree SingletonType(Tree tree, - Tree ref) { - SingletonType t = (SingletonType)tree; - if (t.ref == ref) - return t; - tree = make.SingletonType(t.pos, ref); - attribute(tree, t); - return tree; - } - - public Tree SelectFromType(Tree tree, - Tree qualifier, - Name selector) { - SelectFromType t = (SelectFromType)tree; - if (t.qualifier == qualifier && - t.selector == selector) - return t; - tree = make.SelectFromType(t.pos, qualifier, selector); - attribute(tree, t); - return tree; - } - - public Tree FunType(Tree tree, - Tree[] argtpes, - Tree restpe) { - FunType t = (FunType)tree; - if ((t.argtpes == argtpes) && - (t.restpe == restpe)) - return t; - tree = make.FunType(t.pos, argtpes, restpe); - attribute(tree, t); - return tree; - } - - public Tree CompoundType(Tree tree, - Tree[] parents, - Tree[] refinements) { - CompoundType t = (CompoundType)tree; - if ((t.parents == parents) && - (t.refinements == refinements)) - return t; - tree = make.CompoundType(t.pos, parents, refinements); - attribute(tree, t); - return tree; - } - - public Tree AppliedType(Tree tree, - Tree tpe, - Tree[] args) { - AppliedType t = (AppliedType)tree; - if ((t.tpe == tpe) && - (t.args == args)) - return t; - tree = make.AppliedType(t.pos, tpe, args); - attribute(tree, t); - return tree; - } - - public Tree CovariantType(Tree tree, - Tree tpe) { - CovariantType t = (CovariantType)tree; - if (t.tpe == tpe) return t; - tree = make.CovariantType(t.pos, tpe); - attribute(tree, t); - return tree; - } -} diff --git a/sources/scalac/ast/StrictTreeCopier.java.tmpl b/sources/scalac/ast/StrictTreeCopier.java.tmpl new file mode 100644 index 0000000000..88ea139eef --- /dev/null +++ b/sources/scalac/ast/StrictTreeCopier.java.tmpl @@ -0,0 +1,34 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +\* */ + +// $Id$ + +package scalac.ast; + +{#Imports#} + +/** A tree copier that returns always a new tree */ +public class StrictTreeCopier implements TreeCopier { + + //######################################################################## + // Protected Fields + + protected final TreeFactory make; + + //######################################################################## + // Public Constructors + + public StrictTreeCopier(TreeFactory make) { + this.make = make; + } + + //######################################################################## + // Public Methods + + {#TreeMethods#} + + //######################################################################## +} diff --git a/sources/scalac/ast/StrictTreeFactory.java b/sources/scalac/ast/StrictTreeFactory.java deleted file mode 100644 index 8abfa3e811..0000000000 --- a/sources/scalac/ast/StrictTreeFactory.java +++ /dev/null @@ -1,323 +0,0 @@ -/* ____ ____ ____ ____ ______ *\ -** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** -** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** -** /_____/\____/\___/\____/____/ ** -** ** -\* */ - -// $OldId: StrictTreeFactory.java,v 1.6 2002/04/19 10:57:23 gamboni Exp $ -// $Id$ - -package scalac.ast; - -import scalac.util.Name; -import Tree.*; - -public class StrictTreeCopier extends AbstractTreeCopier { - protected final TreeFactory make; - - public StrictTreeCopier(TreeFactory make) { - this.make = make; - } - - public Tree Bad(Tree tree) { - return tree; - } - - public Tree ClassDef(Tree tree, - int mods, - Name name, - TypeDef[] tparams, - ValDef[][] vparams, - Tree tpe, - Template impl) { - ClassDef t = (ClassDef)tree; - tree = make.ClassDef(t.pos, mods, name, tparams, vparams, tpe, impl); - attribute(tree, t); - return tree; - } - - public Tree PackageDef(Tree tree, - Tree packaged, - Template impl) { - PackageDef t = (PackageDef)tree; - tree = make.PackageDef(t.pos, packaged, impl); - attribute(tree, t); - return tree; - } - - public Tree ModuleDef(Tree tree, - int mods, - Name name, - Tree tpe, - Template impl) { - ModuleDef t = (ModuleDef)tree; - tree = make.ModuleDef(t.pos, mods, name, tpe, impl); - attribute(tree, t); - return tree; - } - - public Tree ValDef(Tree tree, - int mods, - Name name, - Tree tpe, - Tree rhs) { - ValDef t = (ValDef)tree; - tree = make.ValDef(t.pos, mods, name, tpe, rhs); - attribute(tree, t); - return tree; - } - - public Tree PatDef(Tree tree, - int mods, - Tree pat, - Tree rhs) { - PatDef t = (PatDef)tree; - tree = make.PatDef(t.pos, mods, pat, rhs); - attribute(tree, t); - return tree; - } - - public Tree DefDef(Tree tree, - int mods, - Name name, - TypeDef[] tparams, - ValDef[][] vparams, - Tree tpe, - Tree rhs) { - DefDef t = (DefDef)tree; - tree = make.DefDef(t.pos, mods, name, tparams, vparams, tpe, rhs); - attribute(tree, t); - return tree; - } - - public Tree TypeDef(Tree tree, - int mods, - Name name, - Tree rhs) { - TypeDef t = (TypeDef)tree; - tree = make.TypeDef(t.pos, mods, name, rhs); - attribute(tree, t); - return tree; - } - - public Tree Import(Tree tree, - Tree expr, - Name[] selectors) { - Import t = (Import)tree; - tree = make.Import(t.pos, expr, selectors); - attribute(tree, t); - return tree; - } - - public Tree CaseDef(Tree tree, - Tree pat, - Tree guard, - Tree body) { - CaseDef t = (CaseDef)tree; - tree = make.CaseDef(t.pos, pat, guard, body); - attribute(tree, t); - return tree; - } - - public Template Template(Tree tree, - Tree[] baseClasses, - Tree[] body) { - Template t = (Template)tree; - Template newTree = make.Template(t.pos, baseClasses, body); - attribute(newTree, t); - return newTree; - } - - public Tree LabelDef(Tree tree, - Tree[] params, - Tree rhs) { - LabelDef t = (LabelDef)tree; - tree = make.LabelDef(t.pos,params,rhs); - attribute(tree,t); - return tree; - } - - public Tree Block(Tree tree, - Tree[] stats) { - Block t = (Block)tree; - tree = make.Block(t.pos, stats); - attribute(tree, t); - return tree; - } - - public Tree Tuple(Tree tree, - Tree[] trees) { - Tuple t = (Tuple)tree; - tree = make.Tuple(t.pos, trees); - attribute(tree, t); - return tree; - } - - public Tree Visitor(Tree tree, - CaseDef[] cases) { - Visitor t = (Visitor)tree; - tree = make.Visitor(t.pos, cases); - attribute(tree, t); - return tree; - } - - public Tree Function(Tree tree, - ValDef[] vparams, - Tree body) { - Function t = (Function)tree; - tree = make.Function(t.pos, vparams, body); - attribute(tree, t); - return tree; - } - - public Tree Assign(Tree tree, - Tree lhs, - Tree rhs) { - Assign t = (Assign)tree; - tree = make.Assign(t.pos, lhs, rhs); - attribute(tree, t); - return tree; - } - - public Tree If(Tree tree, - Tree cond, - Tree thenp, - Tree elsep) { - If t = (If)tree; - tree = make.If(t.pos, cond, thenp, elsep); - attribute(tree, t); - return tree; - } - - public Tree New(Tree tree, - Template templ) { - New t = (New)tree; - tree = make.New(t.pos, templ); - attribute(tree, t); - return tree; - } - - public Tree Typed(Tree tree, - Tree expr, - Tree tpe) { - Typed t = (Typed)tree; - tree = make.Typed(t.pos, expr, tpe); - attribute(tree, t); - return tree; - } - - public Tree TypeApply(Tree tree, - Tree fun, - Tree[] args) { - TypeApply t = (TypeApply)tree; - tree = make.TypeApply(t.pos, fun, args); - attribute(tree, t); - return tree; - } - - public Tree Apply(Tree tree, - Tree fun, - Tree[] args) { - Apply t = (Apply)tree; - tree = make.Apply(t.pos, fun, args); - attribute(tree, t); - return tree; - } - - public Tree This(Tree tree, Tree qualifier) { - This t = (This)tree; - tree = make.This(t.pos, qualifier); - attribute(tree, t); - return tree; - } - - public Tree Super(Tree tree, - Tree tpe) { - Super t = (Super)tree; - tree = make.Super(t.pos, tpe); - attribute(tree, t); - return tree; - } - - public Tree Select(Tree tree, - Tree qualifier, - Name selector) { - Select t = (Select)tree; - tree = make.Select(t.pos, qualifier, selector); - attribute(tree, t); - return tree; - } - - public Tree Ident(Tree tree, - Name name) { - Ident t = (Ident)tree; - tree = make.Ident(t.pos, name); - attribute(tree, t); - return tree; - } - - public Tree Literal(Tree tree, - Object value) { - Literal t = (Literal)tree; - tree = make.Literal(t.pos, value); - attribute(tree, t); - return tree; - } - - public Tree TypeTerm(Tree tree) { - TypeTerm t = (TypeTerm) tree; - tree = make.TypeTerm(t.pos); - attribute(tree, t); - return tree; - } - - public Tree SingletonType(Tree tree, Tree ref) { - SingletonType t = (SingletonType)tree; - tree = make.SingletonType(t.pos, ref); - attribute(tree, t); - return tree; - } - - public Tree SelectFromType(Tree tree, Tree qualifier, Name selector) { - SelectFromType t = (SelectFromType)tree; - tree = make.SelectFromType(t.pos, qualifier, selector); - attribute(tree, t); - return tree; - } - - public Tree FunType(Tree tree, - Tree[] argtpe, - Tree restpe) { - FunType t = (FunType)tree; - tree = make.FunType(t.pos, argtpe, restpe); - attribute(tree, t); - return tree; - } - - public Tree CompoundType(Tree tree, - Tree[] baseTypes, - Tree[] refinements) { - CompoundType t = (CompoundType)tree; - tree = make.CompoundType(t.pos, baseTypes, refinements); - attribute(tree, t); - return tree; - } - - public Tree CovariantType(Tree tree, - Tree clazz) { - CovariantType t = (CovariantType)tree; - tree = make.CovariantType(t.pos, clazz); - attribute(tree, t); - return tree; - } - - public Tree AppliedType(Tree tree, - Tree tpe, - Tree[] args) { - AppliedType t = (AppliedType)tree; - tree = make.AppliedType(t.pos, tpe, args); - attribute(tree, t); - return tree; - } -} diff --git a/sources/scalac/ast/TreeCopier.java.tmpl b/sources/scalac/ast/TreeCopier.java.tmpl new file mode 100644 index 0000000000..27a9cf476e --- /dev/null +++ b/sources/scalac/ast/TreeCopier.java.tmpl @@ -0,0 +1,26 @@ +/* ____ ____ ____ ____ ______ *\ +** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** +** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** +** /_____/\____/\___/\____/____/ ** +\* */ + +// $Id$ + +package scalac.ast; + +{#Imports#} + +/** + * Interface for a kind of factory which, for each node constructor, + * takes an original node from which some data will be copied or + * shared. + */ +public interface TreeCopier { + + //######################################################################## + // Public Methods + + {#TreeMethods#} + + //######################################################################## +} diff --git a/sources/scalac/ast/TreeCopyFactory.java b/sources/scalac/ast/TreeCopyFactory.java deleted file mode 100644 index d1df6fc91e..0000000000 --- a/sources/scalac/ast/TreeCopyFactory.java +++ /dev/null @@ -1,163 +0,0 @@ -/* ____ ____ ____ ____ ______ *\ -** / __// __ \/ __// __ \/ ____/ SOcos COmpiles Scala ** -** __\_ \/ /_/ / /__/ /_/ /\_ \ (c) 2002, LAMP/EPFL ** -** /_____/\____/\___/\____/____/ ** -** ** -** $Id$ -\* */ - -package scalac.ast; - -import scalac.util.Name; -import Tree.*; - -/** - * Interface for a kind of factory which, for each node constructor, - * takes an original node from which some data will be copied or shared. - * - * @author Michel Schinz - * @version 1.1 - */ -public interface TreeCopier { - - public void attribute(Tree newTree, Tree oldTree); - - public Tree Bad(Tree tree); - - public Tree ClassDef(Tree tree, - int mods, - Name name, - TypeDef[] tparams, - ValDef[][] vparams, - Tree tpe, - Template impl); - - public Tree PackageDef(Tree tree, - Tree packaged, - Template impl); - - public Tree ModuleDef(Tree tree, - int mods, - Name name, - Tree tpe, - Template impl); - - public Tree ValDef(Tree tree, - int mods, - Name name, - Tree tpe, - Tree rhs); - - public Tree PatDef(Tree tree, - int mods, - Tree pat, - Tree rhs); - - public Tree DefDef(Tree tree, - int mods, - Name name, - TypeDef[] tparams, - ValDef[][] vparams, - Tree tpe, - Tree rhs); - - public Tree TypeDef(Tree tree, - int mods, - Name name, - Tree rhs); - - public Tree Import(Tree tree, - Tree expr, - Name[] selectors); - - public Tree CaseDef(Tree tree, - Tree pat, - Tree guard, - Tree body); - - public Template Template(Tree tree, - Tree[] baseClasses, - Tree[] body); - - public Tree LabelDef(Tree tree, - Tree[] params, - Tree rhs); - - public Tree Block(Tree tree, - Tree[] stats); - - public Tree Tuple(Tree tree, - Tree[] trees); - - public Tree Visitor(Tree tree, - CaseDef[] cases); - - public Tree Function(Tree tree, - ValDef[] vparams, - Tree body); - - public Tree Assign(Tree tree, - Tree lhs, - Tree rhs); - - public Tree If(Tree tree, - Tree cond, - Tree thenp, - Tree elsep); - - public Tree New(Tree tree, - Template templ); - - public Tree Typed(Tree tree, - Tree expr, - Tree tpe); - - public Tree TypeApply(Tree tree, - Tree fun, - Tree[] args); - - public Tree Apply(Tree tree, - Tree fun, - Tree[] args); - - public Tree Super(Tree tree, - Tree tpe); - - public Tree This(Tree tree, - Tree qualifier); - - public Tree Select(Tree tree, - Tree qualifier, - Name selector); - - public Tree Ident(Tree tree, - Name name); - - public Tree Literal(Tree tree, - Object value); - - public Tree TypeTerm(Tree tree); - - public Tree SingletonType(Tree tree, - Tree ref); - - public Tree SelectFromType(Tree tree, - Tree qualifier, - Name selector); - - public Tree FunType(Tree tree, - Tree[] argtpes, - Tree restpe); - - public Tree CompoundType(Tree tree, - Tree[] baseTypes, - Tree[] refinements); - - public Tree AppliedType(Tree tree, - Tree tpe, - Tree[] args); - - public Tree CovariantType(Tree tree, - Tree tpe); - -} |