Added finals
This commit is contained in:
+21
-1
@@ -631,6 +631,10 @@ class Parser {
|
||||
var str = parseStructure("var"); // override var
|
||||
nextIsOverride = false;
|
||||
str;
|
||||
case TId("final"):
|
||||
var str = parseStructure("final"); // override final
|
||||
nextIsOverride = false;
|
||||
str;
|
||||
default:
|
||||
unexpected(nextToken);
|
||||
nextIsOverride = false;
|
||||
@@ -656,6 +660,10 @@ class Parser {
|
||||
var str = parseStructure("var"); // static var
|
||||
nextIsStatic = false;
|
||||
str;
|
||||
case TId("final"):
|
||||
var str = parseStructure("final"); // static final
|
||||
nextIsStatic = false;
|
||||
str;
|
||||
default:
|
||||
unexpected(nextToken);
|
||||
nextIsStatic = false;
|
||||
@@ -681,12 +689,16 @@ class Parser {
|
||||
var str = parseStructure("var"); // public var
|
||||
nextIsPublic = false;
|
||||
str;
|
||||
case TId("final"):
|
||||
var str = parseStructure("final"); // public final
|
||||
nextIsPublic = false;
|
||||
str;
|
||||
default:
|
||||
unexpected(nextToken);
|
||||
nextIsPublic = false;
|
||||
null;
|
||||
}
|
||||
case "var":
|
||||
case "var" | "final":
|
||||
var ident = getIdent();
|
||||
var tk = token();
|
||||
var t = null;
|
||||
@@ -1204,6 +1216,14 @@ class Parser {
|
||||
fields.push( { name : name, t : parseType(), meta : meta } );
|
||||
meta = null;
|
||||
ensure(TSemicolon);
|
||||
case TId("final"):
|
||||
var name = getIdent();
|
||||
ensure(TDoubleDot);
|
||||
if( meta == null ) meta = [];
|
||||
meta.push({ name : ":final", params : [] });
|
||||
fields.push( { name : name, t : parseType(), meta : meta } );
|
||||
meta = null;
|
||||
ensure(TSemicolon);
|
||||
case TId(name):
|
||||
ensure(TDoubleDot);
|
||||
fields.push( { name : name, t : parseType(), meta : meta } );
|
||||
|
||||
Reference in New Issue
Block a user