diff options
author | Martin Odersky <odersky@gmail.com> | 2003-03-14 11:56:02 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-03-14 11:56:02 +0000 |
commit | f4a43858e8629180a3ccbae1202514266ea6db07 (patch) | |
tree | 50bc2efb7078f006f16cada03c0ef438c2cbece0 /sources/scalac/ast | |
parent | 1a44c882dc8807567058c00d35f9175a7484c640 (diff) | |
download | scala-f4a43858e8629180a3ccbae1202514266ea6db07.tar.gz scala-f4a43858e8629180a3ccbae1202514266ea6db07.tar.bz2 scala-f4a43858e8629180a3ccbae1202514266ea6db07.zip |
*** empty log message ***
Diffstat (limited to 'sources/scalac/ast')
-rw-r--r-- | sources/scalac/ast/parser/Parser.java | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/sources/scalac/ast/parser/Parser.java b/sources/scalac/ast/parser/Parser.java index 45ce77899e..48c9689901 100644 --- a/sources/scalac/ast/parser/Parser.java +++ b/sources/scalac/ast/parser/Parser.java @@ -762,17 +762,18 @@ public class Parser implements Tokens { return t; } - /* SimpleExpr ::= literal + /* SimpleExpr ::= SimpleExpr1 + * | SimpleExpr ArgumentExprs + * | new Template + * | BlockExpr + * | `(' [Expr] `)' + * + * SimpleExpr1 ::= literal * | null * | StableRef * | super `.' Id * | SimpleExpr `.' Id - * | `(' [Expr] `)' - * | BlockExpr - * | SimpleExpr `@' TypeArgs - * | SimpleExpr ArgumentExprs - * | new Template - * | `_' + * | SimpleExpr TypeArgs */ Tree simpleExpr() { Tree t; @@ -835,7 +836,14 @@ public class Parser implements Tokens { t = make.Select(s.skipToken(), t, ident()); break; case LBRACKET: - t = make.TypeApply(s.pos, t, typeArgs()); + switch (t) { + case Ident(_): + case Select(_, _): + t = make.TypeApply(s.pos, t, typeArgs()); + break; + default: + return t; + } break; case LPAREN: case LBRACE: |