diff options
author | Martin Odersky <odersky@gmail.com> | 2003-07-04 14:06:34 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2003-07-04 14:06:34 +0000 |
commit | 00abd39f96ee40da727ccc735d25ca3d96ce01ce (patch) | |
tree | 6d7314cd14761335c0dd99d149d8934ef45d4115 /sources/scalac/ast | |
parent | bf8fd4c5b3e1df5b249f7fa2d765913cf662fd51 (diff) | |
download | scala-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.java | 16 | ||||
-rw-r--r-- | sources/scalac/ast/parser/Scanner.java | 1 | ||||
-rw-r--r-- | sources/scalac/ast/parser/Tokens.java | 1 | ||||
-rw-r--r-- | sources/scalac/ast/printer/TextTreePrinter.java | 9 |
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); |