summaryrefslogtreecommitdiff
path: root/sources/scalac/ast
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-03-14 11:56:02 +0000
committerMartin Odersky <odersky@gmail.com>2003-03-14 11:56:02 +0000
commitf4a43858e8629180a3ccbae1202514266ea6db07 (patch)
tree50bc2efb7078f006f16cada03c0ef438c2cbece0 /sources/scalac/ast
parent1a44c882dc8807567058c00d35f9175a7484c640 (diff)
downloadscala-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.java24
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: