diff options
author | Martin Odersky <odersky@gmail.com> | 2007-11-09 15:56:26 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2007-11-09 15:56:26 +0000 |
commit | d3b764f220f3d083c4f2c36471ce68d5fbbb8854 (patch) | |
tree | c9f5600fe55913356b6bd65c4992e652b39a41c7 /src | |
parent | 9feddc6cb4df699472248fc780505a9b437f13a0 (diff) | |
download | scala-d3b764f220f3d083c4f2c36471ce68d5fbbb8854.tar.gz scala-d3b764f220f3d083c4f2c36471ce68d5fbbb8854.tar.bz2 scala-d3b764f220f3d083c4f2c36471ce68d5fbbb8854.zip |
changed self type syntax as suggested by Matt H...
changed self type syntax as suggested by Matt Hellige -- this: S is now allowed.
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/ast/parser/Parsers.scala | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala index bcbb26ad5c..b8a789d9cb 100644 --- a/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala +++ b/src/compiler/scala/tools/nsc/ast/parser/Parsers.scala @@ -2411,10 +2411,15 @@ trait Parsers extends NewScanners with MarkupParsers { if (isExprIntro) { val first = expr(InTemplate) // @S: first statement is potentially converted so cannot be stubbed. if (inToken == ARROW) { - convertToParam(first) match { - case tree @ ValDef(_, name, tpt, EmptyTree) if (name != nme.ERROR) => - self = makeSelfDef(name, tpt).setPos(tree.pos) + first match { + case Typed(tree @ This(name), tpt) if (name == nme.EMPTY.toTypeName) => + self = makeSelfDef(nme.WILDCARD, tpt).setPos(tree.pos) case _ => + convertToParam(first) match { + case tree @ ValDef(_, name, tpt, EmptyTree) if (name != nme.ERROR) => + self = makeSelfDef(name, tpt).setPos(tree.pos) + case _ => + } } inNextToken } else stats += first |