diff options
author | Martin Odersky <odersky@gmail.com> | 2006-05-16 20:34:26 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-05-16 20:34:26 +0000 |
commit | 8ab0305de71c63d8dcdba023fdb305202da57edd (patch) | |
tree | 8a4ac8b0939347008c0be1042468d05a32994f17 /src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala | |
parent | 5c11f952af7017a7d45b56f136a903e128aefcca (diff) | |
download | scala-8ab0305de71c63d8dcdba023fdb305202da57edd.tar.gz scala-8ab0305de71c63d8dcdba023fdb305202da57edd.tar.bz2 scala-8ab0305de71c63d8dcdba023fdb305202da57edd.zip |
bug fixes
Diffstat (limited to 'src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala b/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala index b00a4875ab..db8b695b39 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/TreeBuilder.scala @@ -18,6 +18,15 @@ abstract class TreeBuilder { def freshName(): Name = freshName("x$"); + def scalaDot(name: Name): Tree = + Select(Ident(nme.scala_) setSymbol definitions.ScalaPackage, name) + def scalaAnyRefConstr: Tree = + scalaDot(nme.AnyRef.toTypeName); + def scalaScalaObjectConstr: Tree = + scalaDot(nme.ScalaObject.toTypeName); + def caseClassConstr: Tree = + scalaDot(nme.CaseClass.toTypeName); + /** Convert all occurrences of (lower-case) variables in a pattern as follows: * x becomes x @ _ * x: T becomes x @ (_: T) @@ -63,9 +72,7 @@ abstract class TreeBuilder { private def makeTuple(trees: List[Tree], isType: boolean): Tree = { val tupString = "Tuple" + trees.length; - Apply( - Select(Ident(nme.scala_), if (isType) newTypeName(tupString) else newTermName(tupString)), - trees) + Apply(scalaDot(if (isType) newTypeName(tupString) else newTermName(tupString)), trees) } private def makeTupleTerm(trees: List[Tree]): Tree = trees match { @@ -369,9 +376,7 @@ abstract class TreeBuilder { /** Create a tree representing a function type */ def makeFunctionTypeTree(argtpes: List[Tree], restpe: Tree): Tree = - AppliedTypeTree( - Select(Ident(nme.scala_), newTypeName("Function" + argtpes.length)), - argtpes ::: List(restpe)); + AppliedTypeTree(scalaDot(newTypeName("Function" + argtpes.length)), argtpes ::: List(restpe)) /** Append implicit view section if for `implicitViews' if nonempty */ def addImplicitViews(owner: Name, vparamss: List[List[ValDef]], implicitViews: List[Tree]): List[List[ValDef]] = { |