diff options
author | Paul Phillips <paulp@improving.org> | 2013-01-14 23:29:50 -0800 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2013-01-26 11:19:36 -0800 |
commit | 5878099cbb3ca0b0224c9931d3510c7234e7c686 (patch) | |
tree | 16bf55b9b7b71dda990fc296c4dfb81bb6489a1e /src/reflect | |
parent | e626ecd2346b917d1b3397e0159bca4862214e9d (diff) | |
download | scala-5878099cbb3ca0b0224c9931d3510c7234e7c686.tar.gz scala-5878099cbb3ca0b0224c9931d3510c7234e7c686.tar.bz2 scala-5878099cbb3ca0b0224c9931d3510c7234e7c686.zip |
Renamed methods to be less ambiguous in intent.
isNamed => isNamedArg
isIdentity => allArgsArePositional
nameOf => nameOfNamedArg
Moved mkNamedArg into TreeGen.
Diffstat (limited to 'src/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/TreeGen.scala | 4 | ||||
-rw-r--r-- | src/reflect/scala/reflect/internal/TreeInfo.scala | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/TreeGen.scala b/src/reflect/scala/reflect/internal/TreeGen.scala index 6a2006e56f..54a85dee86 100644 --- a/src/reflect/scala/reflect/internal/TreeGen.scala +++ b/src/reflect/scala/reflect/internal/TreeGen.scala @@ -271,6 +271,10 @@ abstract class TreeGen extends macros.TreeBuilder { case _ => Constant(null) } + /** Wrap an expression in a named argument. */ + def mkNamedArg(name: Name, tree: Tree): Tree = mkNamedArg(Ident(name), tree) + def mkNamedArg(lhs: Tree, rhs: Tree): Tree = atPos(rhs.pos)(AssignOrNamedArg(lhs, rhs)) + /** Builds a tuple */ def mkTuple(elems: List[Tree]): Tree = if (elems.isEmpty) Literal(Constant()) diff --git a/src/reflect/scala/reflect/internal/TreeInfo.scala b/src/reflect/scala/reflect/internal/TreeInfo.scala index c90e94c1c1..45720053a8 100644 --- a/src/reflect/scala/reflect/internal/TreeInfo.scala +++ b/src/reflect/scala/reflect/internal/TreeInfo.scala @@ -370,6 +370,14 @@ abstract class TreeInfo { case _ => false } + /** Translates an Assign(_, _) node to AssignOrNamedArg(_, _) if + * the lhs is a simple ident. Otherwise returns unchanged. + */ + def assignmentToMaybeNamedArg(tree: Tree) = tree match { + case t @ Assign(id: Ident, rhs) => atPos(t.pos)(AssignOrNamedArg(id, rhs)) + case t => t + } + /** Is name a left-associative operator? */ def isLeftAssoc(operator: Name) = operator.nonEmpty && (operator.endChar != ':') |