summaryrefslogtreecommitdiff
path: root/sources/scalac/ast
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2003-07-04 14:06:34 +0000
committerMartin Odersky <odersky@gmail.com>2003-07-04 14:06:34 +0000
commit00abd39f96ee40da727ccc735d25ca3d96ce01ce (patch)
tree6d7314cd14761335c0dd99d149d8934ef45d4115 /sources/scalac/ast
parentbf8fd4c5b3e1df5b249f7fa2d765913cf662fd51 (diff)
downloadscala-00abd39f96ee40da727ccc735d25ca3d96ce01ce.tar.gz
scala-00abd39f96ee40da727ccc735d25ca3d96ce01ce.tar.bz2
scala-00abd39f96ee40da727ccc735d25ca3d96ce01ce.zip
*** empty log message ***
Diffstat (limited to 'sources/scalac/ast')
-rw-r--r--sources/scalac/ast/parser/Parser.java16
-rw-r--r--sources/scalac/ast/parser/Scanner.java1
-rw-r--r--sources/scalac/ast/parser/Tokens.java1
-rw-r--r--sources/scalac/ast/printer/TextTreePrinter.java9
4 files changed, 21 insertions, 6 deletions
diff --git a/sources/scalac/ast/parser/Parser.java b/sources/scalac/ast/parser/Parser.java
index 0ec6de68b0..51d926afdf 100644
--- a/sources/scalac/ast/parser/Parser.java
+++ b/sources/scalac/ast/parser/Parser.java
@@ -115,15 +115,16 @@ public class Parser implements Tokens {
boolean isModifier() {
return (s.token == ABSTRACT)
|| (s.token == FINAL)
+ || (s.token == SEALED)
|| (s.token == PRIVATE)
|| (s.token == PROTECTED)
-// || (s.token == QUALIFIED)
|| (s.token == OVERRIDE);
}
boolean isLocalModifier() {
return (s.token == ABSTRACT)
- || (s.token == FINAL);
+ || (s.token == FINAL)
+ || (s.token == SEALED);
}
boolean isDefIntro() {
@@ -921,6 +922,9 @@ public class Parser implements Tokens {
convertToConstr(stats[stats.length - 1]));
else
syntaxError(res.pos, "class constructor expected", false);
+ break;
+ default:
+ res = applyConstr(convertToConstr(res));
}
accept(RBRACE);
return res;
@@ -1190,6 +1194,9 @@ public class Parser implements Tokens {
case FINAL:
mod = Modifiers.FINAL;
break;
+ case SEALED:
+ mod = Modifiers.SEALED;
+ break;
case PRIVATE:
mod = Modifiers.PRIVATE;
break;
@@ -1224,6 +1231,9 @@ public class Parser implements Tokens {
case FINAL:
mod = Modifiers.FINAL;
break;
+ case SEALED:
+ mod = Modifiers.SEALED;
+ break;
default:
return mods;
}
@@ -1386,9 +1396,11 @@ public class Parser implements Tokens {
t = make.Select(pos, t, name);
pos = accept(DOT);
} else {
+ /*
if (name == Names.ASTERISK)
s.unit.warning(
pos, "this imports only the identifier `*';\nuse `import xyz._' to import all members of `xyz'.");
+ */
return make.Import(startpos, t, new Name[]{name, name});
}
}
diff --git a/sources/scalac/ast/parser/Scanner.java b/sources/scalac/ast/parser/Scanner.java
index 82b41f6e3a..5573ce3e05 100644
--- a/sources/scalac/ast/parser/Scanner.java
+++ b/sources/scalac/ast/parser/Scanner.java
@@ -816,6 +816,7 @@ public class Scanner extends TokenData {
enterKeyword("package", PACKAGE);
enterKeyword("private", PRIVATE);
enterKeyword("protected", PROTECTED);
+ enterKeyword("sealed", SEALED);
enterKeyword("super", SUPER);
enterKeyword("this", THIS);
enterKeyword("trait", TRAIT);
diff --git a/sources/scalac/ast/parser/Tokens.java b/sources/scalac/ast/parser/Tokens.java
index cad7a2da8b..f2e3bc39ad 100644
--- a/sources/scalac/ast/parser/Tokens.java
+++ b/sources/scalac/ast/parser/Tokens.java
@@ -60,6 +60,7 @@ public interface Tokens {
YIELD = 50,
DO = 51,
TRAIT = 52,
+ SEALED = 53,
/* special symbols */
COMMA = 61,
diff --git a/sources/scalac/ast/printer/TextTreePrinter.java b/sources/scalac/ast/printer/TextTreePrinter.java
index 39e8f1edcf..a56fb1a656 100644
--- a/sources/scalac/ast/printer/TextTreePrinter.java
+++ b/sources/scalac/ast/printer/TextTreePrinter.java
@@ -154,6 +154,7 @@ public class TextTreePrinter implements TreePrinter {
protected static final Text KW_ELSE = Text.Keyword("else");
protected static final Text KW_EXTENDS = Text.Keyword("extends");
protected static final Text KW_FINAL = Text.Keyword("final");
+ protected static final Text KW_SEALED = Text.Keyword("sealed");
protected static final Text KW_FOR = Text.Keyword("for");
protected static final Text KW_IF = Text.Keyword("if");
protected static final Text KW_IMPORT = Text.Keyword("import");
@@ -643,6 +644,10 @@ public class TextTreePrinter implements TreePrinter {
print(KW_FINAL);
print(Text.Space);
}
+ if ((flags & Modifiers.SEALED) != 0) {
+ print(KW_SEALED);
+ print(Text.Space);
+ }
if ((flags & Modifiers.PRIVATE) != 0) {
print(KW_PRIVATE);
print(Text.Space);
@@ -651,10 +656,6 @@ public class TextTreePrinter implements TreePrinter {
print(KW_PROTECTED);
print(Text.Space);
}
- if ((flags & Modifiers.QUALIFIED) != 0) {
- print(KW_QUALIFIED);
- print(Text.Space);
- }
if ((flags & Modifiers.OVERRIDE) != 0) {
print(KW_OVERRIDE);
print(Text.Space);