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

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

Issue 712083003: Create fewer unnecessary lists (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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.scanner; 8 library engine.scanner;
9 9
10 import 'dart:collection'; 10 import 'dart:collection';
(...skipping 1249 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 // 1260 //
1261 return null; 1261 return null;
1262 } 1262 }
1263 1263
1264 /** 1264 /**
1265 * Report an error at the current offset. 1265 * Report an error at the current offset.
1266 * 1266 *
1267 * @param errorCode the error code indicating the nature of the error 1267 * @param errorCode the error code indicating the nature of the error
1268 * @param arguments any arguments needed to complete the error message 1268 * @param arguments any arguments needed to complete the error message
1269 */ 1269 */
1270 void _reportError(ScannerErrorCode errorCode, List<Object> arguments) { 1270 void _reportError(ScannerErrorCode errorCode, [List<Object> arguments]) {
1271 _errorListener.onError(new AnalysisError.con2(source, _reader.offset, 1, err orCode, arguments)); 1271 _errorListener.onError(new AnalysisError.con2(source, _reader.offset, 1, err orCode, arguments));
1272 } 1272 }
1273 1273
1274 int _select(int choice, TokenType yesType, TokenType noType) { 1274 int _select(int choice, TokenType yesType, TokenType noType) {
1275 int next = _reader.advance(); 1275 int next = _reader.advance();
1276 if (next == choice) { 1276 if (next == choice) {
1277 _appendTokenOfType(yesType); 1277 _appendTokenOfType(yesType);
1278 return _reader.advance(); 1278 return _reader.advance();
1279 } else { 1279 } else {
1280 _appendTokenOfType(noType); 1280 _appendTokenOfType(noType);
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
1366 int _tokenizeExponent(int next) { 1366 int _tokenizeExponent(int next) {
1367 if (next == 0x2B || next == 0x2D) { 1367 if (next == 0x2B || next == 0x2D) {
1368 next = _reader.advance(); 1368 next = _reader.advance();
1369 } 1369 }
1370 bool hasDigits = false; 1370 bool hasDigits = false;
1371 while (true) { 1371 while (true) {
1372 if (0x30 <= next && next <= 0x39) { 1372 if (0x30 <= next && next <= 0x39) {
1373 hasDigits = true; 1373 hasDigits = true;
1374 } else { 1374 } else {
1375 if (!hasDigits) { 1375 if (!hasDigits) {
1376 _reportError(ScannerErrorCode.MISSING_DIGIT, []); 1376 _reportError(ScannerErrorCode.MISSING_DIGIT);
1377 } 1377 }
1378 return next; 1378 return next;
1379 } 1379 }
1380 next = _reader.advance(); 1380 next = _reader.advance();
1381 } 1381 }
1382 } 1382 }
1383 1383
1384 int _tokenizeFractionPart(int next, int start) { 1384 int _tokenizeFractionPart(int next, int start) {
1385 bool done = false; 1385 bool done = false;
1386 bool hasDigit = false; 1386 bool hasDigit = false;
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
1433 1433
1434 int _tokenizeHex(int next) { 1434 int _tokenizeHex(int next) {
1435 int start = _reader.offset - 1; 1435 int start = _reader.offset - 1;
1436 bool hasDigits = false; 1436 bool hasDigits = false;
1437 while (true) { 1437 while (true) {
1438 next = _reader.advance(); 1438 next = _reader.advance();
1439 if ((0x30 <= next && next <= 0x39) || (0x41 <= next && next <= 0x46) || (0 x61 <= next && next <= 0x66)) { 1439 if ((0x30 <= next && next <= 0x39) || (0x41 <= next && next <= 0x46) || (0 x61 <= next && next <= 0x66)) {
1440 hasDigits = true; 1440 hasDigits = true;
1441 } else { 1441 } else {
1442 if (!hasDigits) { 1442 if (!hasDigits) {
1443 _reportError(ScannerErrorCode.MISSING_HEX_DIGIT, []); 1443 _reportError(ScannerErrorCode.MISSING_HEX_DIGIT);
1444 } 1444 }
1445 _appendStringToken(TokenType.HEXADECIMAL, _reader.getString(start, next < 0 ? 0 : -1)); 1445 _appendStringToken(TokenType.HEXADECIMAL, _reader.getString(start, next < 0 ? 0 : -1));
1446 return next; 1446 return next;
1447 } 1447 }
1448 } 1448 }
1449 } 1449 }
1450 1450
1451 int _tokenizeHexOrNumber(int next) { 1451 int _tokenizeHexOrNumber(int next) {
1452 int x = _reader.peek(); 1452 int x = _reader.peek();
1453 if (x == 0x78 || x == 0x58) { 1453 if (x == 0x78 || x == 0x58) {
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1553 _appendTokenOfType(TokenType.MINUS); 1553 _appendTokenOfType(TokenType.MINUS);
1554 return next; 1554 return next;
1555 } 1555 }
1556 } 1556 }
1557 1557
1558 int _tokenizeMultiLineComment(int next) { 1558 int _tokenizeMultiLineComment(int next) {
1559 int nesting = 1; 1559 int nesting = 1;
1560 next = _reader.advance(); 1560 next = _reader.advance();
1561 while (true) { 1561 while (true) {
1562 if (-1 == next) { 1562 if (-1 == next) {
1563 _reportError(ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT, []); 1563 _reportError(ScannerErrorCode.UNTERMINATED_MULTI_LINE_COMMENT);
1564 _appendCommentToken(TokenType.MULTI_LINE_COMMENT, _reader.getString(_tok enStart, 0)); 1564 _appendCommentToken(TokenType.MULTI_LINE_COMMENT, _reader.getString(_tok enStart, 0));
1565 return next; 1565 return next;
1566 } else if (0x2A == next) { 1566 } else if (0x2A == next) {
1567 next = _reader.advance(); 1567 next = _reader.advance();
1568 if (0x2F == next) { 1568 if (0x2F == next) {
1569 --nesting; 1569 --nesting;
1570 if (0 == nesting) { 1570 if (0 == nesting) {
1571 _appendCommentToken(TokenType.MULTI_LINE_COMMENT, _reader.getString( _tokenStart, 0)); 1571 _appendCommentToken(TokenType.MULTI_LINE_COMMENT, _reader.getString( _tokenStart, 0));
1572 return _reader.advance(); 1572 return _reader.advance();
1573 } else { 1573 } else {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1615 } 1615 }
1616 next = _reader.advance(); 1616 next = _reader.advance();
1617 if (next == quoteChar) { 1617 if (next == quoteChar) {
1618 next = _reader.advance(); 1618 next = _reader.advance();
1619 if (next == quoteChar) { 1619 if (next == quoteChar) {
1620 _appendStringToken(TokenType.STRING, _reader.getString(start, 0)); 1620 _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
1621 return _reader.advance(); 1621 return _reader.advance();
1622 } 1622 }
1623 } 1623 }
1624 } 1624 }
1625 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, []); 1625 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
1626 _appendStringToken(TokenType.STRING, _reader.getString(start, 0)); 1626 _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
1627 return _reader.advance(); 1627 return _reader.advance();
1628 } 1628 }
1629 1629
1630 int _tokenizeMultiLineString(int quoteChar, int start, bool raw) { 1630 int _tokenizeMultiLineString(int quoteChar, int start, bool raw) {
1631 if (raw) { 1631 if (raw) {
1632 return _tokenizeMultiLineRawString(quoteChar, start); 1632 return _tokenizeMultiLineRawString(quoteChar, start);
1633 } 1633 }
1634 int next = _reader.advance(); 1634 int next = _reader.advance();
1635 while (next != -1) { 1635 while (next != -1) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1674 next = _reader.advance(); 1674 next = _reader.advance();
1675 } 1675 }
1676 recordStartOfLine(); 1676 recordStartOfLine();
1677 } else if (next == 0xA) { 1677 } else if (next == 0xA) {
1678 recordStartOfLine(); 1678 recordStartOfLine();
1679 next = _reader.advance(); 1679 next = _reader.advance();
1680 } else { 1680 } else {
1681 next = _reader.advance(); 1681 next = _reader.advance();
1682 } 1682 }
1683 } 1683 }
1684 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, []); 1684 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
1685 if (start == _reader.offset) { 1685 if (start == _reader.offset) {
1686 _appendStringTokenWithOffset(TokenType.STRING, "", 1); 1686 _appendStringTokenWithOffset(TokenType.STRING, "", 1);
1687 } else { 1687 } else {
1688 _appendStringToken(TokenType.STRING, _reader.getString(start, 0)); 1688 _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
1689 } 1689 }
1690 return _reader.advance(); 1690 return _reader.advance();
1691 } 1691 }
1692 1692
1693 int _tokenizeMultiply(int next) => _select(0x3D, TokenType.STAR_EQ, TokenType. STAR); 1693 int _tokenizeMultiply(int next) => _select(0x3D, TokenType.STAR_EQ, TokenType. STAR);
1694 1694
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1750 } 1750 }
1751 } 1751 }
1752 1752
1753 int _tokenizeSingleLineRawString(int next, int quoteChar, int start) { 1753 int _tokenizeSingleLineRawString(int next, int quoteChar, int start) {
1754 next = _reader.advance(); 1754 next = _reader.advance();
1755 while (next != -1) { 1755 while (next != -1) {
1756 if (next == quoteChar) { 1756 if (next == quoteChar) {
1757 _appendStringToken(TokenType.STRING, _reader.getString(start, 0)); 1757 _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
1758 return _reader.advance(); 1758 return _reader.advance();
1759 } else if (next == 0xD || next == 0xA) { 1759 } else if (next == 0xD || next == 0xA) {
1760 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, []); 1760 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
1761 _appendStringToken(TokenType.STRING, _reader.getString(start, -1)); 1761 _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
1762 return _reader.advance(); 1762 return _reader.advance();
1763 } 1763 }
1764 next = _reader.advance(); 1764 next = _reader.advance();
1765 } 1765 }
1766 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, []); 1766 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
1767 _appendStringToken(TokenType.STRING, _reader.getString(start, 0)); 1767 _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
1768 return _reader.advance(); 1768 return _reader.advance();
1769 } 1769 }
1770 1770
1771 int _tokenizeSingleLineString(int next, int quoteChar, int start) { 1771 int _tokenizeSingleLineString(int next, int quoteChar, int start) {
1772 while (next != quoteChar) { 1772 while (next != quoteChar) {
1773 if (next == 0x5C) { 1773 if (next == 0x5C) {
1774 next = _reader.advance(); 1774 next = _reader.advance();
1775 } else if (next == 0x24) { 1775 } else if (next == 0x24) {
1776 _appendStringToken(TokenType.STRING, _reader.getString(start, -1)); 1776 _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
1777 next = _tokenizeStringInterpolation(start); 1777 next = _tokenizeStringInterpolation(start);
1778 _beginToken(); 1778 _beginToken();
1779 start = _reader.offset; 1779 start = _reader.offset;
1780 continue; 1780 continue;
1781 } 1781 }
1782 if (next <= 0xD && (next == 0xA || next == 0xD || next == -1)) { 1782 if (next <= 0xD && (next == 0xA || next == 0xD || next == -1)) {
1783 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, []); 1783 _reportError(ScannerErrorCode.UNTERMINATED_STRING_LITERAL);
1784 if (start == _reader.offset) { 1784 if (start == _reader.offset) {
1785 _appendStringTokenWithOffset(TokenType.STRING, "", 1); 1785 _appendStringTokenWithOffset(TokenType.STRING, "", 1);
1786 } else if (next == -1) { 1786 } else if (next == -1) {
1787 _appendStringToken(TokenType.STRING, _reader.getString(start, 0)); 1787 _appendStringToken(TokenType.STRING, _reader.getString(start, 0));
1788 } else { 1788 } else {
1789 _appendStringToken(TokenType.STRING, _reader.getString(start, -1)); 1789 _appendStringToken(TokenType.STRING, _reader.getString(start, -1));
1790 } 1790 }
1791 return _reader.advance(); 1791 return _reader.advance();
1792 } 1792 }
1793 next = _reader.advance(); 1793 next = _reader.advance();
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after
2683 * @param precedingComment the first comment in the list of comments that prec ede this token 2683 * @param precedingComment the first comment in the list of comments that prec ede this token
2684 */ 2684 */
2685 TokenWithComment(TokenType type, int offset, this._precedingComment) : super(t ype, offset); 2685 TokenWithComment(TokenType type, int offset, this._precedingComment) : super(t ype, offset);
2686 2686
2687 @override 2687 @override
2688 Token copy() => new TokenWithComment(type, offset, _precedingComment); 2688 Token copy() => new TokenWithComment(type, offset, _precedingComment);
2689 2689
2690 @override 2690 @override
2691 Token get precedingComments => _precedingComment; 2691 Token get precedingComments => _precedingComment;
2692 } 2692 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/resolver.dart ('k') | pkg/analyzer/lib/src/generated/testing/ast_factory.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698