Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(478)

Side by Side Diff: pkg/analyzer/lib/src/generated/parser.dart

Issue 285423002: New analyzer snapshot (with CaughtException). (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Replace AnalysisException with CaughtException Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // This code was auto-generated, is not intended to be edited, and is subject to 5 // This code was auto-generated, is not intended to be edited, and is subject to
6 // significant change. Please see the README file for more information. 6 // significant change. Please see the README file for more information.
7 7
8 library engine.parser; 8 library engine.parser;
9 9
10 import 'java_core.dart'; 10 import 'java_core.dart';
(...skipping 2031 matching lines...) Expand 10 before | Expand all | Expand 10 after
2042 Token period = null; 2042 Token period = null;
2043 SimpleIdentifier name = null; 2043 SimpleIdentifier name = null;
2044 if (_matches(TokenType.PERIOD)) { 2044 if (_matches(TokenType.PERIOD)) {
2045 period = andAdvance; 2045 period = andAdvance;
2046 name = parseSimpleIdentifier(); 2046 name = parseSimpleIdentifier();
2047 } 2047 }
2048 return new ConstructorName(type, period, name); 2048 return new ConstructorName(type, period, name);
2049 } 2049 }
2050 2050
2051 /** 2051 /**
2052 * Parse an expression that does not contain any cascades. 2052 * Parse an expression that might contain a cascade.
2053 * 2053 *
2054 * <pre> 2054 * <pre>
2055 * expression ::= 2055 * expression ::=
2056 * assignableExpression assignmentOperator expression 2056 * assignableExpression assignmentOperator expression
2057 * | conditionalExpression cascadeSection* 2057 * | conditionalExpression cascadeSection*
2058 * | throwExpression 2058 * | throwExpression
2059 * </pre> 2059 * </pre>
2060 * 2060 *
2061 * @return the expression that was parsed 2061 * @return the expression that was parsed
2062 */ 2062 */
(...skipping 1459 matching lines...) Expand 10 before | Expand all | Expand 10 after
3522 * Parse an assignable selector. 3522 * Parse an assignable selector.
3523 * 3523 *
3524 * <pre> 3524 * <pre>
3525 * assignableSelector ::= 3525 * assignableSelector ::=
3526 * '[' expression ']' 3526 * '[' expression ']'
3527 * | '.' identifier 3527 * | '.' identifier
3528 * </pre> 3528 * </pre>
3529 * 3529 *
3530 * @param prefix the expression preceding the selector 3530 * @param prefix the expression preceding the selector
3531 * @param optional `true` if the selector is optional 3531 * @param optional `true` if the selector is optional
3532 * @return the assignable selector that was parsed 3532 * @return the assignable selector that was parsed, or the original prefix if there was no
3533 * assignable selector
3533 */ 3534 */
3534 Expression _parseAssignableSelector(Expression prefix, bool optional) { 3535 Expression _parseAssignableSelector(Expression prefix, bool optional) {
3535 if (_matches(TokenType.OPEN_SQUARE_BRACKET)) { 3536 if (_matches(TokenType.OPEN_SQUARE_BRACKET)) {
3536 Token leftBracket = andAdvance; 3537 Token leftBracket = andAdvance;
3537 bool wasInInitializer = _inInitializer; 3538 bool wasInInitializer = _inInitializer;
3538 _inInitializer = false; 3539 _inInitializer = false;
3539 try { 3540 try {
3540 Expression index = parseExpression2(); 3541 Expression index = parseExpression2();
3541 Token rightBracket = _expect(TokenType.CLOSE_SQUARE_BRACKET); 3542 Token rightBracket = _expect(TokenType.CLOSE_SQUARE_BRACKET);
3542 return new IndexExpression.forTarget(prefix, leftBracket, index, rightBr acket); 3543 return new IndexExpression.forTarget(prefix, leftBracket, index, rightBr acket);
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
3660 Token rightBracket = _expect(TokenType.CLOSE_SQUARE_BRACKET); 3661 Token rightBracket = _expect(TokenType.CLOSE_SQUARE_BRACKET);
3661 expression = new IndexExpression.forCascade(period, leftBracket, index, rightBracket); 3662 expression = new IndexExpression.forCascade(period, leftBracket, index, rightBracket);
3662 period = null; 3663 period = null;
3663 } finally { 3664 } finally {
3664 _inInitializer = wasInInitializer; 3665 _inInitializer = wasInInitializer;
3665 } 3666 }
3666 } else { 3667 } else {
3667 _reportErrorForToken(ParserErrorCode.MISSING_IDENTIFIER, _currentToken, [_ currentToken.lexeme]); 3668 _reportErrorForToken(ParserErrorCode.MISSING_IDENTIFIER, _currentToken, [_ currentToken.lexeme]);
3668 functionName = _createSyntheticIdentifier(); 3669 functionName = _createSyntheticIdentifier();
3669 } 3670 }
3671 assert((expression == null && functionName != null) || (expression != null & & functionName == null));
3670 if (_currentToken.type == TokenType.OPEN_PAREN) { 3672 if (_currentToken.type == TokenType.OPEN_PAREN) {
3671 while (_currentToken.type == TokenType.OPEN_PAREN) { 3673 while (_currentToken.type == TokenType.OPEN_PAREN) {
3672 if (functionName != null) { 3674 if (functionName != null) {
3673 expression = new MethodInvocation(expression, period, functionName, pa rseArgumentList()); 3675 expression = new MethodInvocation(expression, period, functionName, pa rseArgumentList());
3674 period = null; 3676 period = null;
3675 functionName = null; 3677 functionName = null;
3676 } else if (expression == null) { 3678 } else if (expression == null) {
3677 // It should not be possible to get here. 3679 // It should not be possible to get here.
3678 expression = new MethodInvocation(expression, period, _createSynthetic Identifier(), parseArgumentList()); 3680 expression = new MethodInvocation(expression, period, _createSynthetic Identifier(), parseArgumentList());
3679 } else { 3681 } else {
3680 expression = new FunctionExpressionInvocation(expression, parseArgumen tList()); 3682 expression = new FunctionExpressionInvocation(expression, parseArgumen tList());
3681 } 3683 }
3682 } 3684 }
3683 } else if (functionName != null) { 3685 } else if (functionName != null) {
3684 expression = new PropertyAccess(expression, period, functionName); 3686 expression = new PropertyAccess(expression, period, functionName);
3685 period = null; 3687 period = null;
3686 } 3688 }
3689 assert(expression != null);
3687 bool progress = true; 3690 bool progress = true;
3688 while (progress) { 3691 while (progress) {
3689 progress = false; 3692 progress = false;
3690 Expression selector = _parseAssignableSelector(expression, true); 3693 Expression selector = _parseAssignableSelector(expression, true);
3691 if (!identical(selector, expression)) { 3694 if (!identical(selector, expression)) {
3692 expression = selector; 3695 expression = selector;
3693 progress = true; 3696 progress = true;
3694 while (_currentToken.type == TokenType.OPEN_PAREN) { 3697 while (_currentToken.type == TokenType.OPEN_PAREN) {
3695 if (expression is PropertyAccess) { 3698 if (expression is PropertyAccess) {
3696 PropertyAccess propertyAccess = expression as PropertyAccess; 3699 PropertyAccess propertyAccess = expression as PropertyAccess;
(...skipping 5380 matching lines...) Expand 10 before | Expand all | Expand 10 after
9077 return trampoline(target, arguments[0], arguments[1]); 9080 return trampoline(target, arguments[0], arguments[1]);
9078 case 3: 9081 case 3:
9079 return trampoline(target, arguments[0], arguments[1], arguments[2]); 9082 return trampoline(target, arguments[0], arguments[1], arguments[2]);
9080 case 4: 9083 case 4:
9081 return trampoline(target, arguments[0], arguments[1], arguments[2], argu ments[3]); 9084 return trampoline(target, arguments[0], arguments[1], arguments[2], argu ments[3]);
9082 default: 9085 default:
9083 throw new IllegalArgumentException("Not implemented for > 4 arguments"); 9086 throw new IllegalArgumentException("Not implemented for > 4 arguments");
9084 } 9087 }
9085 } 9088 }
9086 } 9089 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/java_engine.dart ('k') | pkg/analyzer/lib/src/generated/resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698