summaryrefslogtreecommitdiff
path: root/sources/scalac/ast
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-03-20 11:40:33 +0000
committerMartin Odersky <odersky@gmail.com>2003-03-20 11:40:33 +0000
commitf449cd95e9e1805f50b1c267c6b18c281673cb3b (patch)
treea18f790688b6a73993aca13d744652c7bd2f1ab5 /sources/scalac/ast
parent6440a65cbedc6751122d191a9fe119f72a8d0d5f (diff)
downloadscala-f449cd95e9e1805f50b1c267c6b18c281673cb3b.tar.gz
scala-f449cd95e9e1805f50b1c267c6b18c281673cb3b.tar.bz2
scala-f449cd95e9e1805f50b1c267c6b18c281673cb3b.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/ast')
-rw-r--r--sources/scalac/ast/Transformer.java1
-rw-r--r--sources/scalac/ast/TreeInfo.java1
-rw-r--r--sources/scalac/ast/parser/Parser.java13
3 files changed, 6 insertions, 9 deletions
diff --git a/sources/scalac/ast/Transformer.java b/sources/scalac/ast/Transformer.java
index aa2135f5be..a5f49a9f48 100644
--- a/sources/scalac/ast/Transformer.java
+++ b/sources/scalac/ast/Transformer.java
@@ -64,6 +64,7 @@ public class Transformer extends Phase {
}
public void apply(Unit unit) {
+ global.log("transforming " + unit);
unit.body = transform(unit.body);
}
diff --git a/sources/scalac/ast/TreeInfo.java b/sources/scalac/ast/TreeInfo.java
index 790bfc5bc6..d07627724f 100644
--- a/sources/scalac/ast/TreeInfo.java
+++ b/sources/scalac/ast/TreeInfo.java
@@ -105,7 +105,6 @@ public class TreeInfo {
}
/** Is tree a pure constructor?
- * //todo: update
*/
public static boolean isPureConstr(Tree tree) {
switch (tree) {
diff --git a/sources/scalac/ast/parser/Parser.java b/sources/scalac/ast/parser/Parser.java
index f532c78cd1..84bfea6689 100644
--- a/sources/scalac/ast/parser/Parser.java
+++ b/sources/scalac/ast/parser/Parser.java
@@ -1340,11 +1340,9 @@ public class Parser implements Tokens {
}
}
- /** TopDef ::= ([case] class) ClassDef {`,' ClassDef}
- * | trait TraitDef {`,' TraitDef}
+ /** TopDef ::= ([case] class | trait) ClassDef {`,' ClassDef}
* | module ModuleDef {`,' ModuleDef}
- * LocalTopDef ::= class ClassDef {`,' ClassDef}
- * | trait TraitDef {`,' TraitDef}
+ * LocalTopDef ::= class ClassDef {`,' ClassDef}//todo: keep?
* | module ModuleDef {`,' ModuleDef}
*/
Tree[] topDef(int mods) {
@@ -1480,16 +1478,15 @@ public class Parser implements Tokens {
}
}
- /** ClassDef ::= Id [TypeParamClause] ParamClause [`:' Type] ClassTemplate
- * TraitDef ::= Id [TypeParamClause] [`:' Type] ClassTemplate
+ /** ClassDef ::= Id [TypeParamClause] [`:' Type] ClassTemplate
*/
Tree classDef(int mods) {
int pos = s.pos;
Name name = ident();
TypeDef[] tparams = typeParamClauseOpt();
ValDef[][] params;
- if ((mods & Modifiers.TRAIT) == 0) params = new ValDef[][]{paramClause()};
- else params = new ValDef[][]{};
+ if (s.token == LPAREN) params = new ValDef[][]{paramClause()};
+ else params = Tree.ExtValDef.EMPTY_ARRAY_ARRAY;
return make.ClassDef(pos, mods, name.toTypeName(), tparams, params,
typedOpt(), classTemplate());
}