| OLD | NEW |
| 1 #!/usr/bin/env node | 1 #!/usr/bin/env node |
| 2 // ********** Library dart:core ************** | 2 // ********** Library dart:core ************** |
| 3 // ********** Natives dart:core ************** | 3 // ********** Natives dart:core ************** |
| 4 function $throw(e) { | 4 function $throw(e) { |
| 5 // If e is not a value, we can use V8's captureStackTrace utility method. | 5 // If e is not a value, we can use V8's captureStackTrace utility method. |
| 6 // TODO(jmesserly): capture the stack trace on other JS engines. | 6 // TODO(jmesserly): capture the stack trace on other JS engines. |
| 7 if (e && (typeof e == 'object') && Error.captureStackTrace) { | 7 if (e && (typeof e == 'object') && Error.captureStackTrace) { |
| 8 // TODO(jmesserly): this will clobber the e.stack property | 8 // TODO(jmesserly): this will clobber the e.stack property |
| 9 Error.captureStackTrace(e, $throw); | 9 Error.captureStackTrace(e, $throw); |
| 10 } | 10 } |
| (...skipping 3452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3463 } | 3463 } |
| 3464 return this.visitValue(node); | 3464 return this.visitValue(node); |
| 3465 } | 3465 } |
| 3466 MethodGenerator.prototype.visitDietStatement = function(node) { | 3466 MethodGenerator.prototype.visitDietStatement = function(node) { |
| 3467 var parser = new Parser(node.span.file, false, false, false, node.span.start); | 3467 var parser = new Parser(node.span.file, false, false, false, node.span.start); |
| 3468 this.visitStatementsInBlock(parser.block$0()); | 3468 this.visitStatementsInBlock(parser.block$0()); |
| 3469 return false; | 3469 return false; |
| 3470 } | 3470 } |
| 3471 MethodGenerator.prototype.visitVariableDefinition = function(node) { | 3471 MethodGenerator.prototype.visitVariableDefinition = function(node) { |
| 3472 var isFinal = false; | 3472 var isFinal = false; |
| 3473 if (node.modifiers != null && $eq(node.modifiers.$index((0)).get$kind(), (98))
) { | 3473 if (node.modifiers != null && $eq(node.modifiers.$index((0)).get$kind(), (99))
) { |
| 3474 isFinal = true; | 3474 isFinal = true; |
| 3475 } | 3475 } |
| 3476 this.writer.write("var "); | 3476 this.writer.write("var "); |
| 3477 var type = this.method.resolveType(node.type, false); | 3477 var type = this.method.resolveType(node.type, false); |
| 3478 for (var i = (0); | 3478 for (var i = (0); |
| 3479 i < node.names.get$length(); i++) { | 3479 i < node.names.get$length(); i++) { |
| 3480 var thisType = type; | 3480 var thisType = type; |
| 3481 if (i > (0)) { | 3481 if (i > (0)) { |
| 3482 this.writer.write(", "); | 3482 this.writer.write(", "); |
| 3483 } | 3483 } |
| (...skipping 1730 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5214 FieldMember.prototype.get$isField = function() { | 5214 FieldMember.prototype.get$isField = function() { |
| 5215 return true; | 5215 return true; |
| 5216 } | 5216 } |
| 5217 FieldMember.prototype.resolve = function() { | 5217 FieldMember.prototype.resolve = function() { |
| 5218 this.isStatic = this.declaringType.get$isTop(); | 5218 this.isStatic = this.declaringType.get$isTop(); |
| 5219 this.isFinal = false; | 5219 this.isFinal = false; |
| 5220 if (this.definition.modifiers != null) { | 5220 if (this.definition.modifiers != null) { |
| 5221 var $$list = this.definition.modifiers; | 5221 var $$list = this.definition.modifiers; |
| 5222 for (var $$i = 0;$$i < $$list.get$length(); $$i++) { | 5222 for (var $$i = 0;$$i < $$list.get$length(); $$i++) { |
| 5223 var mod = $$list.$index($$i); | 5223 var mod = $$list.$index($$i); |
| 5224 if ($eq(mod.get$kind(), (84))) { | 5224 if ($eq(mod.get$kind(), (85))) { |
| 5225 if (this.isStatic) { | 5225 if (this.isStatic) { |
| 5226 $globals.world.error("duplicate static modifier", mod.get$span()); | 5226 $globals.world.error("duplicate static modifier", mod.get$span()); |
| 5227 } | 5227 } |
| 5228 this.isStatic = true; | 5228 this.isStatic = true; |
| 5229 } | 5229 } |
| 5230 else if ($eq(mod.get$kind(), (98))) { | 5230 else if ($eq(mod.get$kind(), (99))) { |
| 5231 if (this.isFinal) { | 5231 if (this.isFinal) { |
| 5232 $globals.world.error("duplicate final modifier", mod.get$span()); | 5232 $globals.world.error("duplicate final modifier", mod.get$span()); |
| 5233 } | 5233 } |
| 5234 this.isFinal = true; | 5234 this.isFinal = true; |
| 5235 } | 5235 } |
| 5236 else { | 5236 else { |
| 5237 $globals.world.error(("" + mod + " modifier not allowed on field"), mod.
get$span()); | 5237 $globals.world.error(("" + mod + " modifier not allowed on field"), mod.
get$span()); |
| 5238 } | 5238 } |
| 5239 } | 5239 } |
| 5240 } | 5240 } |
| (...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5990 } | 5990 } |
| 5991 MethodMember.prototype.resolve = function() { | 5991 MethodMember.prototype.resolve = function() { |
| 5992 this.isStatic = this.declaringType.get$isTop(); | 5992 this.isStatic = this.declaringType.get$isTop(); |
| 5993 this.isConst = false; | 5993 this.isConst = false; |
| 5994 this.isFactory = false; | 5994 this.isFactory = false; |
| 5995 this.isAbstract = !this.declaringType.get$isClass(); | 5995 this.isAbstract = !this.declaringType.get$isClass(); |
| 5996 if (this.definition.modifiers != null) { | 5996 if (this.definition.modifiers != null) { |
| 5997 var $$list = this.definition.modifiers; | 5997 var $$list = this.definition.modifiers; |
| 5998 for (var $$i = 0;$$i < $$list.get$length(); $$i++) { | 5998 for (var $$i = 0;$$i < $$list.get$length(); $$i++) { |
| 5999 var mod = $$list.$index($$i); | 5999 var mod = $$list.$index($$i); |
| 6000 if ($eq(mod.get$kind(), (84))) { | 6000 if ($eq(mod.get$kind(), (85))) { |
| 6001 if (this.isStatic) { | 6001 if (this.isStatic) { |
| 6002 $globals.world.error("duplicate static modifier", mod.get$span()); | 6002 $globals.world.error("duplicate static modifier", mod.get$span()); |
| 6003 } | 6003 } |
| 6004 this.isStatic = true; | 6004 this.isStatic = true; |
| 6005 } | 6005 } |
| 6006 else if (this.get$isConstructor() && $eq(mod.get$kind(), (91))) { | 6006 else if (this.get$isConstructor() && $eq(mod.get$kind(), (92))) { |
| 6007 if (this.isConst) { | 6007 if (this.isConst) { |
| 6008 $globals.world.error("duplicate const modifier", mod.get$span()); | 6008 $globals.world.error("duplicate const modifier", mod.get$span()); |
| 6009 } | 6009 } |
| 6010 if (this.isFactory) { | 6010 if (this.isFactory) { |
| 6011 $globals.world.error("const factory not allowed", mod.get$span()); | 6011 $globals.world.error("const factory not allowed", mod.get$span()); |
| 6012 } | 6012 } |
| 6013 this.isConst = true; | 6013 this.isConst = true; |
| 6014 } | 6014 } |
| 6015 else if ($eq(mod.get$kind(), (73))) { | 6015 else if ($eq(mod.get$kind(), (74))) { |
| 6016 if (this.isFactory) { | 6016 if (this.isFactory) { |
| 6017 $globals.world.error("duplicate factory modifier", mod.get$span()); | 6017 $globals.world.error("duplicate factory modifier", mod.get$span()); |
| 6018 } | 6018 } |
| 6019 if (this.isConst) { | 6019 if (this.isConst) { |
| 6020 $globals.world.error("const factory not allowed", mod.get$span()); | 6020 $globals.world.error("const factory not allowed", mod.get$span()); |
| 6021 } | 6021 } |
| 6022 if (this.isStatic) { | 6022 if (this.isStatic) { |
| 6023 $globals.world.error("static factory not allowed", mod.get$span()); | 6023 $globals.world.error("static factory not allowed", mod.get$span()); |
| 6024 } | 6024 } |
| 6025 this.isFactory = true; | 6025 this.isFactory = true; |
| (...skipping 1355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7381 } | 7381 } |
| 7382 } | 7382 } |
| 7383 Tokenizer.prototype.getIdentifierKind = function() { | 7383 Tokenizer.prototype.getIdentifierKind = function() { |
| 7384 var i0 = this._startIndex; | 7384 var i0 = this._startIndex; |
| 7385 var ch; | 7385 var ch; |
| 7386 switch (this._lang_index - i0) { | 7386 switch (this._lang_index - i0) { |
| 7387 case (2): | 7387 case (2): |
| 7388 | 7388 |
| 7389 ch = this._text.charCodeAt(i0); | 7389 ch = this._text.charCodeAt(i0); |
| 7390 if (ch == (100)) { | 7390 if (ch == (100)) { |
| 7391 if (this._text.charCodeAt(i0 + (1)) == (111)) return (94); | 7391 if (this._text.charCodeAt(i0 + (1)) == (111)) return (95); |
| 7392 } | 7392 } |
| 7393 else if (ch == (105)) { | 7393 else if (ch == (105)) { |
| 7394 ch = this._text.charCodeAt(i0 + (1)); | 7394 ch = this._text.charCodeAt(i0 + (1)); |
| 7395 if (ch == (102)) { | 7395 if (ch == (102)) { |
| 7396 return (101); | 7396 return (102); |
| 7397 } | 7397 } |
| 7398 else if (ch == (110)) { | 7398 else if (ch == (110)) { |
| 7399 return (102); | 7399 return (103); |
| 7400 } | 7400 } |
| 7401 else if (ch == (115)) { | 7401 else if (ch == (115)) { |
| 7402 return (103); | 7402 return (104); |
| 7403 } | 7403 } |
| 7404 } | 7404 } |
| 7405 return (70); | 7405 return (70); |
| 7406 | 7406 |
| 7407 case (3): | 7407 case (3): |
| 7408 | 7408 |
| 7409 ch = this._text.charCodeAt(i0); | 7409 ch = this._text.charCodeAt(i0); |
| 7410 if (ch == (102)) { | 7410 if (ch == (102)) { |
| 7411 if (this._text.charCodeAt(i0 + (1)) == (111) && this._text.charCodeAt(i0
+ (2)) == (114)) return (100); | 7411 if (this._text.charCodeAt(i0 + (1)) == (111) && this._text.charCodeAt(i0
+ (2)) == (114)) return (101); |
| 7412 } | 7412 } |
| 7413 else if (ch == (103)) { | 7413 else if (ch == (103)) { |
| 7414 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (116)) return (74); | 7414 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (116)) return (75); |
| 7415 } | 7415 } |
| 7416 else if (ch == (110)) { | 7416 else if (ch == (110)) { |
| 7417 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (119)) return (104); | 7417 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (119)) return (105); |
| 7418 } | 7418 } |
| 7419 else if (ch == (115)) { | 7419 else if (ch == (115)) { |
| 7420 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (116)) return (82); | 7420 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (116)) return (83); |
| 7421 } | 7421 } |
| 7422 else if (ch == (116)) { | 7422 else if (ch == (116)) { |
| 7423 if (this._text.charCodeAt(i0 + (1)) == (114) && this._text.charCodeAt(i0
+ (2)) == (121)) return (112); | 7423 if (this._text.charCodeAt(i0 + (1)) == (114) && this._text.charCodeAt(i0
+ (2)) == (121)) return (113); |
| 7424 } | 7424 } |
| 7425 else if (ch == (118)) { | 7425 else if (ch == (118)) { |
| 7426 if (this._text.charCodeAt(i0 + (1)) == (97) && this._text.charCodeAt(i0
+ (2)) == (114)) return (113); | 7426 if (this._text.charCodeAt(i0 + (1)) == (97) && this._text.charCodeAt(i0
+ (2)) == (114)) return (114); |
| 7427 } | 7427 } |
| 7428 return (70); | 7428 return (70); |
| 7429 | 7429 |
| 7430 case (4): | 7430 case (4): |
| 7431 | 7431 |
| 7432 ch = this._text.charCodeAt(i0); | 7432 ch = this._text.charCodeAt(i0); |
| 7433 if (ch == (99)) { | 7433 if (ch == (99)) { |
| 7434 if (this._text.charCodeAt(i0 + (1)) == (97) && this._text.charCodeAt(i0
+ (2)) == (115) && this._text.charCodeAt(i0 + (3)) == (101)) return (88); | 7434 ch = this._text.charCodeAt(i0 + (1)); |
| 7435 if (ch == (97)) { |
| 7436 ch = this._text.charCodeAt(i0 + (2)); |
| 7437 if (ch == (108)) { |
| 7438 if (this._text.charCodeAt(i0 + (3)) == (108)) return (73); |
| 7439 } |
| 7440 else if (ch == (115)) { |
| 7441 if (this._text.charCodeAt(i0 + (3)) == (101)) return (89); |
| 7442 } |
| 7443 } |
| 7435 } | 7444 } |
| 7436 else if (ch == (101)) { | 7445 else if (ch == (101)) { |
| 7437 if (this._text.charCodeAt(i0 + (1)) == (108) && this._text.charCodeAt(i0
+ (2)) == (115) && this._text.charCodeAt(i0 + (3)) == (101)) return (95); | 7446 if (this._text.charCodeAt(i0 + (1)) == (108) && this._text.charCodeAt(i0
+ (2)) == (115) && this._text.charCodeAt(i0 + (3)) == (101)) return (96); |
| 7438 } | 7447 } |
| 7439 else if (ch == (110)) { | 7448 else if (ch == (110)) { |
| 7440 if (this._text.charCodeAt(i0 + (1)) == (117) && this._text.charCodeAt(i0
+ (2)) == (108) && this._text.charCodeAt(i0 + (3)) == (108)) return (105); | 7449 if (this._text.charCodeAt(i0 + (1)) == (117) && this._text.charCodeAt(i0
+ (2)) == (108) && this._text.charCodeAt(i0 + (3)) == (108)) return (106); |
| 7441 } | 7450 } |
| 7442 else if (ch == (116)) { | 7451 else if (ch == (116)) { |
| 7443 ch = this._text.charCodeAt(i0 + (1)); | 7452 ch = this._text.charCodeAt(i0 + (1)); |
| 7444 if (ch == (104)) { | 7453 if (ch == (104)) { |
| 7445 if (this._text.charCodeAt(i0 + (2)) == (105) && this._text.charCodeAt(
i0 + (3)) == (115)) return (109); | 7454 if (this._text.charCodeAt(i0 + (2)) == (105) && this._text.charCodeAt(
i0 + (3)) == (115)) return (110); |
| 7446 } | 7455 } |
| 7447 else if (ch == (114)) { | 7456 else if (ch == (114)) { |
| 7448 if (this._text.charCodeAt(i0 + (2)) == (117) && this._text.charCodeAt(
i0 + (3)) == (101)) return (111); | 7457 if (this._text.charCodeAt(i0 + (2)) == (117) && this._text.charCodeAt(
i0 + (3)) == (101)) return (112); |
| 7449 } | 7458 } |
| 7450 } | 7459 } |
| 7451 else if (ch == (118)) { | 7460 else if (ch == (118)) { |
| 7452 if (this._text.charCodeAt(i0 + (1)) == (111) && this._text.charCodeAt(i0
+ (2)) == (105) && this._text.charCodeAt(i0 + (3)) == (100)) return (114); | 7461 if (this._text.charCodeAt(i0 + (1)) == (111) && this._text.charCodeAt(i0
+ (2)) == (105) && this._text.charCodeAt(i0 + (3)) == (100)) return (115); |
| 7453 } | 7462 } |
| 7454 return (70); | 7463 return (70); |
| 7455 | 7464 |
| 7456 case (5): | 7465 case (5): |
| 7457 | 7466 |
| 7458 ch = this._text.charCodeAt(i0); | 7467 ch = this._text.charCodeAt(i0); |
| 7459 if (ch == (97)) { | 7468 if (ch == (97)) { |
| 7460 if (this._text.charCodeAt(i0 + (1)) == (119) && this._text.charCodeAt(i0
+ (2)) == (97) && this._text.charCodeAt(i0 + (3)) == (105) && this._text.charCo
deAt(i0 + (4)) == (116)) return (86); | 7469 if (this._text.charCodeAt(i0 + (1)) == (119) && this._text.charCodeAt(i0
+ (2)) == (97) && this._text.charCodeAt(i0 + (3)) == (105) && this._text.charCo
deAt(i0 + (4)) == (116)) return (87); |
| 7461 } | 7470 } |
| 7462 else if (ch == (98)) { | 7471 else if (ch == (98)) { |
| 7463 if (this._text.charCodeAt(i0 + (1)) == (114) && this._text.charCodeAt(i0
+ (2)) == (101) && this._text.charCodeAt(i0 + (3)) == (97) && this._text.charCo
deAt(i0 + (4)) == (107)) return (87); | 7472 if (this._text.charCodeAt(i0 + (1)) == (114) && this._text.charCodeAt(i0
+ (2)) == (101) && this._text.charCodeAt(i0 + (3)) == (97) && this._text.charCo
deAt(i0 + (4)) == (107)) return (88); |
| 7464 } | 7473 } |
| 7465 else if (ch == (99)) { | 7474 else if (ch == (99)) { |
| 7466 ch = this._text.charCodeAt(i0 + (1)); | 7475 ch = this._text.charCodeAt(i0 + (1)); |
| 7467 if (ch == (97)) { | 7476 if (ch == (97)) { |
| 7468 if (this._text.charCodeAt(i0 + (2)) == (116) && this._text.charCodeAt(
i0 + (3)) == (99) && this._text.charCodeAt(i0 + (4)) == (104)) return (89); | 7477 if (this._text.charCodeAt(i0 + (2)) == (116) && this._text.charCodeAt(
i0 + (3)) == (99) && this._text.charCodeAt(i0 + (4)) == (104)) return (90); |
| 7469 } | 7478 } |
| 7470 else if (ch == (108)) { | 7479 else if (ch == (108)) { |
| 7471 if (this._text.charCodeAt(i0 + (2)) == (97) && this._text.charCodeAt(i
0 + (3)) == (115) && this._text.charCodeAt(i0 + (4)) == (115)) return (90); | 7480 if (this._text.charCodeAt(i0 + (2)) == (97) && this._text.charCodeAt(i
0 + (3)) == (115) && this._text.charCodeAt(i0 + (4)) == (115)) return (91); |
| 7472 } | 7481 } |
| 7473 else if (ch == (111)) { | 7482 else if (ch == (111)) { |
| 7474 if (this._text.charCodeAt(i0 + (2)) == (110) && this._text.charCodeAt(
i0 + (3)) == (115) && this._text.charCodeAt(i0 + (4)) == (116)) return (91); | 7483 if (this._text.charCodeAt(i0 + (2)) == (110) && this._text.charCodeAt(
i0 + (3)) == (115) && this._text.charCodeAt(i0 + (4)) == (116)) return (92); |
| 7475 } | 7484 } |
| 7476 } | 7485 } |
| 7477 else if (ch == (102)) { | 7486 else if (ch == (102)) { |
| 7478 ch = this._text.charCodeAt(i0 + (1)); | 7487 ch = this._text.charCodeAt(i0 + (1)); |
| 7479 if (ch == (97)) { | 7488 if (ch == (97)) { |
| 7480 if (this._text.charCodeAt(i0 + (2)) == (108) && this._text.charCodeAt(
i0 + (3)) == (115) && this._text.charCodeAt(i0 + (4)) == (101)) return (97); | 7489 if (this._text.charCodeAt(i0 + (2)) == (108) && this._text.charCodeAt(
i0 + (3)) == (115) && this._text.charCodeAt(i0 + (4)) == (101)) return (98); |
| 7481 } | 7490 } |
| 7482 else if (ch == (105)) { | 7491 else if (ch == (105)) { |
| 7483 if (this._text.charCodeAt(i0 + (2)) == (110) && this._text.charCodeAt(
i0 + (3)) == (97) && this._text.charCodeAt(i0 + (4)) == (108)) return (98); | 7492 if (this._text.charCodeAt(i0 + (2)) == (110) && this._text.charCodeAt(
i0 + (3)) == (97) && this._text.charCodeAt(i0 + (4)) == (108)) return (99); |
| 7484 } | 7493 } |
| 7485 } | 7494 } |
| 7486 else if (ch == (115)) { | 7495 else if (ch == (115)) { |
| 7487 if (this._text.charCodeAt(i0 + (1)) == (117) && this._text.charCodeAt(i0
+ (2)) == (112) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (114)) return (107); | 7496 if (this._text.charCodeAt(i0 + (1)) == (117) && this._text.charCodeAt(i0
+ (2)) == (112) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (114)) return (108); |
| 7488 } | 7497 } |
| 7489 else if (ch == (116)) { | 7498 else if (ch == (116)) { |
| 7490 if (this._text.charCodeAt(i0 + (1)) == (104) && this._text.charCodeAt(i0
+ (2)) == (114) && this._text.charCodeAt(i0 + (3)) == (111) && this._text.charC
odeAt(i0 + (4)) == (119)) return (110); | 7499 if (this._text.charCodeAt(i0 + (1)) == (104) && this._text.charCodeAt(i0
+ (2)) == (114) && this._text.charCodeAt(i0 + (3)) == (111) && this._text.charC
odeAt(i0 + (4)) == (119)) return (111); |
| 7491 } | 7500 } |
| 7492 else if (ch == (119)) { | 7501 else if (ch == (119)) { |
| 7493 if (this._text.charCodeAt(i0 + (1)) == (104) && this._text.charCodeAt(i0
+ (2)) == (105) && this._text.charCodeAt(i0 + (3)) == (108) && this._text.charC
odeAt(i0 + (4)) == (101)) return (115); | 7502 if (this._text.charCodeAt(i0 + (1)) == (104) && this._text.charCodeAt(i0
+ (2)) == (105) && this._text.charCodeAt(i0 + (3)) == (108) && this._text.charC
odeAt(i0 + (4)) == (101)) return (116); |
| 7494 } | 7503 } |
| 7495 return (70); | 7504 return (70); |
| 7496 | 7505 |
| 7497 case (6): | 7506 case (6): |
| 7498 | 7507 |
| 7499 ch = this._text.charCodeAt(i0); | 7508 ch = this._text.charCodeAt(i0); |
| 7500 if (ch == (97)) { | 7509 if (ch == (97)) { |
| 7501 if (this._text.charCodeAt(i0 + (1)) == (115) && this._text.charCodeAt(i0
+ (2)) == (115) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (116)) return (72
); | 7510 if (this._text.charCodeAt(i0 + (1)) == (115) && this._text.charCodeAt(i0
+ (2)) == (115) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (116)) return (72
); |
| 7502 } | 7511 } |
| 7503 else if (ch == (105)) { | 7512 else if (ch == (105)) { |
| 7504 if (this._text.charCodeAt(i0 + (1)) == (109) && this._text.charCodeAt(i0
+ (2)) == (112) && this._text.charCodeAt(i0 + (3)) == (111) && this._text.charC
odeAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (116)) return (76
); | 7513 if (this._text.charCodeAt(i0 + (1)) == (109) && this._text.charCodeAt(i0
+ (2)) == (112) && this._text.charCodeAt(i0 + (3)) == (111) && this._text.charC
odeAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (116)) return (77
); |
| 7505 } | 7514 } |
| 7506 else if (ch == (110)) { | 7515 else if (ch == (110)) { |
| 7507 ch = this._text.charCodeAt(i0 + (1)); | 7516 ch = this._text.charCodeAt(i0 + (1)); |
| 7508 if (ch == (97)) { | 7517 if (ch == (97)) { |
| 7509 if (this._text.charCodeAt(i0 + (2)) == (116) && this._text.charCodeAt(
i0 + (3)) == (105) && this._text.charCodeAt(i0 + (4)) == (118) && this._text.cha
rCodeAt(i0 + (5)) == (101)) return (79); | 7518 if (this._text.charCodeAt(i0 + (2)) == (116) && this._text.charCodeAt(
i0 + (3)) == (105) && this._text.charCodeAt(i0 + (4)) == (118) && this._text.cha
rCodeAt(i0 + (5)) == (101)) return (80); |
| 7510 } | 7519 } |
| 7511 else if (ch == (101)) { | 7520 else if (ch == (101)) { |
| 7512 if (this._text.charCodeAt(i0 + (2)) == (103) && this._text.charCodeAt(
i0 + (3)) == (97) && this._text.charCodeAt(i0 + (4)) == (116) && this._text.char
CodeAt(i0 + (5)) == (101)) return (80); | 7521 if (this._text.charCodeAt(i0 + (2)) == (103) && this._text.charCodeAt(
i0 + (3)) == (97) && this._text.charCodeAt(i0 + (4)) == (116) && this._text.char
CodeAt(i0 + (5)) == (101)) return (81); |
| 7513 } | 7522 } |
| 7514 } | 7523 } |
| 7515 else if (ch == (114)) { | 7524 else if (ch == (114)) { |
| 7516 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (116) && this._text.charCodeAt(i0 + (3)) == (117) && this._text.charC
odeAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (110)) return (10
6); | 7525 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (116) && this._text.charCodeAt(i0 + (3)) == (117) && this._text.charC
odeAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (110)) return (10
7); |
| 7517 } | 7526 } |
| 7518 else if (ch == (115)) { | 7527 else if (ch == (115)) { |
| 7519 ch = this._text.charCodeAt(i0 + (1)); | 7528 ch = this._text.charCodeAt(i0 + (1)); |
| 7520 if (ch == (111)) { | 7529 if (ch == (111)) { |
| 7521 if (this._text.charCodeAt(i0 + (2)) == (117) && this._text.charCodeAt(
i0 + (3)) == (114) && this._text.charCodeAt(i0 + (4)) == (99) && this._text.char
CodeAt(i0 + (5)) == (101)) return (83); | 7530 if (this._text.charCodeAt(i0 + (2)) == (117) && this._text.charCodeAt(
i0 + (3)) == (114) && this._text.charCodeAt(i0 + (4)) == (99) && this._text.char
CodeAt(i0 + (5)) == (101)) return (84); |
| 7522 } | 7531 } |
| 7523 else if (ch == (116)) { | 7532 else if (ch == (116)) { |
| 7524 if (this._text.charCodeAt(i0 + (2)) == (97) && this._text.charCodeAt(i
0 + (3)) == (116) && this._text.charCodeAt(i0 + (4)) == (105) && this._text.char
CodeAt(i0 + (5)) == (99)) return (84); | 7533 if (this._text.charCodeAt(i0 + (2)) == (97) && this._text.charCodeAt(i
0 + (3)) == (116) && this._text.charCodeAt(i0 + (4)) == (105) && this._text.char
CodeAt(i0 + (5)) == (99)) return (85); |
| 7525 } | 7534 } |
| 7526 else if (ch == (119)) { | 7535 else if (ch == (119)) { |
| 7527 if (this._text.charCodeAt(i0 + (2)) == (105) && this._text.charCodeAt(
i0 + (3)) == (116) && this._text.charCodeAt(i0 + (4)) == (99) && this._text.char
CodeAt(i0 + (5)) == (104)) return (108); | 7536 if (this._text.charCodeAt(i0 + (2)) == (105) && this._text.charCodeAt(
i0 + (3)) == (116) && this._text.charCodeAt(i0 + (4)) == (99) && this._text.char
CodeAt(i0 + (5)) == (104)) return (109); |
| 7528 } | 7537 } |
| 7529 } | 7538 } |
| 7530 return (70); | 7539 return (70); |
| 7531 | 7540 |
| 7532 case (7): | 7541 case (7): |
| 7533 | 7542 |
| 7534 ch = this._text.charCodeAt(i0); | 7543 ch = this._text.charCodeAt(i0); |
| 7535 if (ch == (100)) { | 7544 if (ch == (100)) { |
| 7536 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (102) && this._text.charCodeAt(i0 + (3)) == (97) && this._text.charCo
deAt(i0 + (4)) == (117) && this._text.charCodeAt(i0 + (5)) == (108) && this._tex
t.charCodeAt(i0 + (6)) == (116)) return (93); | 7545 if (this._text.charCodeAt(i0 + (1)) == (101) && this._text.charCodeAt(i0
+ (2)) == (102) && this._text.charCodeAt(i0 + (3)) == (97) && this._text.charCo
deAt(i0 + (4)) == (117) && this._text.charCodeAt(i0 + (5)) == (108) && this._tex
t.charCodeAt(i0 + (6)) == (116)) return (94); |
| 7537 } | 7546 } |
| 7538 else if (ch == (101)) { | 7547 else if (ch == (101)) { |
| 7539 if (this._text.charCodeAt(i0 + (1)) == (120) && this._text.charCodeAt(i0
+ (2)) == (116) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (110) && this._text.charCodeAt(i0 + (5)) == (100) && this._te
xt.charCodeAt(i0 + (6)) == (115)) return (96); | 7548 if (this._text.charCodeAt(i0 + (1)) == (120) && this._text.charCodeAt(i0
+ (2)) == (116) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (110) && this._text.charCodeAt(i0 + (5)) == (100) && this._te
xt.charCodeAt(i0 + (6)) == (115)) return (97); |
| 7540 } | 7549 } |
| 7541 else if (ch == (102)) { | 7550 else if (ch == (102)) { |
| 7542 ch = this._text.charCodeAt(i0 + (1)); | 7551 ch = this._text.charCodeAt(i0 + (1)); |
| 7543 if (ch == (97)) { | 7552 if (ch == (97)) { |
| 7544 if (this._text.charCodeAt(i0 + (2)) == (99) && this._text.charCodeAt(i
0 + (3)) == (116) && this._text.charCodeAt(i0 + (4)) == (111) && this._text.char
CodeAt(i0 + (5)) == (114) && this._text.charCodeAt(i0 + (6)) == (121)) return (7
3); | 7553 if (this._text.charCodeAt(i0 + (2)) == (99) && this._text.charCodeAt(i
0 + (3)) == (116) && this._text.charCodeAt(i0 + (4)) == (111) && this._text.char
CodeAt(i0 + (5)) == (114) && this._text.charCodeAt(i0 + (6)) == (121)) return (7
4); |
| 7545 } | 7554 } |
| 7546 else if (ch == (105)) { | 7555 else if (ch == (105)) { |
| 7547 if (this._text.charCodeAt(i0 + (2)) == (110) && this._text.charCodeAt(
i0 + (3)) == (97) && this._text.charCodeAt(i0 + (4)) == (108) && this._text.char
CodeAt(i0 + (5)) == (108) && this._text.charCodeAt(i0 + (6)) == (121)) return (9
9); | 7556 if (this._text.charCodeAt(i0 + (2)) == (110) && this._text.charCodeAt(
i0 + (3)) == (97) && this._text.charCodeAt(i0 + (4)) == (108) && this._text.char
CodeAt(i0 + (5)) == (108) && this._text.charCodeAt(i0 + (6)) == (121)) return (1
00); |
| 7548 } | 7557 } |
| 7549 } | 7558 } |
| 7550 else if (ch == (108)) { | 7559 else if (ch == (108)) { |
| 7551 if (this._text.charCodeAt(i0 + (1)) == (105) && this._text.charCodeAt(i0
+ (2)) == (98) && this._text.charCodeAt(i0 + (3)) == (114) && this._text.charCo
deAt(i0 + (4)) == (97) && this._text.charCodeAt(i0 + (5)) == (114) && this._text
.charCodeAt(i0 + (6)) == (121)) return (78); | 7560 if (this._text.charCodeAt(i0 + (1)) == (105) && this._text.charCodeAt(i0
+ (2)) == (98) && this._text.charCodeAt(i0 + (3)) == (114) && this._text.charCo
deAt(i0 + (4)) == (97) && this._text.charCodeAt(i0 + (5)) == (114) && this._text
.charCodeAt(i0 + (6)) == (121)) return (79); |
| 7552 } | 7561 } |
| 7553 else if (ch == (116)) { | 7562 else if (ch == (116)) { |
| 7554 if (this._text.charCodeAt(i0 + (1)) == (121) && this._text.charCodeAt(i0
+ (2)) == (112) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (100) && this._text.charCodeAt(i0 + (5)) == (101) && this._te
xt.charCodeAt(i0 + (6)) == (102)) return (85); | 7563 if (this._text.charCodeAt(i0 + (1)) == (121) && this._text.charCodeAt(i0
+ (2)) == (112) && this._text.charCodeAt(i0 + (3)) == (101) && this._text.charC
odeAt(i0 + (4)) == (100) && this._text.charCodeAt(i0 + (5)) == (101) && this._te
xt.charCodeAt(i0 + (6)) == (102)) return (86); |
| 7555 } | 7564 } |
| 7556 return (70); | 7565 return (70); |
| 7557 | 7566 |
| 7558 case (8): | 7567 case (8): |
| 7559 | 7568 |
| 7560 ch = this._text.charCodeAt(i0); | 7569 ch = this._text.charCodeAt(i0); |
| 7561 if (ch == (97)) { | 7570 if (ch == (97)) { |
| 7562 if (this._text.charCodeAt(i0 + (1)) == (98) && this._text.charCodeAt(i0
+ (2)) == (115) && this._text.charCodeAt(i0 + (3)) == (116) && this._text.charCo
deAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (97) && this._text
.charCodeAt(i0 + (6)) == (99) && this._text.charCodeAt(i0 + (7)) == (116)) retur
n (71); | 7571 if (this._text.charCodeAt(i0 + (1)) == (98) && this._text.charCodeAt(i0
+ (2)) == (115) && this._text.charCodeAt(i0 + (3)) == (116) && this._text.charCo
deAt(i0 + (4)) == (114) && this._text.charCodeAt(i0 + (5)) == (97) && this._text
.charCodeAt(i0 + (6)) == (99) && this._text.charCodeAt(i0 + (7)) == (116)) retur
n (71); |
| 7563 } | 7572 } |
| 7564 else if (ch == (99)) { | 7573 else if (ch == (99)) { |
| 7565 if (this._text.charCodeAt(i0 + (1)) == (111) && this._text.charCodeAt(i0
+ (2)) == (110) && this._text.charCodeAt(i0 + (3)) == (116) && this._text.charC
odeAt(i0 + (4)) == (105) && this._text.charCodeAt(i0 + (5)) == (110) && this._te
xt.charCodeAt(i0 + (6)) == (117) && this._text.charCodeAt(i0 + (7)) == (101)) re
turn (92); | 7574 if (this._text.charCodeAt(i0 + (1)) == (111) && this._text.charCodeAt(i0
+ (2)) == (110) && this._text.charCodeAt(i0 + (3)) == (116) && this._text.charC
odeAt(i0 + (4)) == (105) && this._text.charCodeAt(i0 + (5)) == (110) && this._te
xt.charCodeAt(i0 + (6)) == (117) && this._text.charCodeAt(i0 + (7)) == (101)) re
turn (93); |
| 7566 } | 7575 } |
| 7567 else if (ch == (111)) { | 7576 else if (ch == (111)) { |
| 7568 if (this._text.charCodeAt(i0 + (1)) == (112) && this._text.charCodeAt(i0
+ (2)) == (101) && this._text.charCodeAt(i0 + (3)) == (114) && this._text.charC
odeAt(i0 + (4)) == (97) && this._text.charCodeAt(i0 + (5)) == (116) && this._tex
t.charCodeAt(i0 + (6)) == (111) && this._text.charCodeAt(i0 + (7)) == (114)) ret
urn (81); | 7577 if (this._text.charCodeAt(i0 + (1)) == (112) && this._text.charCodeAt(i0
+ (2)) == (101) && this._text.charCodeAt(i0 + (3)) == (114) && this._text.charC
odeAt(i0 + (4)) == (97) && this._text.charCodeAt(i0 + (5)) == (116) && this._tex
t.charCodeAt(i0 + (6)) == (111) && this._text.charCodeAt(i0 + (7)) == (114)) ret
urn (82); |
| 7569 } | 7578 } |
| 7570 return (70); | 7579 return (70); |
| 7571 | 7580 |
| 7572 case (9): | 7581 case (9): |
| 7573 | 7582 |
| 7574 if (this._text.charCodeAt(i0) == (105) && this._text.charCodeAt(i0 + (1))
== (110) && this._text.charCodeAt(i0 + (2)) == (116) && this._text.charCodeAt(i0
+ (3)) == (101) && this._text.charCodeAt(i0 + (4)) == (114) && this._text.charC
odeAt(i0 + (5)) == (102) && this._text.charCodeAt(i0 + (6)) == (97) && this._tex
t.charCodeAt(i0 + (7)) == (99) && this._text.charCodeAt(i0 + (8)) == (101)) retu
rn (77); | 7583 if (this._text.charCodeAt(i0) == (105) && this._text.charCodeAt(i0 + (1))
== (110) && this._text.charCodeAt(i0 + (2)) == (116) && this._text.charCodeAt(i0
+ (3)) == (101) && this._text.charCodeAt(i0 + (4)) == (114) && this._text.charC
odeAt(i0 + (5)) == (102) && this._text.charCodeAt(i0 + (6)) == (97) && this._tex
t.charCodeAt(i0 + (7)) == (99) && this._text.charCodeAt(i0 + (8)) == (101)) retu
rn (78); |
| 7575 return (70); | 7584 return (70); |
| 7576 | 7585 |
| 7577 case (10): | 7586 case (10): |
| 7578 | 7587 |
| 7579 if (this._text.charCodeAt(i0) == (105) && this._text.charCodeAt(i0 + (1))
== (109) && this._text.charCodeAt(i0 + (2)) == (112) && this._text.charCodeAt(i0
+ (3)) == (108) && this._text.charCodeAt(i0 + (4)) == (101) && this._text.charC
odeAt(i0 + (5)) == (109) && this._text.charCodeAt(i0 + (6)) == (101) && this._te
xt.charCodeAt(i0 + (7)) == (110) && this._text.charCodeAt(i0 + (8)) == (116) &&
this._text.charCodeAt(i0 + (9)) == (115)) return (75); | 7588 if (this._text.charCodeAt(i0) == (105) && this._text.charCodeAt(i0 + (1))
== (109) && this._text.charCodeAt(i0 + (2)) == (112) && this._text.charCodeAt(i0
+ (3)) == (108) && this._text.charCodeAt(i0 + (4)) == (101) && this._text.charC
odeAt(i0 + (5)) == (109) && this._text.charCodeAt(i0 + (6)) == (101) && this._te
xt.charCodeAt(i0 + (7)) == (110) && this._text.charCodeAt(i0 + (8)) == (116) &&
this._text.charCodeAt(i0 + (9)) == (115)) return (76); |
| 7580 return (70); | 7589 return (70); |
| 7581 | 7590 |
| 7582 default: | 7591 default: |
| 7583 | 7592 |
| 7584 return (70); | 7593 return (70); |
| 7585 | 7594 |
| 7586 } | 7595 } |
| 7587 } | 7596 } |
| 7588 Tokenizer.prototype.next$0 = Tokenizer.prototype.next; | 7597 Tokenizer.prototype.next$0 = Tokenizer.prototype.next; |
| 7589 // ********** Code for TokenKind ************** | 7598 // ********** Code for TokenKind ************** |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7871 return "identifier"; | 7880 return "identifier"; |
| 7872 | 7881 |
| 7873 case (71): | 7882 case (71): |
| 7874 | 7883 |
| 7875 return "pseudo-keyword 'abstract'"; | 7884 return "pseudo-keyword 'abstract'"; |
| 7876 | 7885 |
| 7877 case (72): | 7886 case (72): |
| 7878 | 7887 |
| 7879 return "pseudo-keyword 'assert'"; | 7888 return "pseudo-keyword 'assert'"; |
| 7880 | 7889 |
| 7881 case (90): | 7890 case (73): |
| 7882 | 7891 |
| 7883 return "pseudo-keyword 'class'"; | 7892 return "pseudo-keyword 'call'"; |
| 7884 | 7893 |
| 7885 case (96): | 7894 case (74): |
| 7886 | |
| 7887 return "pseudo-keyword 'extends'"; | |
| 7888 | |
| 7889 case (73): | |
| 7890 | 7895 |
| 7891 return "pseudo-keyword 'factory'"; | 7896 return "pseudo-keyword 'factory'"; |
| 7892 | 7897 |
| 7893 case (74): | 7898 case (75): |
| 7894 | 7899 |
| 7895 return "pseudo-keyword 'get'"; | 7900 return "pseudo-keyword 'get'"; |
| 7896 | 7901 |
| 7897 case (75): | 7902 case (76): |
| 7898 | 7903 |
| 7899 return "pseudo-keyword 'implements'"; | 7904 return "pseudo-keyword 'implements'"; |
| 7900 | 7905 |
| 7901 case (76): | 7906 case (77): |
| 7902 | 7907 |
| 7903 return "pseudo-keyword 'import'"; | 7908 return "pseudo-keyword 'import'"; |
| 7904 | 7909 |
| 7905 case (77): | 7910 case (78): |
| 7906 | 7911 |
| 7907 return "pseudo-keyword 'interface'"; | 7912 return "pseudo-keyword 'interface'"; |
| 7908 | 7913 |
| 7909 case (78): | 7914 case (79): |
| 7910 | 7915 |
| 7911 return "pseudo-keyword 'library'"; | 7916 return "pseudo-keyword 'library'"; |
| 7912 | 7917 |
| 7913 case (79): | 7918 case (80): |
| 7914 | 7919 |
| 7915 return "pseudo-keyword 'native'"; | 7920 return "pseudo-keyword 'native'"; |
| 7916 | 7921 |
| 7917 case (80): | 7922 case (81): |
| 7918 | 7923 |
| 7919 return "pseudo-keyword 'negate'"; | 7924 return "pseudo-keyword 'negate'"; |
| 7920 | 7925 |
| 7921 case (81): | 7926 case (82): |
| 7922 | 7927 |
| 7923 return "pseudo-keyword 'operator'"; | 7928 return "pseudo-keyword 'operator'"; |
| 7924 | 7929 |
| 7925 case (82): | 7930 case (83): |
| 7926 | 7931 |
| 7927 return "pseudo-keyword 'set'"; | 7932 return "pseudo-keyword 'set'"; |
| 7928 | 7933 |
| 7929 case (83): | 7934 case (84): |
| 7930 | 7935 |
| 7931 return "pseudo-keyword 'source'"; | 7936 return "pseudo-keyword 'source'"; |
| 7932 | 7937 |
| 7933 case (84): | 7938 case (85): |
| 7934 | 7939 |
| 7935 return "pseudo-keyword 'static'"; | 7940 return "pseudo-keyword 'static'"; |
| 7936 | 7941 |
| 7937 case (85): | 7942 case (86): |
| 7938 | 7943 |
| 7939 return "pseudo-keyword 'typedef'"; | 7944 return "pseudo-keyword 'typedef'"; |
| 7940 | 7945 |
| 7941 case (86): | 7946 case (87): |
| 7942 | 7947 |
| 7943 return "keyword 'await'"; | 7948 return "keyword 'await'"; |
| 7944 | 7949 |
| 7945 case (87): | 7950 case (88): |
| 7946 | 7951 |
| 7947 return "keyword 'break'"; | 7952 return "keyword 'break'"; |
| 7948 | 7953 |
| 7949 case (88): | 7954 case (89): |
| 7950 | 7955 |
| 7951 return "keyword 'case'"; | 7956 return "keyword 'case'"; |
| 7952 | 7957 |
| 7953 case (89): | 7958 case (90): |
| 7954 | 7959 |
| 7955 return "keyword 'catch'"; | 7960 return "keyword 'catch'"; |
| 7956 | 7961 |
| 7957 case (91): | 7962 case (91): |
| 7958 | 7963 |
| 7959 return "keyword 'const'"; | 7964 return "keyword 'class'"; |
| 7960 | 7965 |
| 7961 case (92): | 7966 case (92): |
| 7962 | 7967 |
| 7963 return "keyword 'continue'"; | 7968 return "keyword 'const'"; |
| 7964 | 7969 |
| 7965 case (93): | 7970 case (93): |
| 7966 | 7971 |
| 7967 return "keyword 'default'"; | 7972 return "keyword 'continue'"; |
| 7968 | 7973 |
| 7969 case (94): | 7974 case (94): |
| 7970 | 7975 |
| 7976 return "keyword 'default'"; |
| 7977 |
| 7978 case (95): |
| 7979 |
| 7971 return "keyword 'do'"; | 7980 return "keyword 'do'"; |
| 7972 | 7981 |
| 7973 case (95): | 7982 case (96): |
| 7974 | 7983 |
| 7975 return "keyword 'else'"; | 7984 return "keyword 'else'"; |
| 7976 | 7985 |
| 7977 case (97): | 7986 case (97): |
| 7978 | 7987 |
| 7979 return "keyword 'false'"; | 7988 return "keyword 'extends'"; |
| 7980 | 7989 |
| 7981 case (98): | 7990 case (98): |
| 7982 | 7991 |
| 7983 return "keyword 'final'"; | 7992 return "keyword 'false'"; |
| 7984 | 7993 |
| 7985 case (99): | 7994 case (99): |
| 7986 | 7995 |
| 7987 return "keyword 'finally'"; | 7996 return "keyword 'final'"; |
| 7988 | 7997 |
| 7989 case (100): | 7998 case (100): |
| 7990 | 7999 |
| 7991 return "keyword 'for'"; | 8000 return "keyword 'finally'"; |
| 7992 | 8001 |
| 7993 case (101): | 8002 case (101): |
| 7994 | 8003 |
| 7995 return "keyword 'if'"; | 8004 return "keyword 'for'"; |
| 7996 | 8005 |
| 7997 case (102): | 8006 case (102): |
| 7998 | 8007 |
| 7999 return "keyword 'in'"; | 8008 return "keyword 'if'"; |
| 8000 | 8009 |
| 8001 case (103): | 8010 case (103): |
| 8002 | 8011 |
| 8003 return "keyword 'is'"; | 8012 return "keyword 'in'"; |
| 8004 | 8013 |
| 8005 case (104): | 8014 case (104): |
| 8006 | 8015 |
| 8007 return "keyword 'new'"; | 8016 return "keyword 'is'"; |
| 8008 | 8017 |
| 8009 case (105): | 8018 case (105): |
| 8010 | 8019 |
| 8011 return "keyword 'null'"; | 8020 return "keyword 'new'"; |
| 8012 | 8021 |
| 8013 case (106): | 8022 case (106): |
| 8014 | 8023 |
| 8015 return "keyword 'return'"; | 8024 return "keyword 'null'"; |
| 8016 | 8025 |
| 8017 case (107): | 8026 case (107): |
| 8018 | 8027 |
| 8019 return "keyword 'super'"; | 8028 return "keyword 'return'"; |
| 8020 | 8029 |
| 8021 case (108): | 8030 case (108): |
| 8022 | 8031 |
| 8023 return "keyword 'switch'"; | 8032 return "keyword 'super'"; |
| 8024 | 8033 |
| 8025 case (109): | 8034 case (109): |
| 8026 | 8035 |
| 8027 return "keyword 'this'"; | 8036 return "keyword 'switch'"; |
| 8028 | 8037 |
| 8029 case (110): | 8038 case (110): |
| 8030 | 8039 |
| 8031 return "keyword 'throw'"; | 8040 return "keyword 'this'"; |
| 8032 | 8041 |
| 8033 case (111): | 8042 case (111): |
| 8034 | 8043 |
| 8035 return "keyword 'true'"; | 8044 return "keyword 'throw'"; |
| 8036 | 8045 |
| 8037 case (112): | 8046 case (112): |
| 8038 | 8047 |
| 8039 return "keyword 'try'"; | 8048 return "keyword 'true'"; |
| 8040 | 8049 |
| 8041 case (113): | 8050 case (113): |
| 8042 | 8051 |
| 8043 return "keyword 'var'"; | 8052 return "keyword 'try'"; |
| 8044 | 8053 |
| 8045 case (114): | 8054 case (114): |
| 8046 | 8055 |
| 8056 return "keyword 'var'"; |
| 8057 |
| 8058 case (115): |
| 8059 |
| 8047 return "keyword 'void'"; | 8060 return "keyword 'void'"; |
| 8048 | 8061 |
| 8049 case (115): | 8062 case (116): |
| 8050 | 8063 |
| 8051 return "keyword 'while'"; | 8064 return "keyword 'while'"; |
| 8052 | 8065 |
| 8053 default: | 8066 default: |
| 8054 | 8067 |
| 8055 return "TokenKind(" + kind.toString() + ")"; | 8068 return "TokenKind(" + kind.toString() + ")"; |
| 8056 | 8069 |
| 8057 } | 8070 } |
| 8058 } | 8071 } |
| 8059 TokenKind.isIdentifier = function(kind) { | 8072 TokenKind.isIdentifier = function(kind) { |
| 8060 return kind >= (70) && kind < (86); | 8073 return kind >= (70) && kind < (87); |
| 8061 } | 8074 } |
| 8062 TokenKind.infixPrecedence = function(kind) { | 8075 TokenKind.infixPrecedence = function(kind) { |
| 8063 switch (kind) { | 8076 switch (kind) { |
| 8064 case (20): | 8077 case (20): |
| 8065 | 8078 |
| 8066 return (2); | 8079 return (2); |
| 8067 | 8080 |
| 8068 case (21): | 8081 case (21): |
| 8069 | 8082 |
| 8070 return (2); | 8083 return (2); |
| (...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8198 return (10); | 8211 return (10); |
| 8199 | 8212 |
| 8200 case (54): | 8213 case (54): |
| 8201 | 8214 |
| 8202 return (10); | 8215 return (10); |
| 8203 | 8216 |
| 8204 case (55): | 8217 case (55): |
| 8205 | 8218 |
| 8206 return (10); | 8219 return (10); |
| 8207 | 8220 |
| 8208 case (103): | 8221 case (104): |
| 8209 | 8222 |
| 8210 return (10); | 8223 return (10); |
| 8211 | 8224 |
| 8212 default: | 8225 default: |
| 8213 | 8226 |
| 8214 return (-1); | 8227 return (-1); |
| 8215 | 8228 |
| 8216 } | 8229 } |
| 8217 } | 8230 } |
| 8218 TokenKind.rawOperatorFromMethod = function(name) { | 8231 TokenKind.rawOperatorFromMethod = function(name) { |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8441 this._peekToken = this.tokenizer.next(); | 8454 this._peekToken = this.tokenizer.next(); |
| 8442 return this._previousToken; | 8455 return this._previousToken; |
| 8443 } | 8456 } |
| 8444 Parser.prototype._peekKind = function(kind) { | 8457 Parser.prototype._peekKind = function(kind) { |
| 8445 return this._peekToken.kind == kind; | 8458 return this._peekToken.kind == kind; |
| 8446 } | 8459 } |
| 8447 Parser.prototype._peekIdentifier = function() { | 8460 Parser.prototype._peekIdentifier = function() { |
| 8448 return this._isIdentifier(this._peekToken.kind); | 8461 return this._isIdentifier(this._peekToken.kind); |
| 8449 } | 8462 } |
| 8450 Parser.prototype._isIdentifier = function(kind) { | 8463 Parser.prototype._isIdentifier = function(kind) { |
| 8451 return TokenKind.isIdentifier(kind) || (!this.get$enableAwait() && $eq(kind, (
86))); | 8464 return TokenKind.isIdentifier(kind) || (!this.get$enableAwait() && $eq(kind, (
87))); |
| 8452 } | 8465 } |
| 8453 Parser.prototype._maybeEat = function(kind) { | 8466 Parser.prototype._maybeEat = function(kind) { |
| 8454 if (this._peekToken.kind == kind) { | 8467 if (this._peekToken.kind == kind) { |
| 8455 this._previousToken = this._peekToken; | 8468 this._previousToken = this._peekToken; |
| 8456 this._peekToken = this.tokenizer.next(); | 8469 this._peekToken = this.tokenizer.next(); |
| 8457 return true; | 8470 return true; |
| 8458 } | 8471 } |
| 8459 else { | 8472 else { |
| 8460 return false; | 8473 return false; |
| 8461 } | 8474 } |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8524 Parser.prototype.directive = function() { | 8537 Parser.prototype.directive = function() { |
| 8525 var start = this._peekToken.start; | 8538 var start = this._peekToken.start; |
| 8526 this._eat((12)); | 8539 this._eat((12)); |
| 8527 var name = this.identifier(); | 8540 var name = this.identifier(); |
| 8528 var args = this.arguments(); | 8541 var args = this.arguments(); |
| 8529 this._eatSemicolon(); | 8542 this._eatSemicolon(); |
| 8530 return new DirectiveDefinition(name, args, this._makeSpan(start)); | 8543 return new DirectiveDefinition(name, args, this._makeSpan(start)); |
| 8531 } | 8544 } |
| 8532 Parser.prototype.topLevelDefinition = function() { | 8545 Parser.prototype.topLevelDefinition = function() { |
| 8533 switch (this._peek()) { | 8546 switch (this._peek()) { |
| 8534 case (90): | 8547 case (91): |
| 8535 | 8548 |
| 8536 return this.classDefinition((90)); | 8549 return this.classDefinition((91)); |
| 8537 | 8550 |
| 8538 case (77): | 8551 case (78): |
| 8539 | 8552 |
| 8540 return this.classDefinition((77)); | 8553 return this.classDefinition((78)); |
| 8541 | 8554 |
| 8542 case (85): | 8555 case (86): |
| 8543 | 8556 |
| 8544 return this.functionTypeAlias(); | 8557 return this.functionTypeAlias(); |
| 8545 | 8558 |
| 8546 default: | 8559 default: |
| 8547 | 8560 |
| 8548 return this.declaration(true); | 8561 return this.declaration(true); |
| 8549 | 8562 |
| 8550 } | 8563 } |
| 8551 } | 8564 } |
| 8552 Parser.prototype.classDefinition = function(kind) { | 8565 Parser.prototype.classDefinition = function(kind) { |
| 8553 var start = this._peekToken.start; | 8566 var start = this._peekToken.start; |
| 8554 this._eat(kind); | 8567 this._eat(kind); |
| 8555 var name = this.identifier(); | 8568 var name = this.identifierForType(); |
| 8556 var typeParams = null; | 8569 var typeParams = null; |
| 8557 if (this._peekKind((52))) { | 8570 if (this._peekKind((52))) { |
| 8558 typeParams = this.typeParameters(); | 8571 typeParams = this.typeParameters(); |
| 8559 } | 8572 } |
| 8560 var _extends = null; | 8573 var _extends = null; |
| 8561 if (this._maybeEat((96))) { | 8574 if (this._maybeEat((97))) { |
| 8562 _extends = this.typeList(); | 8575 _extends = this.typeList(); |
| 8563 } | 8576 } |
| 8564 var _implements = null; | 8577 var _implements = null; |
| 8565 if (this._maybeEat((75))) { | 8578 if (this._maybeEat((76))) { |
| 8566 _implements = this.typeList(); | 8579 _implements = this.typeList(); |
| 8567 } | 8580 } |
| 8568 var _native = null; | 8581 var _native = null; |
| 8569 if (this._maybeEat((79))) { | 8582 if (this._maybeEat((80))) { |
| 8570 _native = this.maybeStringLiteral(); | 8583 _native = this.maybeStringLiteral(); |
| 8571 if (_native != null) _native = new NativeType(_native); | 8584 if (_native != null) _native = new NativeType(_native); |
| 8572 } | 8585 } |
| 8573 var oldFactory = this._maybeEat((73)); | 8586 var oldFactory = this._maybeEat((74)); |
| 8574 var defaultType = null; | 8587 var defaultType = null; |
| 8575 if (oldFactory || this._maybeEat((93))) { | 8588 if (oldFactory || this._maybeEat((94))) { |
| 8576 if (oldFactory) { | 8589 if (oldFactory) { |
| 8577 $globals.world.warning("factory no longer supported, use \"default\" inste
ad", this._previousToken.get$span()); | 8590 $globals.world.warning("factory no longer supported, use \"default\" inste
ad", this._previousToken.get$span()); |
| 8578 } | 8591 } |
| 8579 var baseType = this.nameTypeReference(); | 8592 var baseType = this.nameTypeReference(); |
| 8580 var typeParams0 = null; | 8593 var typeParams0 = null; |
| 8581 if (this._peekKind((52))) { | 8594 if (this._peekKind((52))) { |
| 8582 typeParams0 = this.typeParameters(); | 8595 typeParams0 = this.typeParameters(); |
| 8583 } | 8596 } |
| 8584 defaultType = new DefaultTypeReference(oldFactory, baseType, typeParams0, th
is._makeSpan(baseType.get$span().get$start())); | 8597 defaultType = new DefaultTypeReference(oldFactory, baseType, typeParams0, th
is._makeSpan(baseType.get$span().get$start())); |
| 8585 } | 8598 } |
| 8586 var body = []; | 8599 var body = []; |
| 8587 if (this._maybeEat((6))) { | 8600 if (this._maybeEat((6))) { |
| 8588 while (!this._maybeEat((7))) { | 8601 while (!this._maybeEat((7))) { |
| 8589 body.add$1(this.declaration(true)); | 8602 body.add$1(this.declaration(true)); |
| 8590 if (this._recover) { | 8603 if (this._recover) { |
| 8591 if (!this._recoverTo((7), (10))) break; | 8604 if (!this._recoverTo((7), (10))) break; |
| 8592 this._maybeEat((10)); | 8605 this._maybeEat((10)); |
| 8593 } | 8606 } |
| 8594 } | 8607 } |
| 8595 } | 8608 } |
| 8596 else { | 8609 else { |
| 8597 this._errorExpected("block starting with \"{\" or \";\""); | 8610 this._errorExpected("block starting with \"{\" or \";\""); |
| 8598 } | 8611 } |
| 8599 return new TypeDefinition(kind == (90), name, typeParams, _extends, _implement
s, _native, defaultType, body, this._makeSpan(start)); | 8612 return new TypeDefinition(kind == (91), name, typeParams, _extends, _implement
s, _native, defaultType, body, this._makeSpan(start)); |
| 8600 } | 8613 } |
| 8601 Parser.prototype.functionTypeAlias = function() { | 8614 Parser.prototype.functionTypeAlias = function() { |
| 8602 var start = this._peekToken.start; | 8615 var start = this._peekToken.start; |
| 8603 this._eat((85)); | 8616 this._eat((86)); |
| 8604 var di = this.declaredIdentifier(false); | 8617 var di = this.declaredIdentifier(false); |
| 8605 var typeParams = null; | 8618 var typeParams = null; |
| 8606 if (this._peekKind((52))) { | 8619 if (this._peekKind((52))) { |
| 8607 typeParams = this.typeParameters(); | 8620 typeParams = this.typeParameters(); |
| 8608 } | 8621 } |
| 8609 var formals = this.formalParameterList(); | 8622 var formals = this.formalParameterList(); |
| 8610 this._eatSemicolon(); | 8623 this._eatSemicolon(); |
| 8611 var func = new FunctionDefinition(null, di.get$type(), di.get$name(), formals,
null, null, null, this._makeSpan(start)); | 8624 var func = new FunctionDefinition(null, di.get$type(), di.get$name(), formals,
null, null, null, this._makeSpan(start)); |
| 8612 return new FunctionTypeDefinition(func, typeParams, this._makeSpan(start)); | 8625 return new FunctionTypeDefinition(func, typeParams, this._makeSpan(start)); |
| 8613 } | 8626 } |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8666 } | 8679 } |
| 8667 Parser.prototype.finishDefinition = function(start, modifiers, di) { | 8680 Parser.prototype.finishDefinition = function(start, modifiers, di) { |
| 8668 switch (this._peek()) { | 8681 switch (this._peek()) { |
| 8669 case (2): | 8682 case (2): |
| 8670 | 8683 |
| 8671 var formals = this.formalParameterList(); | 8684 var formals = this.formalParameterList(); |
| 8672 var inits = null, native_ = null; | 8685 var inits = null, native_ = null; |
| 8673 if (this._maybeEat((8))) { | 8686 if (this._maybeEat((8))) { |
| 8674 inits = this.initializers(); | 8687 inits = this.initializers(); |
| 8675 } | 8688 } |
| 8676 if (this._maybeEat((79))) { | 8689 if (this._maybeEat((80))) { |
| 8677 native_ = this.maybeStringLiteral(); | 8690 native_ = this.maybeStringLiteral(); |
| 8678 if (native_ == null) native_ = ""; | 8691 if (native_ == null) native_ = ""; |
| 8679 } | 8692 } |
| 8680 var body = this.functionBody(false); | 8693 var body = this.functionBody(false); |
| 8681 if (di.get$name() == null) { | 8694 if (di.get$name() == null) { |
| 8682 di.set$name(di.get$type().get$name()); | 8695 di.set$name(di.get$type().get$name()); |
| 8683 } | 8696 } |
| 8684 return new FunctionDefinition(modifiers, di.get$type(), di.get$name(), for
mals, inits, native_, body, this._makeSpan(start)); | 8697 return new FunctionDefinition(modifiers, di.get$type(), di.get$name(), for
mals, inits, native_, body, this._makeSpan(start)); |
| 8685 | 8698 |
| 8686 case (20): | 8699 case (20): |
| 8687 | 8700 |
| 8688 this._eat((20)); | 8701 this._eat((20)); |
| 8689 var value = this.expression(); | 8702 var value = this.expression(); |
| 8690 return this.finishField(start, modifiers, di.get$type(), di.get$name(), va
lue); | 8703 return this.finishField(start, modifiers, di.get$type(), di.get$name(), va
lue); |
| 8691 | 8704 |
| 8692 case (11): | 8705 case (11): |
| 8693 case (10): | 8706 case (10): |
| 8694 | 8707 |
| 8695 return this.finishField(start, modifiers, di.get$type(), di.get$name(), nu
ll); | 8708 return this.finishField(start, modifiers, di.get$type(), di.get$name(), nu
ll); |
| 8696 | 8709 |
| 8697 default: | 8710 default: |
| 8698 | 8711 |
| 8699 this._errorExpected("declaration"); | 8712 this._errorExpected("declaration"); |
| 8700 return null; | 8713 return null; |
| 8701 | 8714 |
| 8702 } | 8715 } |
| 8703 } | 8716 } |
| 8704 Parser.prototype.declaration = function(includeOperators) { | 8717 Parser.prototype.declaration = function(includeOperators) { |
| 8705 var start = this._peekToken.start; | 8718 var start = this._peekToken.start; |
| 8706 if (this._peekKind((73))) { | 8719 if (this._peekKind((74))) { |
| 8707 return this.factoryConstructorDeclaration(); | 8720 return this.factoryConstructorDeclaration(); |
| 8708 } | 8721 } |
| 8709 var modifiers = this._readModifiers(); | 8722 var modifiers = this._readModifiers(); |
| 8710 return this.finishDefinition(start, modifiers, this.declaredIdentifier(include
Operators)); | 8723 return this.finishDefinition(start, modifiers, this.declaredIdentifier(include
Operators)); |
| 8711 } | 8724 } |
| 8712 Parser.prototype.factoryConstructorDeclaration = function() { | 8725 Parser.prototype.factoryConstructorDeclaration = function() { |
| 8713 var start = this._peekToken.start; | 8726 var start = this._peekToken.start; |
| 8714 var factoryToken = this._lang_next(); | 8727 var factoryToken = this._lang_next(); |
| 8715 var names = [this.identifier()]; | 8728 var names = [this.identifier()]; |
| 8716 while (this._maybeEat((14))) { | 8729 while (this._maybeEat((14))) { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 8735 } | 8748 } |
| 8736 if (names.get$length() > (1)) { | 8749 if (names.get$length() > (1)) { |
| 8737 this._lang_error("unsupported qualified name for factory", names.$index((0))
.get$span()); | 8750 this._lang_error("unsupported qualified name for factory", names.$index((0))
.get$span()); |
| 8738 } | 8751 } |
| 8739 type = new NameTypeReference(false, names.$index((0)), null, names.$index((0))
.get$span()); | 8752 type = new NameTypeReference(false, names.$index((0)), null, names.$index((0))
.get$span()); |
| 8740 var di = new DeclaredIdentifier(type, name, this._makeSpan(start)); | 8753 var di = new DeclaredIdentifier(type, name, this._makeSpan(start)); |
| 8741 return this.finishDefinition(start, [factoryToken], di); | 8754 return this.finishDefinition(start, [factoryToken], di); |
| 8742 } | 8755 } |
| 8743 Parser.prototype.statement = function() { | 8756 Parser.prototype.statement = function() { |
| 8744 switch (this._peek()) { | 8757 switch (this._peek()) { |
| 8745 case (87): | 8758 case (88): |
| 8746 | 8759 |
| 8747 return this.breakStatement(); | 8760 return this.breakStatement(); |
| 8748 | 8761 |
| 8749 case (92): | 8762 case (93): |
| 8750 | 8763 |
| 8751 return this.continueStatement(); | 8764 return this.continueStatement(); |
| 8752 | 8765 |
| 8753 case (106): | 8766 case (107): |
| 8754 | 8767 |
| 8755 return this.returnStatement(); | 8768 return this.returnStatement(); |
| 8756 | 8769 |
| 8757 case (110): | 8770 case (111): |
| 8758 | 8771 |
| 8759 return this.throwStatement(); | 8772 return this.throwStatement(); |
| 8760 | 8773 |
| 8761 case (72): | 8774 case (72): |
| 8762 | 8775 |
| 8763 return this.assertStatement(); | 8776 return this.assertStatement(); |
| 8764 | 8777 |
| 8765 case (115): | 8778 case (116): |
| 8766 | 8779 |
| 8767 return this.whileStatement(); | 8780 return this.whileStatement(); |
| 8768 | 8781 |
| 8769 case (94): | 8782 case (95): |
| 8770 | 8783 |
| 8771 return this.doStatement(); | 8784 return this.doStatement(); |
| 8772 | 8785 |
| 8773 case (100): | 8786 case (101): |
| 8774 | 8787 |
| 8775 return this.forStatement(); | 8788 return this.forStatement(); |
| 8776 | 8789 |
| 8777 case (101): | 8790 case (102): |
| 8778 | 8791 |
| 8779 return this.ifStatement(); | 8792 return this.ifStatement(); |
| 8780 | 8793 |
| 8781 case (108): | 8794 case (109): |
| 8782 | 8795 |
| 8783 return this.switchStatement(); | 8796 return this.switchStatement(); |
| 8784 | 8797 |
| 8785 case (112): | 8798 case (113): |
| 8786 | 8799 |
| 8787 return this.tryStatement(); | 8800 return this.tryStatement(); |
| 8788 | 8801 |
| 8789 case (6): | 8802 case (6): |
| 8790 | 8803 |
| 8791 return this.block(); | 8804 return this.block(); |
| 8792 | 8805 |
| 8793 case (10): | 8806 case (10): |
| 8794 | 8807 |
| 8795 return this.emptyStatement(); | 8808 return this.emptyStatement(); |
| 8796 | 8809 |
| 8797 case (98): | 8810 case (99): |
| 8798 | 8811 |
| 8799 return this.declaration(false); | 8812 return this.declaration(false); |
| 8800 | 8813 |
| 8801 case (113): | 8814 case (114): |
| 8802 | 8815 |
| 8803 return this.declaration(false); | 8816 return this.declaration(false); |
| 8804 | 8817 |
| 8805 default: | 8818 default: |
| 8806 | 8819 |
| 8807 return this.finishExpressionAsStatement(this.expression()); | 8820 return this.finishExpressionAsStatement(this.expression()); |
| 8808 | 8821 |
| 8809 } | 8822 } |
| 8810 } | 8823 } |
| 8811 Parser.prototype.finishExpressionAsStatement = function(expr) { | 8824 Parser.prototype.finishExpressionAsStatement = function(expr) { |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8865 this._recover = false; | 8878 this._recover = false; |
| 8866 return new BlockStatement(stmts, this._makeSpan(start)); | 8879 return new BlockStatement(stmts, this._makeSpan(start)); |
| 8867 } | 8880 } |
| 8868 Parser.prototype.emptyStatement = function() { | 8881 Parser.prototype.emptyStatement = function() { |
| 8869 var start = this._peekToken.start; | 8882 var start = this._peekToken.start; |
| 8870 this._eat((10)); | 8883 this._eat((10)); |
| 8871 return new EmptyStatement(this._makeSpan(start)); | 8884 return new EmptyStatement(this._makeSpan(start)); |
| 8872 } | 8885 } |
| 8873 Parser.prototype.ifStatement = function() { | 8886 Parser.prototype.ifStatement = function() { |
| 8874 var start = this._peekToken.start; | 8887 var start = this._peekToken.start; |
| 8875 this._eat((101)); | 8888 this._eat((102)); |
| 8876 var test = this.testCondition(); | 8889 var test = this.testCondition(); |
| 8877 var trueBranch = this.statement(); | 8890 var trueBranch = this.statement(); |
| 8878 var falseBranch = null; | 8891 var falseBranch = null; |
| 8879 if (this._maybeEat((95))) { | 8892 if (this._maybeEat((96))) { |
| 8880 falseBranch = this.statement(); | 8893 falseBranch = this.statement(); |
| 8881 } | 8894 } |
| 8882 return new IfStatement(test, trueBranch, falseBranch, this._makeSpan(start)); | 8895 return new IfStatement(test, trueBranch, falseBranch, this._makeSpan(start)); |
| 8883 } | 8896 } |
| 8884 Parser.prototype.whileStatement = function() { | 8897 Parser.prototype.whileStatement = function() { |
| 8885 var start = this._peekToken.start; | 8898 var start = this._peekToken.start; |
| 8886 this._eat((115)); | 8899 this._eat((116)); |
| 8887 var test = this.testCondition(); | 8900 var test = this.testCondition(); |
| 8888 var body = this.statement(); | 8901 var body = this.statement(); |
| 8889 return new WhileStatement(test, body, this._makeSpan(start)); | 8902 return new WhileStatement(test, body, this._makeSpan(start)); |
| 8890 } | 8903 } |
| 8891 Parser.prototype.doStatement = function() { | 8904 Parser.prototype.doStatement = function() { |
| 8892 var start = this._peekToken.start; | 8905 var start = this._peekToken.start; |
| 8893 this._eat((94)); | 8906 this._eat((95)); |
| 8894 var body = this.statement(); | 8907 var body = this.statement(); |
| 8895 this._eat((115)); | 8908 this._eat((116)); |
| 8896 var test = this.testCondition(); | 8909 var test = this.testCondition(); |
| 8897 this._eatSemicolon(); | 8910 this._eatSemicolon(); |
| 8898 return new DoStatement(body, test, this._makeSpan(start)); | 8911 return new DoStatement(body, test, this._makeSpan(start)); |
| 8899 } | 8912 } |
| 8900 Parser.prototype.forStatement = function() { | 8913 Parser.prototype.forStatement = function() { |
| 8901 var start = this._peekToken.start; | 8914 var start = this._peekToken.start; |
| 8902 this._eat((100)); | 8915 this._eat((101)); |
| 8903 this._eatLeftParen(); | 8916 this._eatLeftParen(); |
| 8904 var init = this.forInitializerStatement(start); | 8917 var init = this.forInitializerStatement(start); |
| 8905 if ((init instanceof ForInStatement)) { | 8918 if ((init instanceof ForInStatement)) { |
| 8906 return init; | 8919 return init; |
| 8907 } | 8920 } |
| 8908 var test = null; | 8921 var test = null; |
| 8909 if (!this._maybeEat((10))) { | 8922 if (!this._maybeEat((10))) { |
| 8910 test = this.expression(); | 8923 test = this.expression(); |
| 8911 this._eatSemicolon(); | 8924 this._eatSemicolon(); |
| 8912 } | 8925 } |
| (...skipping 15 matching lines...) Expand all Loading... |
| 8928 else { | 8941 else { |
| 8929 var init = this.expression(); | 8942 var init = this.expression(); |
| 8930 if (this._peekKind((11)) && this._isBin(init, (52))) { | 8943 if (this._peekKind((11)) && this._isBin(init, (52))) { |
| 8931 this._eat((11)); | 8944 this._eat((11)); |
| 8932 var baseType = this._makeType(init.get$x()); | 8945 var baseType = this._makeType(init.get$x()); |
| 8933 var typeArgs = [this._makeType(init.get$y())]; | 8946 var typeArgs = [this._makeType(init.get$y())]; |
| 8934 var gt = this._finishTypeArguments(baseType, (0), typeArgs); | 8947 var gt = this._finishTypeArguments(baseType, (0), typeArgs); |
| 8935 var name = this.identifier(); | 8948 var name = this.identifier(); |
| 8936 init = new DeclaredIdentifier(gt, name, this._makeSpan(init.get$span().get
$start())); | 8949 init = new DeclaredIdentifier(gt, name, this._makeSpan(init.get$span().get
$start())); |
| 8937 } | 8950 } |
| 8938 if (this._maybeEat((102))) { | 8951 if (this._maybeEat((103))) { |
| 8939 return this._finishForIn(start, this._makeDeclaredIdentifier(init)); | 8952 return this._finishForIn(start, this._makeDeclaredIdentifier(init)); |
| 8940 } | 8953 } |
| 8941 else { | 8954 else { |
| 8942 return this.finishExpressionAsStatement(init); | 8955 return this.finishExpressionAsStatement(init); |
| 8943 } | 8956 } |
| 8944 } | 8957 } |
| 8945 } | 8958 } |
| 8946 Parser.prototype._finishForIn = function(start, di) { | 8959 Parser.prototype._finishForIn = function(start, di) { |
| 8947 var expr = this.expression(); | 8960 var expr = this.expression(); |
| 8948 this._eat((3)); | 8961 this._eat((3)); |
| 8949 var body = this.statement(); | 8962 var body = this.statement(); |
| 8950 return new ForInStatement(di, expr, body, this._makeSpan(start)); | 8963 return new ForInStatement(di, expr, body, this._makeSpan(start)); |
| 8951 } | 8964 } |
| 8952 Parser.prototype.tryStatement = function() { | 8965 Parser.prototype.tryStatement = function() { |
| 8953 var start = this._peekToken.start; | 8966 var start = this._peekToken.start; |
| 8954 this._eat((112)); | 8967 this._eat((113)); |
| 8955 var body = this.block(); | 8968 var body = this.block(); |
| 8956 var catches = []; | 8969 var catches = []; |
| 8957 while (this._peekKind((89))) { | 8970 while (this._peekKind((90))) { |
| 8958 catches.add$1(this.catchNode()); | 8971 catches.add$1(this.catchNode()); |
| 8959 } | 8972 } |
| 8960 var finallyBlock = null; | 8973 var finallyBlock = null; |
| 8961 if (this._maybeEat((99))) { | 8974 if (this._maybeEat((100))) { |
| 8962 finallyBlock = this.block(); | 8975 finallyBlock = this.block(); |
| 8963 } | 8976 } |
| 8964 return new TryStatement(body, catches, finallyBlock, this._makeSpan(start)); | 8977 return new TryStatement(body, catches, finallyBlock, this._makeSpan(start)); |
| 8965 } | 8978 } |
| 8966 Parser.prototype.catchNode = function() { | 8979 Parser.prototype.catchNode = function() { |
| 8967 var start = this._peekToken.start; | 8980 var start = this._peekToken.start; |
| 8968 this._eat((89)); | 8981 this._eat((90)); |
| 8969 this._eatLeftParen(); | 8982 this._eatLeftParen(); |
| 8970 var exc = this.declaredIdentifier(false); | 8983 var exc = this.declaredIdentifier(false); |
| 8971 var trace = null; | 8984 var trace = null; |
| 8972 if (this._maybeEat((11))) { | 8985 if (this._maybeEat((11))) { |
| 8973 trace = this.declaredIdentifier(false); | 8986 trace = this.declaredIdentifier(false); |
| 8974 } | 8987 } |
| 8975 this._eat((3)); | 8988 this._eat((3)); |
| 8976 var body = this.block(); | 8989 var body = this.block(); |
| 8977 return new CatchNode(exc, trace, body, this._makeSpan(start)); | 8990 return new CatchNode(exc, trace, body, this._makeSpan(start)); |
| 8978 } | 8991 } |
| 8979 Parser.prototype.switchStatement = function() { | 8992 Parser.prototype.switchStatement = function() { |
| 8980 var start = this._peekToken.start; | 8993 var start = this._peekToken.start; |
| 8981 this._eat((108)); | 8994 this._eat((109)); |
| 8982 var test = this.testCondition(); | 8995 var test = this.testCondition(); |
| 8983 var cases = []; | 8996 var cases = []; |
| 8984 this._eat((6)); | 8997 this._eat((6)); |
| 8985 while (!this._maybeEat((7))) { | 8998 while (!this._maybeEat((7))) { |
| 8986 cases.add$1(this.caseNode()); | 8999 cases.add$1(this.caseNode()); |
| 8987 } | 9000 } |
| 8988 return new SwitchStatement(test, cases, this._makeSpan(start)); | 9001 return new SwitchStatement(test, cases, this._makeSpan(start)); |
| 8989 } | 9002 } |
| 8990 Parser.prototype._peekCaseEnd = function() { | 9003 Parser.prototype._peekCaseEnd = function() { |
| 8991 var kind = this._peek(); | 9004 var kind = this._peek(); |
| 8992 return $eq(kind, (7)) || $eq(kind, (88)) || $eq(kind, (93)); | 9005 return $eq(kind, (7)) || $eq(kind, (89)) || $eq(kind, (94)); |
| 8993 } | 9006 } |
| 8994 Parser.prototype.caseNode = function() { | 9007 Parser.prototype.caseNode = function() { |
| 8995 var start = this._peekToken.start; | 9008 var start = this._peekToken.start; |
| 8996 var label = null; | 9009 var label = null; |
| 8997 if (this._peekIdentifier()) { | 9010 if (this._peekIdentifier()) { |
| 8998 label = this.identifier(); | 9011 label = this.identifier(); |
| 8999 this._eat((8)); | 9012 this._eat((8)); |
| 9000 } | 9013 } |
| 9001 var cases = []; | 9014 var cases = []; |
| 9002 while (true) { | 9015 while (true) { |
| 9003 if (this._maybeEat((88))) { | 9016 if (this._maybeEat((89))) { |
| 9004 cases.add$1(this.expression()); | 9017 cases.add$1(this.expression()); |
| 9005 this._eat((8)); | 9018 this._eat((8)); |
| 9006 } | 9019 } |
| 9007 else if (this._maybeEat((93))) { | 9020 else if (this._maybeEat((94))) { |
| 9008 cases.add$1(); | 9021 cases.add$1(); |
| 9009 this._eat((8)); | 9022 this._eat((8)); |
| 9010 } | 9023 } |
| 9011 else { | 9024 else { |
| 9012 break; | 9025 break; |
| 9013 } | 9026 } |
| 9014 } | 9027 } |
| 9015 if ($eq(cases.get$length(), (0))) { | 9028 if ($eq(cases.get$length(), (0))) { |
| 9016 this._lang_error("case or default"); | 9029 this._lang_error("case or default"); |
| 9017 } | 9030 } |
| 9018 var stmts = []; | 9031 var stmts = []; |
| 9019 while (!this._peekCaseEnd()) { | 9032 while (!this._peekCaseEnd()) { |
| 9020 stmts.add$1(this.statement()); | 9033 stmts.add$1(this.statement()); |
| 9021 if (this._recover && !this._recoverTo((7), (88), (93))) { | 9034 if (this._recover && !this._recoverTo((7), (89), (94))) { |
| 9022 break; | 9035 break; |
| 9023 } | 9036 } |
| 9024 } | 9037 } |
| 9025 return new CaseNode(label, cases, stmts, this._makeSpan(start)); | 9038 return new CaseNode(label, cases, stmts, this._makeSpan(start)); |
| 9026 } | 9039 } |
| 9027 Parser.prototype.returnStatement = function() { | 9040 Parser.prototype.returnStatement = function() { |
| 9028 var start = this._peekToken.start; | 9041 var start = this._peekToken.start; |
| 9029 this._eat((106)); | 9042 this._eat((107)); |
| 9030 var expr; | 9043 var expr; |
| 9031 if (this._maybeEat((10))) { | 9044 if (this._maybeEat((10))) { |
| 9032 expr = null; | 9045 expr = null; |
| 9033 } | 9046 } |
| 9034 else { | 9047 else { |
| 9035 expr = this.expression(); | 9048 expr = this.expression(); |
| 9036 this._eatSemicolon(); | 9049 this._eatSemicolon(); |
| 9037 } | 9050 } |
| 9038 return new ReturnStatement(expr, this._makeSpan(start)); | 9051 return new ReturnStatement(expr, this._makeSpan(start)); |
| 9039 } | 9052 } |
| 9040 Parser.prototype.throwStatement = function() { | 9053 Parser.prototype.throwStatement = function() { |
| 9041 var start = this._peekToken.start; | 9054 var start = this._peekToken.start; |
| 9042 this._eat((110)); | 9055 this._eat((111)); |
| 9043 var expr; | 9056 var expr; |
| 9044 if (this._maybeEat((10))) { | 9057 if (this._maybeEat((10))) { |
| 9045 expr = null; | 9058 expr = null; |
| 9046 } | 9059 } |
| 9047 else { | 9060 else { |
| 9048 expr = this.expression(); | 9061 expr = this.expression(); |
| 9049 this._eatSemicolon(); | 9062 this._eatSemicolon(); |
| 9050 } | 9063 } |
| 9051 return new ThrowStatement(expr, this._makeSpan(start)); | 9064 return new ThrowStatement(expr, this._makeSpan(start)); |
| 9052 } | 9065 } |
| 9053 Parser.prototype.assertStatement = function() { | 9066 Parser.prototype.assertStatement = function() { |
| 9054 var start = this._peekToken.start; | 9067 var start = this._peekToken.start; |
| 9055 this._eat((72)); | 9068 this._eat((72)); |
| 9056 this._eatLeftParen(); | 9069 this._eatLeftParen(); |
| 9057 var expr = this.expression(); | 9070 var expr = this.expression(); |
| 9058 this._eat((3)); | 9071 this._eat((3)); |
| 9059 this._eatSemicolon(); | 9072 this._eatSemicolon(); |
| 9060 return new AssertStatement(expr, this._makeSpan(start)); | 9073 return new AssertStatement(expr, this._makeSpan(start)); |
| 9061 } | 9074 } |
| 9062 Parser.prototype.breakStatement = function() { | 9075 Parser.prototype.breakStatement = function() { |
| 9063 var start = this._peekToken.start; | 9076 var start = this._peekToken.start; |
| 9064 this._eat((87)); | 9077 this._eat((88)); |
| 9065 var name = null; | 9078 var name = null; |
| 9066 if (this._peekIdentifier()) { | 9079 if (this._peekIdentifier()) { |
| 9067 name = this.identifier(); | 9080 name = this.identifier(); |
| 9068 } | 9081 } |
| 9069 this._eatSemicolon(); | 9082 this._eatSemicolon(); |
| 9070 return new BreakStatement(name, this._makeSpan(start)); | 9083 return new BreakStatement(name, this._makeSpan(start)); |
| 9071 } | 9084 } |
| 9072 Parser.prototype.continueStatement = function() { | 9085 Parser.prototype.continueStatement = function() { |
| 9073 var start = this._peekToken.start; | 9086 var start = this._peekToken.start; |
| 9074 this._eat((92)); | 9087 this._eat((93)); |
| 9075 var name = null; | 9088 var name = null; |
| 9076 if (this._peekIdentifier()) { | 9089 if (this._peekIdentifier()) { |
| 9077 name = this.identifier(); | 9090 name = this.identifier(); |
| 9078 } | 9091 } |
| 9079 this._eatSemicolon(); | 9092 this._eatSemicolon(); |
| 9080 return new ContinueStatement(name, this._makeSpan(start)); | 9093 return new ContinueStatement(name, this._makeSpan(start)); |
| 9081 } | 9094 } |
| 9082 Parser.prototype.expression = function() { | 9095 Parser.prototype.expression = function() { |
| 9083 return this.infixExpression((0)); | 9096 return this.infixExpression((0)); |
| 9084 } | 9097 } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9138 while (true) { | 9151 while (true) { |
| 9139 var kind = this._peek(); | 9152 var kind = this._peek(); |
| 9140 var prec = TokenKind.infixPrecedence(this._peek()); | 9153 var prec = TokenKind.infixPrecedence(this._peek()); |
| 9141 if (prec >= precedence) { | 9154 if (prec >= precedence) { |
| 9142 if (kind == (52) || kind == (53)) { | 9155 if (kind == (52) || kind == (53)) { |
| 9143 if (this._isBin(x, (52))) { | 9156 if (this._isBin(x, (52))) { |
| 9144 return this._fixAsType(x); | 9157 return this._fixAsType(x); |
| 9145 } | 9158 } |
| 9146 } | 9159 } |
| 9147 var op = this._lang_next(); | 9160 var op = this._lang_next(); |
| 9148 if ($eq(op.get$kind(), (103))) { | 9161 if ($eq(op.get$kind(), (104))) { |
| 9149 var isTrue = !this._maybeEat((19)); | 9162 var isTrue = !this._maybeEat((19)); |
| 9150 var typeRef = this.type((0)); | 9163 var typeRef = this.type((0)); |
| 9151 x = new IsExpression(isTrue, x, typeRef, this._makeSpan(x.span.start)); | 9164 x = new IsExpression(isTrue, x, typeRef, this._makeSpan(x.span.start)); |
| 9152 continue; | 9165 continue; |
| 9153 } | 9166 } |
| 9154 var y = this.infixExpression($eq(prec, (2)) ? prec : prec + (1)); | 9167 var y = this.infixExpression($eq(prec, (2)) ? prec : prec + (1)); |
| 9155 if ($eq(op.get$kind(), (33))) { | 9168 if ($eq(op.get$kind(), (33))) { |
| 9156 this._eat((8)); | 9169 this._eat((8)); |
| 9157 var z = this.infixExpression(prec); | 9170 var z = this.infixExpression(prec); |
| 9158 x = new ConditionalExpression(x, y, z, this._makeSpan(x.span.start)); | 9171 x = new ConditionalExpression(x, y, z, this._makeSpan(x.span.start)); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 9184 | 9197 |
| 9185 } | 9198 } |
| 9186 } | 9199 } |
| 9187 Parser.prototype.unaryExpression = function() { | 9200 Parser.prototype.unaryExpression = function() { |
| 9188 var start = this._peekToken.start; | 9201 var start = this._peekToken.start; |
| 9189 if (this._isPrefixUnaryOperator(this._peek())) { | 9202 if (this._isPrefixUnaryOperator(this._peek())) { |
| 9190 var tok = this._lang_next(); | 9203 var tok = this._lang_next(); |
| 9191 var expr = this.unaryExpression(); | 9204 var expr = this.unaryExpression(); |
| 9192 return new UnaryExpression(tok, expr, this._makeSpan(start)); | 9205 return new UnaryExpression(tok, expr, this._makeSpan(start)); |
| 9193 } | 9206 } |
| 9194 else if (this.get$enableAwait() && this._maybeEat((86))) { | 9207 else if (this.get$enableAwait() && this._maybeEat((87))) { |
| 9195 var expr = this.unaryExpression(); | 9208 var expr = this.unaryExpression(); |
| 9196 return new AwaitExpression(expr, this._makeSpan(start)); | 9209 return new AwaitExpression(expr, this._makeSpan(start)); |
| 9197 } | 9210 } |
| 9198 return this.finishPostfixExpression(this.primary()); | 9211 return this.finishPostfixExpression(this.primary()); |
| 9199 } | 9212 } |
| 9200 Parser.prototype.argument = function() { | 9213 Parser.prototype.argument = function() { |
| 9201 var start = this._peekToken.start; | 9214 var start = this._peekToken.start; |
| 9202 var expr; | 9215 var expr; |
| 9203 var label = null; | 9216 var label = null; |
| 9204 if (this._maybeEat((15))) { | 9217 if (this._maybeEat((15))) { |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9284 } | 9297 } |
| 9285 Parser.prototype._isBin = function(expr, kind) { | 9298 Parser.prototype._isBin = function(expr, kind) { |
| 9286 return (expr instanceof BinaryExpression) && $eq(expr.get$op().get$kind(), kin
d); | 9299 return (expr instanceof BinaryExpression) && $eq(expr.get$op().get$kind(), kin
d); |
| 9287 } | 9300 } |
| 9288 Parser.prototype._makeLiteral = function(value) { | 9301 Parser.prototype._makeLiteral = function(value) { |
| 9289 return new LiteralExpression(value, value.span); | 9302 return new LiteralExpression(value, value.span); |
| 9290 } | 9303 } |
| 9291 Parser.prototype.primary = function() { | 9304 Parser.prototype.primary = function() { |
| 9292 var start = this._peekToken.start; | 9305 var start = this._peekToken.start; |
| 9293 switch (this._peek()) { | 9306 switch (this._peek()) { |
| 9294 case (109): | 9307 case (110): |
| 9295 | 9308 |
| 9296 this._eat((109)); | 9309 this._eat((110)); |
| 9297 return new ThisExpression(this._makeSpan(start)); | 9310 return new ThisExpression(this._makeSpan(start)); |
| 9298 | 9311 |
| 9299 case (107): | 9312 case (108): |
| 9300 | 9313 |
| 9301 this._eat((107)); | 9314 this._eat((108)); |
| 9302 return new SuperExpression(this._makeSpan(start)); | 9315 return new SuperExpression(this._makeSpan(start)); |
| 9303 | 9316 |
| 9304 case (91): | 9317 case (92): |
| 9305 | 9318 |
| 9306 this._eat((91)); | 9319 this._eat((92)); |
| 9307 if (this._peekKind((4)) || this._peekKind((56))) { | 9320 if (this._peekKind((4)) || this._peekKind((56))) { |
| 9308 return this.finishListLiteral(start, true, null); | 9321 return this.finishListLiteral(start, true, null); |
| 9309 } | 9322 } |
| 9310 else if (this._peekKind((6))) { | 9323 else if (this._peekKind((6))) { |
| 9311 return this.finishMapLiteral(start, true, null, null); | 9324 return this.finishMapLiteral(start, true, null, null); |
| 9312 } | 9325 } |
| 9313 else if (this._peekKind((52))) { | 9326 else if (this._peekKind((52))) { |
| 9314 return this.finishTypedLiteral(start, true); | 9327 return this.finishTypedLiteral(start, true); |
| 9315 } | 9328 } |
| 9316 else { | 9329 else { |
| 9317 return this.finishNewExpression(start, true); | 9330 return this.finishNewExpression(start, true); |
| 9318 } | 9331 } |
| 9319 | 9332 |
| 9320 case (104): | 9333 case (105): |
| 9321 | 9334 |
| 9322 this._eat((104)); | 9335 this._eat((105)); |
| 9323 return this.finishNewExpression(start, false); | 9336 return this.finishNewExpression(start, false); |
| 9324 | 9337 |
| 9325 case (2): | 9338 case (2): |
| 9326 | 9339 |
| 9327 return this._parenOrLambda(); | 9340 return this._parenOrLambda(); |
| 9328 | 9341 |
| 9329 case (4): | 9342 case (4): |
| 9330 case (56): | 9343 case (56): |
| 9331 | 9344 |
| 9332 return this.finishListLiteral(start, false, null); | 9345 return this.finishListLiteral(start, false, null); |
| 9333 | 9346 |
| 9334 case (6): | 9347 case (6): |
| 9335 | 9348 |
| 9336 return this.finishMapLiteral(start, false, null, null); | 9349 return this.finishMapLiteral(start, false, null, null); |
| 9337 | 9350 |
| 9338 case (105): | 9351 case (106): |
| 9339 | 9352 |
| 9340 this._eat((105)); | 9353 this._eat((106)); |
| 9341 return this._makeLiteral(Value.fromNull(this._makeSpan(start))); | 9354 return this._makeLiteral(Value.fromNull(this._makeSpan(start))); |
| 9342 | 9355 |
| 9343 case (111): | 9356 case (112): |
| 9344 | 9357 |
| 9345 this._eat((111)); | 9358 this._eat((112)); |
| 9346 return this._makeLiteral(Value.fromBool(true, this._makeSpan(start))); | 9359 return this._makeLiteral(Value.fromBool(true, this._makeSpan(start))); |
| 9347 | 9360 |
| 9348 case (97): | 9361 case (98): |
| 9349 | 9362 |
| 9350 this._eat((97)); | 9363 this._eat((98)); |
| 9351 return this._makeLiteral(Value.fromBool(false, this._makeSpan(start))); | 9364 return this._makeLiteral(Value.fromBool(false, this._makeSpan(start))); |
| 9352 | 9365 |
| 9353 case (61): | 9366 case (61): |
| 9354 | 9367 |
| 9355 var t = this._lang_next(); | 9368 var t = this._lang_next(); |
| 9356 return this._makeLiteral(Value.fromInt(t.get$value(), t.get$span())); | 9369 return this._makeLiteral(Value.fromInt(t.get$value(), t.get$span())); |
| 9357 | 9370 |
| 9358 case (60): | 9371 case (60): |
| 9359 | 9372 |
| 9360 var t = this._lang_next(); | 9373 var t = this._lang_next(); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 9371 return this._makeLiteral(Value.fromString(t.get$value(), t.get$span())); | 9384 return this._makeLiteral(Value.fromString(t.get$value(), t.get$span())); |
| 9372 | 9385 |
| 9373 case (59): | 9386 case (59): |
| 9374 | 9387 |
| 9375 return this.stringInterpolation(); | 9388 return this.stringInterpolation(); |
| 9376 | 9389 |
| 9377 case (52): | 9390 case (52): |
| 9378 | 9391 |
| 9379 return this.finishTypedLiteral(start, false); | 9392 return this.finishTypedLiteral(start, false); |
| 9380 | 9393 |
| 9394 case (115): |
| 9381 case (114): | 9395 case (114): |
| 9382 case (113): | 9396 case (99): |
| 9383 case (98): | |
| 9384 | 9397 |
| 9385 return this.declaredIdentifier(false); | 9398 return this.declaredIdentifier(false); |
| 9386 | 9399 |
| 9387 default: | 9400 default: |
| 9388 | 9401 |
| 9389 if (!this._peekIdentifier()) { | 9402 if (!this._peekIdentifier()) { |
| 9390 this._errorExpected("expression"); | 9403 this._errorExpected("expression"); |
| 9391 } | 9404 } |
| 9392 return new VarExpression(this.identifier(), this._makeSpan(start)); | 9405 return new VarExpression(this.identifier(), this._makeSpan(start)); |
| 9393 | 9406 |
| 9394 } | 9407 } |
| 9395 } | 9408 } |
| 9396 Parser.prototype.stringInterpolation = function() { | 9409 Parser.prototype.stringInterpolation = function() { |
| 9397 var start = this._peekToken.start; | 9410 var start = this._peekToken.start; |
| 9398 var pieces = new Array(); | 9411 var pieces = new Array(); |
| 9399 var startQuote = null, endQuote = null; | 9412 var startQuote = null, endQuote = null; |
| 9400 while (this._peekKind((59))) { | 9413 while (this._peekKind((59))) { |
| 9401 var token = this._lang_next(); | 9414 var token = this._lang_next(); |
| 9402 pieces.add$1(this._makeLiteral(Value.fromString(token.get$value(), token.get
$span()))); | 9415 pieces.add$1(this._makeLiteral(Value.fromString(token.get$value(), token.get
$span()))); |
| 9403 if (this._maybeEat((6))) { | 9416 if (this._maybeEat((6))) { |
| 9404 pieces.add$1(this.expression()); | 9417 pieces.add$1(this.expression()); |
| 9405 this._eat((7)); | 9418 this._eat((7)); |
| 9406 } | 9419 } |
| 9407 else if (this._maybeEat((109))) { | 9420 else if (this._maybeEat((110))) { |
| 9408 pieces.add$1(new ThisExpression(this._previousToken.get$span())); | 9421 pieces.add$1(new ThisExpression(this._previousToken.get$span())); |
| 9409 } | 9422 } |
| 9410 else { | 9423 else { |
| 9411 var id = this.identifier(); | 9424 var id = this.identifier(); |
| 9412 pieces.add$1(new VarExpression(id, id.get$span())); | 9425 pieces.add$1(new VarExpression(id, id.get$span())); |
| 9413 } | 9426 } |
| 9414 } | 9427 } |
| 9415 var tok = this._lang_next(); | 9428 var tok = this._lang_next(); |
| 9416 if ($ne(tok.get$kind(), (58))) { | 9429 if ($ne(tok.get$kind(), (58))) { |
| 9417 this._errorExpected("interpolated string"); | 9430 this._errorExpected("interpolated string"); |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9496 var start = this._peekToken.start; | 9509 var start = this._peekToken.start; |
| 9497 var name; | 9510 var name; |
| 9498 switch (this._peek()) { | 9511 switch (this._peek()) { |
| 9499 case (15): | 9512 case (15): |
| 9500 | 9513 |
| 9501 this._eat((15)); | 9514 this._eat((15)); |
| 9502 this._lang_error("rest no longer supported", this._previousToken.get$span(
)); | 9515 this._lang_error("rest no longer supported", this._previousToken.get$span(
)); |
| 9503 name = this.identifier().get$name(); | 9516 name = this.identifier().get$name(); |
| 9504 break; | 9517 break; |
| 9505 | 9518 |
| 9506 case (109): | 9519 case (110): |
| 9507 | 9520 |
| 9508 this._eat((109)); | 9521 this._eat((110)); |
| 9509 this._eat((14)); | 9522 this._eat((14)); |
| 9510 name = ("this." + this.identifier().get$name()); | 9523 name = ("this." + this.identifier().get$name()); |
| 9511 break; | 9524 break; |
| 9512 | 9525 |
| 9513 case (74): | 9526 case (75): |
| 9514 | 9527 |
| 9515 if (!includeOperators) return null; | 9528 if (!includeOperators) return null; |
| 9516 this._eat((74)); | 9529 this._eat((75)); |
| 9517 if (this._peekIdentifier()) { | 9530 if (this._peekIdentifier()) { |
| 9518 name = ("get:" + this.identifier().get$name()); | 9531 name = ("get:" + this.identifier().get$name()); |
| 9519 } | 9532 } |
| 9520 else { | 9533 else { |
| 9521 name = "get"; | 9534 name = "get"; |
| 9522 } | 9535 } |
| 9523 break; | 9536 break; |
| 9524 | 9537 |
| 9525 case (82): | 9538 case (83): |
| 9526 | 9539 |
| 9527 if (!includeOperators) return null; | 9540 if (!includeOperators) return null; |
| 9528 this._eat((82)); | 9541 this._eat((83)); |
| 9529 if (this._peekIdentifier()) { | 9542 if (this._peekIdentifier()) { |
| 9530 name = ("set:" + this.identifier().get$name()); | 9543 name = ("set:" + this.identifier().get$name()); |
| 9531 } | 9544 } |
| 9532 else { | 9545 else { |
| 9533 name = "set"; | 9546 name = "set"; |
| 9534 } | 9547 } |
| 9535 break; | 9548 break; |
| 9536 | 9549 |
| 9537 case (81): | 9550 case (82): |
| 9538 | 9551 |
| 9539 if (!includeOperators) return null; | 9552 if (!includeOperators) return null; |
| 9540 this._eat((81)); | 9553 this._eat((82)); |
| 9541 var kind = this._peek(); | 9554 var kind = this._peek(); |
| 9542 if ($eq(kind, (80))) { | 9555 if ($eq(kind, (81))) { |
| 9543 name = ":negate"; | 9556 name = ":negate"; |
| 9544 this._lang_next(); | 9557 this._lang_next(); |
| 9545 } | 9558 } |
| 9546 else { | 9559 else { |
| 9547 name = TokenKind.binaryMethodName(kind); | 9560 name = TokenKind.binaryMethodName(kind); |
| 9548 if (name == null) { | 9561 if (name == null) { |
| 9549 name = "operator"; | 9562 name = "operator"; |
| 9550 } | 9563 } |
| 9551 else { | 9564 else { |
| 9552 this._lang_next(); | 9565 this._lang_next(); |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9647 return this.finishMapLiteral(start, isConst, keyType, valueType); | 9660 return this.finishMapLiteral(start, isConst, keyType, valueType); |
| 9648 } | 9661 } |
| 9649 else { | 9662 else { |
| 9650 this._errorExpected("array or map literal"); | 9663 this._errorExpected("array or map literal"); |
| 9651 } | 9664 } |
| 9652 } | 9665 } |
| 9653 Parser.prototype._readModifiers = function() { | 9666 Parser.prototype._readModifiers = function() { |
| 9654 var modifiers = null; | 9667 var modifiers = null; |
| 9655 while (true) { | 9668 while (true) { |
| 9656 switch (this._peek()) { | 9669 switch (this._peek()) { |
| 9657 case (84): | 9670 case (85): |
| 9658 case (98): | 9671 case (99): |
| 9659 case (91): | 9672 case (92): |
| 9660 case (71): | 9673 case (71): |
| 9661 case (73): | 9674 case (74): |
| 9662 | 9675 |
| 9663 if (modifiers == null) modifiers = []; | 9676 if (modifiers == null) modifiers = []; |
| 9664 modifiers.add$1(this._lang_next()); | 9677 modifiers.add$1(this._lang_next()); |
| 9665 break; | 9678 break; |
| 9666 | 9679 |
| 9667 default: | 9680 default: |
| 9668 | 9681 |
| 9669 return modifiers; | 9682 return modifiers; |
| 9670 | 9683 |
| 9671 } | 9684 } |
| 9672 } | 9685 } |
| 9673 return null; | 9686 return null; |
| 9674 } | 9687 } |
| 9675 Parser.prototype.typeParameter = function() { | 9688 Parser.prototype.typeParameter = function() { |
| 9676 var start = this._peekToken.start; | 9689 var start = this._peekToken.start; |
| 9677 var name = this.identifier(); | 9690 var name = this.identifier(); |
| 9678 var myType = null; | 9691 var myType = null; |
| 9679 if (this._maybeEat((96))) { | 9692 if (this._maybeEat((97))) { |
| 9680 myType = this.type((1)); | 9693 myType = this.type((1)); |
| 9681 } | 9694 } |
| 9682 var tp = new TypeParameter(name, myType, this._makeSpan(start)); | 9695 var tp = new TypeParameter(name, myType, this._makeSpan(start)); |
| 9683 return new ParameterType(name.get$name(), tp); | 9696 return new ParameterType(name.get$name(), tp); |
| 9684 } | 9697 } |
| 9685 Parser.prototype.get$typeParameter = function() { | 9698 Parser.prototype.get$typeParameter = function() { |
| 9686 return this.typeParameter.bind(this); | 9699 return this.typeParameter.bind(this); |
| 9687 } | 9700 } |
| 9688 Parser.prototype.typeParameters = function() { | 9701 Parser.prototype.typeParameters = function() { |
| 9689 this._eat((52)); | 9702 this._eat((52)); |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9753 while (this._maybeEat((11))) | 9766 while (this._maybeEat((11))) |
| 9754 return types; | 9767 return types; |
| 9755 } | 9768 } |
| 9756 Parser.prototype.nameTypeReference = function() { | 9769 Parser.prototype.nameTypeReference = function() { |
| 9757 var start = this._peekToken.start; | 9770 var start = this._peekToken.start; |
| 9758 var name; | 9771 var name; |
| 9759 var names = null; | 9772 var names = null; |
| 9760 var typeArgs = null; | 9773 var typeArgs = null; |
| 9761 var isFinal = false; | 9774 var isFinal = false; |
| 9762 switch (this._peek()) { | 9775 switch (this._peek()) { |
| 9763 case (114): | 9776 case (115): |
| 9764 | 9777 |
| 9765 return new TypeReference(this._lang_next().get$span(), $globals.world.void
Type); | 9778 return new TypeReference(this._lang_next().get$span(), $globals.world.void
Type); |
| 9766 | 9779 |
| 9767 case (113): | 9780 case (114): |
| 9768 | 9781 |
| 9769 return new TypeReference(this._lang_next().get$span(), $globals.world.varT
ype); | 9782 return new TypeReference(this._lang_next().get$span(), $globals.world.varT
ype); |
| 9770 | 9783 |
| 9771 case (98): | 9784 case (99): |
| 9772 | 9785 |
| 9773 this._eat((98)); | 9786 this._eat((99)); |
| 9774 isFinal = true; | 9787 isFinal = true; |
| 9775 name = this.identifier(); | 9788 name = this.identifier(); |
| 9776 break; | 9789 break; |
| 9777 | 9790 |
| 9778 default: | 9791 default: |
| 9779 | 9792 |
| 9780 name = this.identifier(); | 9793 name = this.identifier(); |
| 9781 break; | 9794 break; |
| 9782 | 9795 |
| 9783 } | 9796 } |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9845 } | 9858 } |
| 9846 formals.add$1(this.formalParameter(inOptionalBlock)); | 9859 formals.add$1(this.formalParameter(inOptionalBlock)); |
| 9847 } | 9860 } |
| 9848 if (inOptionalBlock) { | 9861 if (inOptionalBlock) { |
| 9849 this._eat((5)); | 9862 this._eat((5)); |
| 9850 } | 9863 } |
| 9851 this._eat((3)); | 9864 this._eat((3)); |
| 9852 } | 9865 } |
| 9853 return formals; | 9866 return formals; |
| 9854 } | 9867 } |
| 9868 Parser.prototype.identifierForType = function() { |
| 9869 var tok = this._lang_next(); |
| 9870 if (!this._isIdentifier(tok.get$kind())) { |
| 9871 this._lang_error(("expected identifier, but found " + tok), tok.get$span()); |
| 9872 } |
| 9873 if (tok.get$kind() != (70) && $ne(tok.get$kind(), (80))) { |
| 9874 this._lang_error(("" + tok + " may not be used as a type name"), tok.get$spa
n()); |
| 9875 } |
| 9876 return new Identifier(tok.get$text(), this._makeSpan(tok.get$start())); |
| 9877 } |
| 9855 Parser.prototype.identifier = function() { | 9878 Parser.prototype.identifier = function() { |
| 9856 var tok = this._lang_next(); | 9879 var tok = this._lang_next(); |
| 9857 if (!this._isIdentifier(tok.get$kind())) { | 9880 if (!this._isIdentifier(tok.get$kind())) { |
| 9858 this._lang_error(("expected identifier, but found " + tok), tok.get$span()); | 9881 this._lang_error(("expected identifier, but found " + tok), tok.get$span()); |
| 9859 } | 9882 } |
| 9860 return new Identifier(tok.get$text(), this._makeSpan(tok.get$start())); | 9883 return new Identifier(tok.get$text(), this._makeSpan(tok.get$start())); |
| 9861 } | 9884 } |
| 9862 Parser.prototype._makeFunction = function(expr, formals, body) { | 9885 Parser.prototype._makeFunction = function(expr, formals, body) { |
| 9863 var name, type; | 9886 var name, type; |
| 9864 if ((expr instanceof VarExpression)) { | 9887 if ((expr instanceof VarExpression)) { |
| (...skipping 1820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11685 if (methodName == null) methodName = definition.name.name; | 11708 if (methodName == null) methodName = definition.name.name; |
| 11686 var method = new MethodMember(methodName, this, definition); | 11709 var method = new MethodMember(methodName, this, definition); |
| 11687 if (method.get$isConstructor()) { | 11710 if (method.get$isConstructor()) { |
| 11688 if (this.constructors.containsKey(method.get$constructorName())) { | 11711 if (this.constructors.containsKey(method.get$constructorName())) { |
| 11689 $globals.world.error(("duplicate constructor definition of " + method.get$
name()), definition.span); | 11712 $globals.world.error(("duplicate constructor definition of " + method.get$
name()), definition.span); |
| 11690 return; | 11713 return; |
| 11691 } | 11714 } |
| 11692 this.constructors.$setindex(method.get$constructorName(), method); | 11715 this.constructors.$setindex(method.get$constructorName(), method); |
| 11693 return; | 11716 return; |
| 11694 } | 11717 } |
| 11695 if (definition.modifiers != null && definition.modifiers.get$length() == (1) &
& $eq(definition.modifiers.$index((0)).get$kind(), (73))) { | 11718 if (definition.modifiers != null && definition.modifiers.get$length() == (1) &
& $eq(definition.modifiers.$index((0)).get$kind(), (74))) { |
| 11696 if (this.factories.getFactory(method.get$constructorName(), method.get$name(
)) != null) { | 11719 if (this.factories.getFactory(method.get$constructorName(), method.get$name(
)) != null) { |
| 11697 $globals.world.error(("duplicate factory definition of \"" + method.get$na
me() + "\""), definition.span); | 11720 $globals.world.error(("duplicate factory definition of \"" + method.get$na
me() + "\""), definition.span); |
| 11698 return; | 11721 return; |
| 11699 } | 11722 } |
| 11700 this.factories.addFactory(method.get$constructorName(), method.get$name(), m
ethod); | 11723 this.factories.addFactory(method.get$constructorName(), method.get$name(), m
ethod); |
| 11701 return; | 11724 return; |
| 11702 } | 11725 } |
| 11703 if (methodName.startsWith("get:") || methodName.startsWith("set:")) { | 11726 if (methodName.startsWith("get:") || methodName.startsWith("set:")) { |
| 11704 var propName = methodName.substring((4)); | 11727 var propName = methodName.substring((4)); |
| 11705 var prop = this.members.$index(propName); | 11728 var prop = this.members.$index(propName); |
| (...skipping 2304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14010 $globals._RED_COLOR = "\x1b[31m"; | 14033 $globals._RED_COLOR = "\x1b[31m"; |
| 14011 } | 14034 } |
| 14012 var const$0000 = Object.create(EmptyQueueException.prototype, {}); | 14035 var const$0000 = Object.create(EmptyQueueException.prototype, {}); |
| 14013 var const$0001 = Object.create(_DeletedKeySentinel.prototype, {}); | 14036 var const$0001 = Object.create(_DeletedKeySentinel.prototype, {}); |
| 14014 var const$0005 = Object.create(NoMoreElementsException.prototype, {}); | 14037 var const$0005 = Object.create(NoMoreElementsException.prototype, {}); |
| 14015 var const$0007 = Object.create(IllegalAccessException.prototype, {}); | 14038 var const$0007 = Object.create(IllegalAccessException.prototype, {}); |
| 14016 var const$0008 = ImmutableList.ImmutableList$from$factory([]); | 14039 var const$0008 = ImmutableList.ImmutableList$from$factory([]); |
| 14017 var $globals = {}; | 14040 var $globals = {}; |
| 14018 $static_init(); | 14041 $static_init(); |
| 14019 main(); | 14042 main(); |
| OLD | NEW |