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

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

Issue 12328104: Change new List(n) to return fixed length list. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 9 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 // This code was auto-generated, is not intended to be edited, and is subject to 1 // This code was auto-generated, is not intended to be edited, and is subject to
2 // significant change. Please see the README file for more information. 2 // significant change. Please see the README file for more information.
3 3
4 library engine.scanner; 4 library engine.scanner;
5 5
6 import 'dart:collection'; 6 import 'dart:collection';
7 import 'java_core.dart'; 7 import 'java_core.dart';
8 import 'source.dart'; 8 import 'source.dart';
9 import 'error.dart'; 9 import 'error.dart';
10 import 'instrumentation.dart'; 10 import 'instrumentation.dart';
(...skipping 1753 matching lines...) Expand 10 before | Expand all | Expand 10 after
1764 Token get precedingComments => _precedingComment; 1764 Token get precedingComments => _precedingComment;
1765 } 1765 }
1766 /** 1766 /**
1767 * Instances of the abstract class {@code KeywordState} represent a state in a s tate machine used to 1767 * Instances of the abstract class {@code KeywordState} represent a state in a s tate machine used to
1768 * scan keywords. 1768 * scan keywords.
1769 */ 1769 */
1770 class KeywordState { 1770 class KeywordState {
1771 /** 1771 /**
1772 * An empty transition table used by leaf states. 1772 * An empty transition table used by leaf states.
1773 */ 1773 */
1774 static List<KeywordState> _EMPTY_TABLE = new List<KeywordState>.fixedLength(26 ); 1774 static List<KeywordState> _EMPTY_TABLE = new List<KeywordState>(26);
1775 /** 1775 /**
1776 * The initial state in the state machine. 1776 * The initial state in the state machine.
1777 */ 1777 */
1778 static KeywordState KEYWORD_STATE = createKeywordStateTable(); 1778 static KeywordState KEYWORD_STATE = createKeywordStateTable();
1779 /** 1779 /**
1780 * Create the next state in the state machine where we have already recognized the subset of 1780 * Create the next state in the state machine where we have already recognized the subset of
1781 * strings in the given array of strings starting at the given offset and havi ng the given length. 1781 * strings in the given array of strings starting at the given offset and havi ng the given length.
1782 * All of these strings have a common prefix and the next character is at the given start index. 1782 * All of these strings have a common prefix and the next character is at the given start index.
1783 * @param start the index of the character in the strings used to transition t o a new state 1783 * @param start the index of the character in the strings used to transition t o a new state
1784 * @param strings an array containing all of the strings that will be recogniz ed by the state 1784 * @param strings an array containing all of the strings that will be recogniz ed by the state
1785 * machine 1785 * machine
1786 * @param offset the offset of the first string in the array that has the pref ix that is assumed 1786 * @param offset the offset of the first string in the array that has the pref ix that is assumed
1787 * to have been recognized by the time we reach the state being built 1787 * to have been recognized by the time we reach the state being built
1788 * @param length the number of strings in the array that pass through the stat e being built 1788 * @param length the number of strings in the array that pass through the stat e being built
1789 * @return the state that was created 1789 * @return the state that was created
1790 */ 1790 */
1791 static KeywordState computeKeywordStateTable(int start, List<String> strings, int offset, int length12) { 1791 static KeywordState computeKeywordStateTable(int start, List<String> strings, int offset, int length12) {
1792 List<KeywordState> result = new List<KeywordState>.fixedLength(26); 1792 List<KeywordState> result = new List<KeywordState>(26);
1793 assert(length12 != 0); 1793 assert(length12 != 0);
1794 int chunk = 0x0; 1794 int chunk = 0x0;
1795 int chunkStart = -1; 1795 int chunkStart = -1;
1796 bool isLeaf = false; 1796 bool isLeaf = false;
1797 for (int i = offset; i < offset + length12; i++) { 1797 for (int i = offset; i < offset + length12; i++) {
1798 if (strings[i].length == start) { 1798 if (strings[i].length == start) {
1799 isLeaf = true; 1799 isLeaf = true;
1800 } 1800 }
1801 if (strings[i].length > start) { 1801 if (strings[i].length > start) {
1802 int c = strings[i].codeUnitAt(start); 1802 int c = strings[i].codeUnitAt(start);
(...skipping 18 matching lines...) Expand all
1821 } else { 1821 } else {
1822 return new KeywordState(result, null); 1822 return new KeywordState(result, null);
1823 } 1823 }
1824 } 1824 }
1825 /** 1825 /**
1826 * Create the initial state in the state machine. 1826 * Create the initial state in the state machine.
1827 * @return the state that was created 1827 * @return the state that was created
1828 */ 1828 */
1829 static KeywordState createKeywordStateTable() { 1829 static KeywordState createKeywordStateTable() {
1830 List<Keyword> values2 = Keyword.values; 1830 List<Keyword> values2 = Keyword.values;
1831 List<String> strings = new List<String>.fixedLength(values2.length); 1831 List<String> strings = new List<String>(values2.length);
1832 for (int i = 0; i < values2.length; i++) { 1832 for (int i = 0; i < values2.length; i++) {
1833 strings[i] = values2[i].syntax; 1833 strings[i] = values2[i].syntax;
1834 } 1834 }
1835 strings.sort(); 1835 strings.sort();
1836 return computeKeywordStateTable(0, strings, 0, strings.length); 1836 return computeKeywordStateTable(0, strings, 0, strings.length);
1837 } 1837 }
1838 /** 1838 /**
1839 * A table mapping characters to the states to which those characters will tra nsition. (The index 1839 * A table mapping characters to the states to which those characters will tra nsition. (The index
1840 * into the array is the offset from the character {@code 'a'} to the transiti oning character.) 1840 * into the array is the offset from the character {@code 'a'} to the transiti oning character.)
1841 */ 1841 */
(...skipping 18 matching lines...) Expand all
1860 * recognized a keyword. 1860 * recognized a keyword.
1861 * @return the keyword that was matched by reaching this state 1861 * @return the keyword that was matched by reaching this state
1862 */ 1862 */
1863 Keyword keyword() => _keyword2; 1863 Keyword keyword() => _keyword2;
1864 /** 1864 /**
1865 * Return the state that follows this state on a transition of the given chara cter, or{@code null} if there is no valid state reachable from this state with s uch a transition. 1865 * Return the state that follows this state on a transition of the given chara cter, or{@code null} if there is no valid state reachable from this state with s uch a transition.
1866 * @param c the character used to transition from this state to another state 1866 * @param c the character used to transition from this state to another state
1867 * @return the state that follows this state on a transition of the given char acter 1867 * @return the state that follows this state on a transition of the given char acter
1868 */ 1868 */
1869 KeywordState next(int c) => _table[c - 0x61]; 1869 KeywordState next(int c) => _table[c - 0x61];
1870 } 1870 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698