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

Side by Side Diff: tests/compiler/dart2js/semantic_visitor_test.dart

Issue 1142293004: Revert "Refactor handling of compounds." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 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
« no previous file with comments | « tests/compiler/dart2js/analyze_unused_dart2js_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 library dart2js.semantics_visitor_test; 5 library dart2js.semantics_visitor_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:mirrors';
9 import 'package:async_helper/async_helper.dart'; 8 import 'package:async_helper/async_helper.dart';
10 import 'package:expect/expect.dart'; 9 import 'package:expect/expect.dart';
11 import 'package:compiler/src/constants/expressions.dart'; 10 import 'package:compiler/src/constants/expressions.dart';
12 import 'package:compiler/src/dart_types.dart'; 11 import 'package:compiler/src/dart_types.dart';
13 import 'package:compiler/src/dart2jslib.dart'; 12 import 'package:compiler/src/dart2jslib.dart';
14 import 'package:compiler/src/elements/elements.dart'; 13 import 'package:compiler/src/elements/elements.dart';
15 import 'package:compiler/src/resolution/resolution.dart'; 14 import 'package:compiler/src/resolution/resolution.dart';
16 import 'package:compiler/src/resolution/semantic_visitor.dart'; 15 import 'package:compiler/src/resolution/semantic_visitor.dart';
17 import 'package:compiler/src/resolution/operators.dart'; 16 import 'package:compiler/src/resolution/operators.dart';
18 import 'package:compiler/src/tree/tree.dart'; 17 import 'package:compiler/src/tree/tree.dart';
(...skipping 1232 matching lines...) Expand 10 before | Expand all | Expand 10 after
1251 const Test.clazz( 1250 const Test.clazz(
1252 ''' 1251 '''
1253 class B { 1252 class B {
1254 operator []=(a, b) {} 1253 operator []=(a, b) {}
1255 } 1254 }
1256 class C extends B { 1255 class C extends B {
1257 m() => ++super[42]; 1256 m() => ++super[42];
1258 } 1257 }
1259 ''', 1258 ''',
1260 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX, 1259 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
1261 setter: 'function(B#[]=)',
1262 index: '42', 1260 index: '42',
1263 operator: '++')), 1261 operator: '++')),
1264 const Test.clazz( 1262 const Test.clazz(
1265 ''' 1263 '''
1266 class B { 1264 class B {
1267 } 1265 }
1268 class C extends B { 1266 class C extends B {
1269 m() => ++super[42]; 1267 m() => ++super[42];
1270 } 1268 }
1271 ''', 1269 ''',
1272 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_PREFIX, 1270 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
1273 index: '42', 1271 index: '42',
1274 operator: '++')), 1272 operator: '++')),
1275 const Test.clazz( 1273 const Test.clazz(
1276 ''' 1274 '''
1277 class B { 1275 class B {
1278 operator [](_) => null; 1276 operator [](_) => null;
1279 } 1277 }
1280 class C extends B { 1278 class C extends B {
1281 m() => ++super[42]; 1279 m() => ++super[42];
1282 } 1280 }
(...skipping 20 matching lines...) Expand all
1303 const Test.clazz( 1301 const Test.clazz(
1304 ''' 1302 '''
1305 class B { 1303 class B {
1306 operator []=(a, b) {} 1304 operator []=(a, b) {}
1307 } 1305 }
1308 class C extends B { 1306 class C extends B {
1309 m() => super[42]--; 1307 m() => super[42]--;
1310 } 1308 }
1311 ''', 1309 ''',
1312 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX, 1310 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
1313 setter: 'function(B#[]=)',
1314 index: '42', 1311 index: '42',
1315 operator: '--')), 1312 operator: '--')),
1316 const Test.clazz( 1313 const Test.clazz(
1317 ''' 1314 '''
1318 class B { 1315 class B {
1319 } 1316 }
1320 class C extends B { 1317 class C extends B {
1321 m() => super[42]--; 1318 m() => super[42]--;
1322 } 1319 }
1323 ''', 1320 ''',
1324 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_POSTFIX, 1321 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
1325 index: '42', 1322 index: '42',
1326 operator: '--')), 1323 operator: '--')),
1327 const Test.clazz( 1324 const Test.clazz(
1328 ''' 1325 '''
1329 class B { 1326 class B {
1330 operator [](_) => null; 1327 operator [](_) => null;
1331 } 1328 }
1332 class C extends B { 1329 class C extends B {
1333 m() => super[42]--; 1330 m() => super[42]--;
1334 } 1331 }
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
1509 constant: 'dynamic', 1506 constant: 'dynamic',
1510 operator: '+=', rhs: '42')),*/ 1507 operator: '+=', rhs: '42')),*/
1511 const Test( 1508 const Test(
1512 ''' 1509 '''
1513 m(a) => a += 42; 1510 m(a) => a += 42;
1514 ''', 1511 ''',
1515 const Visit(VisitKind.VISIT_PARAMETER_COMPOUND, 1512 const Visit(VisitKind.VISIT_PARAMETER_COMPOUND,
1516 element: 'parameter(m#a)', operator: '+=', rhs: '42')), 1513 element: 'parameter(m#a)', operator: '+=', rhs: '42')),
1517 const Test( 1514 const Test(
1518 ''' 1515 '''
1519 m(final a) => a += 42;
1520 ''',
1521 const Visit(VisitKind.VISIT_FINAL_PARAMETER_COMPOUND,
1522 element: 'parameter(m#a)', operator: '+=', rhs: '42')),
1523 const Test(
1524 '''
1525 m() { 1516 m() {
1526 var a; 1517 var a;
1527 a += 42; 1518 a += 42;
1528 } 1519 }
1529 ''', 1520 ''',
1530 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND, 1521 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND,
1531 element: 'variable(m#a)', operator: '+=', rhs: '42')), 1522 element: 'variable(m#a)', operator: '+=', rhs: '42')),
1532 const Test( 1523 const Test(
1533 ''' 1524 '''
1534 m() {
1535 final a;
1536 a += 42;
1537 }
1538 ''',
1539 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
1540 element: 'variable(m#a)', operator: '+=', rhs: '42')),
1541 const Test(
1542 '''
1543 m() {
1544 a() {}
1545 a += 42;
1546 }
1547 ''',
1548 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_COMPOUND,
1549 element: 'function(m#a)', operator: '+=', rhs: '42')),
1550 const Test(
1551 '''
1552 var a; 1525 var a;
1553 m() => a += 42; 1526 m() => a += 42;
1554 ''', 1527 ''',
1555 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_COMPOUND, 1528 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_COMPOUND,
1556 element: 'field(a)', operator: '+=', rhs: '42')), 1529 element: 'field(a)', operator: '+=', rhs: '42')),
1557 const Test( 1530 const Test(
1558 ''' 1531 '''
1559 get a => 0; 1532 get a => 0;
1560 set a(_) {} 1533 set a(_) {}
1561 m() => a += 42; 1534 m() => a += 42;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1724 } 1697 }
1725 class C extends B { 1698 class C extends B {
1726 m() => super.a += 42; 1699 m() => super.a += 42;
1727 } 1700 }
1728 ''', 1701 ''',
1729 const Visit(VisitKind.VISIT_SUPER_FIELD_COMPOUND, 1702 const Visit(VisitKind.VISIT_SUPER_FIELD_COMPOUND,
1730 element: 'field(B#a)', operator: '+=', rhs: '42')), 1703 element: 'field(B#a)', operator: '+=', rhs: '42')),
1731 const Test.clazz( 1704 const Test.clazz(
1732 ''' 1705 '''
1733 class B { 1706 class B {
1734 final a = 0;
1735 }
1736 class C extends B {
1737 m() => super.a += 42;
1738 }
1739 ''',
1740 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND,
1741 element: 'field(B#a)', operator: '+=', rhs: '42')),
1742 const Test.clazz(
1743 '''
1744 class B {
1745 get a => 0; 1707 get a => 0;
1746 set a (_) {} 1708 set a (_) {}
1747 } 1709 }
1748 class C extends B { 1710 class C extends B {
1749 m() => super.a += 42; 1711 m() => super.a += 42;
1750 } 1712 }
1751 ''', 1713 ''',
1752 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_COMPOUND, 1714 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_COMPOUND,
1753 getter: 'getter(B#a)', setter: 'setter(B#a)', 1715 getter: 'getter(B#a)', setter: 'setter(B#a)',
1754 operator: '+=', rhs: '42')), 1716 operator: '+=', rhs: '42')),
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1809 final a; 1771 final a;
1810 } 1772 }
1811 1773
1812 class C extends B { 1774 class C extends B {
1813 m() => super.a += 42; 1775 m() => super.a += 42;
1814 } 1776 }
1815 ''', 1777 ''',
1816 const Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND, 1778 const Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
1817 getter: 'field(B#a)', setter: 'field(A#a)', 1779 getter: 'field(B#a)', setter: 'field(A#a)',
1818 operator: '+=', rhs: '42')),*/ 1780 operator: '+=', rhs: '42')),*/
1819 const Test.clazz(
1820 '''
1821 class B {
1822 a() {}
1823 }
1824 class C extends B {
1825 m() => super.a += 42;
1826 }
1827 ''',
1828 const Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND,
1829 element: 'function(B#a)',
1830 operator: '+=', rhs: '42')),
1831 const Test.clazz(
1832 '''
1833 class B {
1834 }
1835 class C extends B {
1836 m() => super.a += 42;
1837 }
1838 ''',
1839 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND,
1840 operator: '+=', rhs: '42')),
1841 const Test.clazz(
1842 '''
1843 class B {
1844 set a(_) {}
1845 }
1846 class C extends B {
1847 m() => super.a += 42;
1848 }
1849 ''',
1850 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
1851 setter: 'setter(B#a)', operator: '+=', rhs: '42')),
1852 const Test.clazz(
1853 '''
1854 class B {
1855 get a => 42;
1856 }
1857 class C extends B {
1858 m() => super.a += 42;
1859 }
1860 ''',
1861 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
1862 getter: 'getter(B#a)', operator: '+=', rhs: '42')),
1863
1864 const Test.clazz(
1865 '''
1866 class C {
1867 static set a(var value) { }
1868 m() => a += 42;
1869 }
1870 ''',
1871 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
1872 setter: 'setter(C#a)', operator: '+=', rhs: '42')),
1873
1874 const Test.clazz(
1875 '''
1876 class C {
1877 static get a => 42;
1878 m() => C.a += 42;
1879 }
1880 ''',
1881 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
1882 getter: 'getter(C#a)', operator: '+=', rhs: '42')),
1883
1884 const Test.clazz(
1885 '''
1886 class C {
1887 static final a = 42;
1888 m() => C.a += 42;
1889 }
1890 ''',
1891 const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_COMPOUND,
1892 element: 'field(C#a)', operator: '+=', rhs: '42')),
1893
1894 const Test(
1895 '''
1896 class C {
1897 static a(var value) { }
1898 }
1899 m() => C.a += 42;
1900 ''',
1901 const Visit(VisitKind.VISIT_STATIC_METHOD_COMPOUND,
1902 element: 'function(C#a)', operator: '+=', rhs: '42')),
1903
1904 const Test(
1905 '''
1906 set a(var value) { }
1907 m() => a += 42;
1908 ''',
1909 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
1910 setter: 'setter(a)', operator: '+=', rhs: '42')),
1911
1912 const Test(
1913 '''
1914 get a => 42;
1915 m() => a += 42;
1916 ''',
1917 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
1918 getter: 'getter(a)', operator: '+=', rhs: '42')),
1919
1920 const Test(
1921 '''
1922 a(var value) { }
1923 m() => a += 42;
1924 ''',
1925 const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_COMPOUND,
1926 element: 'function(a)', operator: '+=', rhs: '42')),
1927
1928 const Test(
1929 '''
1930 final a = 42;
1931 m() => a += 42;
1932 ''',
1933 const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
1934 element: 'field(a)', operator: '+=', rhs: '42')),
1935
1936 const Test(
1937 '''
1938 m() => unresolved += 42;
1939 ''',
1940 const Visit(VisitKind.VISIT_UNRESOLVED_COMPOUND,
1941 operator: '+=', rhs: '42')),
1942 ], 1781 ],
1943 'Compound index assignment': const [ 1782 'Compound index assignment': const [
1944 // Compound index assignment 1783 // Compound index assignment
1945 const Test( 1784 const Test(
1946 ''' 1785 '''
1947 m() => 0[1] += 42; 1786 m() => 0[1] += 42;
1948 ''', 1787 ''',
1949 const Visit(VisitKind.VISIT_COMPOUND_INDEX_SET, 1788 const Visit(VisitKind.VISIT_COMPOUND_INDEX_SET,
1950 receiver: '0', index: '1', operator: '+=', rhs: '42')), 1789 receiver: '0', index: '1', operator: '+=', rhs: '42')),
1951 const Test.clazz( 1790 const Test.clazz(
(...skipping 12 matching lines...) Expand all
1964 const Test.clazz( 1803 const Test.clazz(
1965 ''' 1804 '''
1966 class B { 1805 class B {
1967 operator []=(a, b) {} 1806 operator []=(a, b) {}
1968 } 1807 }
1969 class C extends B { 1808 class C extends B {
1970 m() => super[1] += 42; 1809 m() => super[1] += 42;
1971 } 1810 }
1972 ''', 1811 ''',
1973 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET, 1812 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
1974 setter: 'function(B#[]=)',
1975 index: '1', operator: '+=', rhs: '42')), 1813 index: '1', operator: '+=', rhs: '42')),
1976 const Test.clazz( 1814 const Test.clazz(
1977 ''' 1815 '''
1978 class B { 1816 class B {
1979 } 1817 }
1980 class C extends B { 1818 class C extends B {
1981 m() => super[1] += 42; 1819 m() => super[1] += 42;
1982 } 1820 }
1983 ''', 1821 ''',
1984 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND_INDEX_SET, 1822 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
1985 index: '1', operator: '+=', rhs: '42')), 1823 index: '1', operator: '+=', rhs: '42')),
1986 const Test.clazz( 1824 const Test.clazz(
1987 ''' 1825 '''
1988 class B { 1826 class B {
1989 operator [](_) {} 1827 operator [](_) {}
1990 } 1828 }
1991 class C extends B { 1829 class C extends B {
1992 m() => super[1] += 42; 1830 m() => super[1] += 42;
1993 } 1831 }
1994 ''', 1832 ''',
(...skipping 16 matching lines...) Expand all
2011 element: 'parameter(m#a)') 1849 element: 'parameter(m#a)')
2012 ]), 1850 ]),
2013 const Test( 1851 const Test(
2014 ''' 1852 '''
2015 m(a) => ++a; 1853 m(a) => ++a;
2016 ''', 1854 ''',
2017 const Visit(VisitKind.VISIT_PARAMETER_PREFIX, 1855 const Visit(VisitKind.VISIT_PARAMETER_PREFIX,
2018 element: 'parameter(m#a)', operator: '++')), 1856 element: 'parameter(m#a)', operator: '++')),
2019 const Test( 1857 const Test(
2020 ''' 1858 '''
2021 m(final a) => ++a;
2022 ''',
2023 const Visit(VisitKind.VISIT_FINAL_PARAMETER_PREFIX,
2024 element: 'parameter(m#a)', operator: '++')),
2025 const Test(
2026 '''
2027 m() { 1859 m() {
2028 var a; 1860 var a;
2029 --a; 1861 --a;
2030 } 1862 }
2031 ''', 1863 ''',
2032 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX, 1864 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX,
2033 element: 'variable(m#a)', operator: '--')), 1865 element: 'variable(m#a)', operator: '--')),
2034 const Test( 1866 const Test(
2035 ''' 1867 '''
2036 m() {
2037 final a = 42;
2038 --a;
2039 }
2040 ''',
2041 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
2042 element: 'variable(m#a)', operator: '--')),
2043 const Test(
2044 '''
2045 m() {
2046 a() {}
2047 --a;
2048 }
2049 ''',
2050 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_PREFIX,
2051 element: 'function(m#a)', operator: '--')),
2052 const Test(
2053 '''
2054 var a; 1868 var a;
2055 m() => ++a; 1869 m() => ++a;
2056 ''', 1870 ''',
2057 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_PREFIX, 1871 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_PREFIX,
2058 element: 'field(a)', operator: '++')), 1872 element: 'field(a)', operator: '++')),
2059 const Test( 1873 const Test(
2060 ''' 1874 '''
2061 get a => 0; 1875 get a => 0;
2062 set a(_) {} 1876 set a(_) {}
2063 m() => --a; 1877 m() => --a;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
2178 } 1992 }
2179 class C extends B { 1993 class C extends B {
2180 m() => --super.a; 1994 m() => --super.a;
2181 } 1995 }
2182 ''', 1996 ''',
2183 const Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX, 1997 const Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX,
2184 element: 'field(B#a)', operator: '--')), 1998 element: 'field(B#a)', operator: '--')),
2185 const Test.clazz( 1999 const Test.clazz(
2186 ''' 2000 '''
2187 class B { 2001 class B {
2188 final a = 0;
2189 }
2190 class C extends B {
2191 m() => --super.a;
2192 }
2193 ''',
2194 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_PREFIX,
2195 element: 'field(B#a)', operator: '--')),
2196 const Test.clazz(
2197 '''
2198 class B {
2199 get a => 0; 2002 get a => 0;
2200 set a (_) {} 2003 set a (_) {}
2201 } 2004 }
2202 class C extends B { 2005 class C extends B {
2203 m() => --super.a; 2006 m() => --super.a;
2204 } 2007 }
2205 ''', 2008 ''',
2206 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_PREFIX, 2009 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_PREFIX,
2207 getter: 'getter(B#a)', setter: 'setter(B#a)', 2010 getter: 'getter(B#a)', setter: 'setter(B#a)',
2208 operator: '--')), 2011 operator: '--')),
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2246 set a(_) {} 2049 set a(_) {}
2247 } 2050 }
2248 2051
2249 class C extends B { 2052 class C extends B {
2250 m() => ++super.a; 2053 m() => ++super.a;
2251 } 2054 }
2252 ''', 2055 ''',
2253 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX, 2056 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX,
2254 getter: 'field(A#a)', setter: 'setter(B#a)', 2057 getter: 'field(A#a)', setter: 'setter(B#a)',
2255 operator: '++')), 2058 operator: '++')),
2256 const Test.clazz(
2257 '''
2258 class B {
2259 a() {}
2260 }
2261 class C extends B {
2262 m() => ++super.a;
2263 }
2264 ''',
2265 const Visit(VisitKind.VISIT_SUPER_METHOD_PREFIX,
2266 element: 'function(B#a)',
2267 operator: '++')),
2268 const Test.clazz(
2269 '''
2270 class B {
2271 }
2272 class C extends B {
2273 m() => ++super.a;
2274 }
2275 ''',
2276 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_PREFIX,
2277 operator: '++')),
2278 const Test.clazz(
2279 '''
2280 class B {
2281 set a(_) {}
2282 }
2283 class C extends B {
2284 m() => ++super.a;
2285 }
2286 ''',
2287 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
2288 setter: 'setter(B#a)', operator: '++')),
2289 const Test.clazz(
2290 '''
2291 class B {
2292 get a => 42;
2293 }
2294 class C extends B {
2295 m() => ++super.a;
2296 }
2297 ''',
2298 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
2299 getter: 'getter(B#a)', operator: '++')),
2300
2301 const Test.clazz(
2302 '''
2303 class C {
2304 static set a(var value) { }
2305 m() => ++a;
2306 }
2307 ''',
2308 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
2309 setter: 'setter(C#a)', operator: '++')),
2310
2311 const Test.clazz(
2312 '''
2313 class C {
2314 static get a => 42;
2315 m() => ++C.a;
2316 }
2317 ''',
2318 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
2319 getter: 'getter(C#a)', operator: '++')),
2320
2321 const Test.clazz(
2322 '''
2323 class C {
2324 static final a = 42;
2325 m() => ++C.a;
2326 }
2327 ''',
2328 const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_PREFIX,
2329 element: 'field(C#a)', operator: '++')),
2330
2331 const Test(
2332 '''
2333 class C {
2334 static a(var value) { }
2335 }
2336 m() => ++C.a;
2337 ''',
2338 const Visit(VisitKind.VISIT_STATIC_METHOD_PREFIX,
2339 element: 'function(C#a)', operator: '++')),
2340
2341 const Test(
2342 '''
2343 set a(var value) { }
2344 m() => ++a;
2345 ''',
2346 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
2347 setter: 'setter(a)', operator: '++')),
2348
2349 const Test(
2350 '''
2351 get a => 42;
2352 m() => ++a;
2353 ''',
2354 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
2355 getter: 'getter(a)', operator: '++')),
2356
2357 const Test(
2358 '''
2359 a(var value) { }
2360 m() => ++a;
2361 ''',
2362 const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_PREFIX,
2363 element: 'function(a)', operator: '++')),
2364
2365 const Test(
2366 '''
2367 final a = 42;
2368 m() => ++a;
2369 ''',
2370 const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
2371 element: 'field(a)', operator: '++')),
2372
2373 const Test(
2374 '''
2375 m() => ++unresolved;
2376 ''',
2377 const Visit(VisitKind.VISIT_UNRESOLVED_PREFIX,
2378 operator: '++')),
2379 ], 2059 ],
2380 'Postfix expression': const [ 2060 'Postfix expression': const [
2381 // Postfix expression 2061 // Postfix expression
2382 const Test( 2062 const Test(
2383 ''' 2063 '''
2384 m(a) => a.b--; 2064 m(a) => a.b--;
2385 ''', 2065 ''',
2386 const [ 2066 const [
2387 const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_POSTFIX, 2067 const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_POSTFIX,
2388 receiver: 'a', operator: '--', 2068 receiver: 'a', operator: '--',
2389 getter: 'Selector(getter, b, arity=0)', 2069 getter: 'Selector(getter, b, arity=0)',
2390 setter: 'Selector(setter, b, arity=1)'), 2070 setter: 'Selector(setter, b, arity=1)'),
2391 const Visit(VisitKind.VISIT_PARAMETER_GET, 2071 const Visit(VisitKind.VISIT_PARAMETER_GET,
2392 element: 'parameter(m#a)') 2072 element: 'parameter(m#a)')
2393 ]), 2073 ]),
2394 const Test( 2074 const Test(
2395 ''' 2075 '''
2396 m(a) => a++; 2076 m(a) => a++;
2397 ''', 2077 ''',
2398 const Visit(VisitKind.VISIT_PARAMETER_POSTFIX, 2078 const Visit(VisitKind.VISIT_PARAMETER_POSTFIX,
2399 element: 'parameter(m#a)', operator: '++')), 2079 element: 'parameter(m#a)', operator: '++')),
2400 const Test( 2080 const Test(
2401 ''' 2081 '''
2402 m(final a) => a++;
2403 ''',
2404 const Visit(VisitKind.VISIT_FINAL_PARAMETER_POSTFIX,
2405 element: 'parameter(m#a)', operator: '++')),
2406 const Test(
2407 '''
2408 m() { 2082 m() {
2409 var a; 2083 var a;
2410 a--; 2084 a--;
2411 } 2085 }
2412 ''', 2086 ''',
2413 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX, 2087 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX,
2414 element: 'variable(m#a)', operator: '--')), 2088 element: 'variable(m#a)', operator: '--')),
2415 const Test( 2089 const Test(
2416 ''' 2090 '''
2417 m() {
2418 final a = 42;
2419 a--;
2420 }
2421 ''',
2422 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
2423 element: 'variable(m#a)', operator: '--')),
2424 const Test(
2425 '''
2426 m() {
2427 a() {}
2428 a--;
2429 }
2430 ''',
2431 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_POSTFIX,
2432 element: 'function(m#a)', operator: '--')),
2433 const Test(
2434 '''
2435 var a; 2091 var a;
2436 m() => a++; 2092 m() => a++;
2437 ''', 2093 ''',
2438 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_POSTFIX, 2094 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_POSTFIX,
2439 element: 'field(a)', operator: '++')), 2095 element: 'field(a)', operator: '++')),
2440 const Test( 2096 const Test(
2441 ''' 2097 '''
2442 get a => 0; 2098 get a => 0;
2443 set a(_) {} 2099 set a(_) {}
2444 m() => a--; 2100 m() => a--;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
2559 } 2215 }
2560 class C extends B { 2216 class C extends B {
2561 m() => super.a--; 2217 m() => super.a--;
2562 } 2218 }
2563 ''', 2219 ''',
2564 const Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX, 2220 const Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX,
2565 element: 'field(B#a)', operator: '--')), 2221 element: 'field(B#a)', operator: '--')),
2566 const Test.clazz( 2222 const Test.clazz(
2567 ''' 2223 '''
2568 class B { 2224 class B {
2569 final a = 0;
2570 }
2571 class C extends B {
2572 m() => super.a--;
2573 }
2574 ''',
2575 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_POSTFIX,
2576 element: 'field(B#a)', operator: '--')),
2577 const Test.clazz(
2578 '''
2579 class B {
2580 get a => 0; 2225 get a => 0;
2581 set a (_) {} 2226 set a (_) {}
2582 } 2227 }
2583 class C extends B { 2228 class C extends B {
2584 m() => super.a--; 2229 m() => super.a--;
2585 } 2230 }
2586 ''', 2231 ''',
2587 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_POSTFIX, 2232 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_POSTFIX,
2588 getter: 'getter(B#a)', setter: 'setter(B#a)', 2233 getter: 'getter(B#a)', setter: 'setter(B#a)',
2589 operator: '--')), 2234 operator: '--')),
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2627 set a(_) {} 2272 set a(_) {}
2628 } 2273 }
2629 2274
2630 class C extends B { 2275 class C extends B {
2631 m() => super.a++; 2276 m() => super.a++;
2632 } 2277 }
2633 ''', 2278 ''',
2634 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX, 2279 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX,
2635 getter: 'field(A#a)', setter: 'setter(B#a)', 2280 getter: 'field(A#a)', setter: 'setter(B#a)',
2636 operator: '++')), 2281 operator: '++')),
2637 const Test.clazz(
2638 '''
2639 class B {
2640 a() {}
2641 }
2642 class C extends B {
2643 m() => super.a++;
2644 }
2645 ''',
2646 const Visit(VisitKind.VISIT_SUPER_METHOD_POSTFIX,
2647 element: 'function(B#a)',
2648 operator: '++')),
2649 const Test.clazz(
2650 '''
2651 class B {
2652 }
2653 class C extends B {
2654 m() => super.a++;
2655 }
2656 ''',
2657 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_POSTFIX,
2658 operator: '++')),
2659 const Test.clazz(
2660 '''
2661 class B {
2662 set a(_) {}
2663 }
2664 class C extends B {
2665 m() => super.a++;
2666 }
2667 ''',
2668 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
2669 setter: 'setter(B#a)', operator: '++')),
2670 const Test.clazz(
2671 '''
2672 class B {
2673 get a => 42;
2674 }
2675 class C extends B {
2676 m() => super.a++;
2677 }
2678 ''',
2679 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
2680 getter: 'getter(B#a)', operator: '++')),
2681
2682 const Test.clazz(
2683 '''
2684 class C {
2685 static set a(var value) { }
2686 m() => a++;
2687 }
2688 ''',
2689 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
2690 setter: 'setter(C#a)', operator: '++')),
2691
2692 const Test.clazz(
2693 '''
2694 class C {
2695 static get a => 42;
2696 m() => C.a++;
2697 }
2698 ''',
2699 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
2700 getter: 'getter(C#a)', operator: '++')),
2701
2702 const Test.clazz(
2703 '''
2704 class C {
2705 static final a = 42;
2706 m() => C.a++;
2707 }
2708 ''',
2709 const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_POSTFIX,
2710 element: 'field(C#a)', operator: '++')),
2711 2282
2712 const Test( 2283 const Test(
2713 ''' 2284 '''
2714 class C { 2285 set topLevel(var value) { }
2715 static a(var value) { } 2286 m() => topLevel++;
2716 }
2717 m() => C.a++;
2718 ''', 2287 ''',
2719 const Visit(VisitKind.VISIT_STATIC_METHOD_POSTFIX, 2288 const Visit(VisitKind.ERROR_UNRESOLVED_POSTFIX,
2720 element: 'function(C#a)', operator: '++')),
2721
2722 const Test(
2723 '''
2724 set a(var value) { }
2725 m() => a++;
2726 ''',
2727 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
2728 setter: 'setter(a)', operator: '++')),
2729
2730 const Test(
2731 '''
2732 get a => 42;
2733 m() => a++;
2734 ''',
2735 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
2736 getter: 'getter(a)', operator: '++')),
2737
2738 const Test(
2739 '''
2740 a(var value) { }
2741 m() => a++;
2742 ''',
2743 const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_POSTFIX,
2744 element: 'function(a)', operator: '++')),
2745
2746 const Test(
2747 '''
2748 final a = 42;
2749 m() => a++;
2750 ''',
2751 const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
2752 element: 'field(a)', operator: '++')),
2753
2754 const Test(
2755 '''
2756 m() => unresolved++;
2757 ''',
2758 const Visit(VisitKind.VISIT_UNRESOLVED_POSTFIX,
2759 operator: '++')), 2289 operator: '++')),
2760 ], 2290 ],
2761 'Constructor invocations': const [ 2291 'Constructor invocations': const [
2762 const Test( 2292 const Test(
2763 ''' 2293 '''
2764 class Class { 2294 class Class {
2765 const Class(a, b); 2295 const Class(a, b);
2766 } 2296 }
2767 m() => const Class(true, 42); 2297 m() => const Class(true, 42);
2768 ''', 2298 ''',
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
2921 factory Class(a, b) = AbstractClass; 2451 factory Class(a, b) = AbstractClass;
2922 } 2452 }
2923 m() => new Class(true, 42); 2453 m() => new Class(true, 42);
2924 ''', 2454 ''',
2925 const Visit( 2455 const Visit(
2926 VisitKind.VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, 2456 VisitKind.VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
2927 element: 'function(Class#)', 2457 element: 'function(Class#)',
2928 arguments: '(true,42)', 2458 arguments: '(true,42)',
2929 type: 'Class', 2459 type: 'Class',
2930 selector: 'CallStructure(arity=2)')), 2460 selector: 'CallStructure(arity=2)')),
2461 const Test(
2462 '''
2463 class Class {}
2464 m() => const Class();
2465 ''',
2466 const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
2467 arguments: '()',
2468 type: 'Class',
2469 selector: 'CallStructure(arity=0)')),
2470 const Test(
2471 '''
2472 class Class {
2473 const Class() // Delibrate syntax error.
2474 }
2475 m() => const Class();
2476 ''',
2477 const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
2478 arguments: '()',
2479 type: 'dynamic',
2480 selector: 'CallStructure(arity=0)')),
2481 const Test(
2482 '''
2483 class Target {}
2484 class Class {
2485 const factory Class() = Target;
2486 }
2487 m() => const Class();
2488 ''',
2489 const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
2490 arguments: '()',
2491 type: 'Class',
2492 selector: 'CallStructure(arity=0)')),
2493 /* Enable this when constness is handled consistently.
2494 const Test(
2495 '''
2496 class Target {
2497 const Target();
2498 }
2499 class Redirection {
2500 factory Redirection() = Target;
2501 }
2502 class Class {
2503 const factory Class() = Redirection;
2504 }
2505 m() => const Class();
2506 ''',
2507 const Visit(VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
2508 arguments: '()',
2509 type: 'Class',
2510 selector: 'CallStructure(arity=0)')),
2511 */
2931 ], 2512 ],
2932 }; 2513 };
2933 2514
2934 const Map<String, List<Test>> DECL_TESTS = const { 2515 const Map<String, List<Test>> DECL_TESTS = const {
2935 'Function declarations': const [ 2516 'Function declarations': const [
2936 const Test( 2517 const Test(
2937 ''' 2518 '''
2938 m(a, b) {} 2519 m(a, b) {}
2939 ''', 2520 ''',
2940 const [ 2521 const [
(...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after
3744 const m = 42; 3325 const m = 42;
3745 ''', 3326 ''',
3746 const [ 3327 const [
3747 const Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL, 3328 const Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL,
3748 element: 'field(m)', 3329 element: 'field(m)',
3749 constant: 42), 3330 constant: 42),
3750 ]), 3331 ]),
3751 ], 3332 ],
3752 }; 3333 };
3753 3334
3754 const List<VisitKind> UNTESTABLE_KINDS = const <VisitKind>[
3755 VisitKind.VISIT_STATIC_METHOD_SETTER_COMPOUND,
3756 VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX,
3757 VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX,
3758 VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
3759 VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
3760 VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
3761 VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
3762 VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX,
3763 VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX,
3764 VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND,
3765 VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX,
3766 VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX,
3767 VisitKind.VISIT_SUPER_NOT_EQUALS,
3768 VisitKind.VISIT_CLASS_TYPE_LITERAL_SET,
3769 VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND,
3770 VisitKind.VISIT_CLASS_TYPE_LITERAL_PREFIX,
3771 VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX,
3772 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_SET,
3773 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
3774 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
3775 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
3776 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
3777 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
3778 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
3779 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
3780 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_SET,
3781 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_INVOKE,
3782 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
3783 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
3784 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
3785 ];
3786
3787 main(List<String> arguments) { 3335 main(List<String> arguments) {
3788 Set<VisitKind> kinds = new Set<VisitKind>.from(VisitKind.values);
3789 asyncTest(() => Future.forEach([ 3336 asyncTest(() => Future.forEach([
3790 () { 3337 () {
3791 return test( 3338 return test(
3792 kinds,
3793 arguments, 3339 arguments,
3794 SEND_TESTS, 3340 SEND_TESTS,
3795 (elements) => new SemanticSendTestVisitor(elements)); 3341 (elements) => new SemanticSendTestVisitor(elements));
3796 }, 3342 },
3797 () { 3343 () {
3798 return test( 3344 return test(
3799 kinds,
3800 arguments, 3345 arguments,
3801 DECL_TESTS, 3346 DECL_TESTS,
3802 (elements) => new SemanticDeclarationTestVisitor(elements)); 3347 (elements) => new SemanticDeclarationTestVisitor(elements));
3803 }, 3348 },
3804 () {
3805 Set<VisitKind> unvisitedKindSet =
3806 kinds.toSet()..removeAll(UNTESTABLE_KINDS);
3807 List<VisitKind> unvisitedKindList = unvisitedKindSet.toList();
3808 unvisitedKindList..sort((a, b) => a.index.compareTo(b.index));
3809
3810 Expect.isTrue(unvisitedKindList.isEmpty,
3811 "Untested visit kinds:\n ${unvisitedKindList.join(',\n ')},\n");
3812
3813 Set<VisitKind> testedUntestableKinds =
3814 UNTESTABLE_KINDS.toSet()..removeAll(kinds);
3815 Expect.isTrue(testedUntestableKinds.isEmpty,
3816 "Tested untestable visit kinds (remove from UNTESTABLE_KINDS):\n "
3817 "${testedUntestableKinds.join(',\n ')},\n");
3818 },
3819 () {
3820 ClassMirror mirror1 = reflectType(SemanticSendTestVisitor);
3821 Set<Symbol> symbols1 = mirror1.declarations.keys.toSet();
3822 ClassMirror mirror2 = reflectType(SemanticSendVisitor);
3823 Set<Symbol> symbols2 =
3824 mirror2.declarations.values
3825 .where((m) => m is MethodMirror &&
3826 !m.isConstructor &&
3827 m.simpleName != #apply)
3828 .map((m) => m.simpleName).toSet();
3829 symbols2.removeAll(symbols1);
3830 print("Untested visit methods:\n ${symbols2.join(',\n ')},\n");
3831 }
3832 ], (f) => f())); 3349 ], (f) => f()));
3833 } 3350 }
3834 3351
3835 Future test(Set<VisitKind> unvisitedKinds, 3352 Future test(List<String> arguments,
3836 List<String> arguments,
3837 Map<String, List<Test>> TESTS, 3353 Map<String, List<Test>> TESTS,
3838 SemanticTestVisitor createVisitor(TreeElements elements)) { 3354 SemanticTestVisitor createVisitor(TreeElements elements)) {
3839 Map<String, String> sourceFiles = {}; 3355 Map<String, String> sourceFiles = {};
3840 Map<String, Test> testMap = {}; 3356 Map<String, Test> testMap = {};
3841 StringBuffer mainSource = new StringBuffer(); 3357 StringBuffer mainSource = new StringBuffer();
3842 int index = 0; 3358 int index = 0;
3843 TESTS.forEach((String group, List<Test> tests) { 3359 TESTS.forEach((String group, List<Test> tests) {
3844 if (arguments.isNotEmpty && !arguments.contains(group)) return; 3360 if (arguments.isNotEmpty && !arguments.contains(group)) return;
3845 3361
3846 tests.forEach((Test test) { 3362 tests.forEach((Test test) {
3847 StringBuffer testSource = new StringBuffer(); 3363 StringBuffer testSource = new StringBuffer();
3848 if (test.codeByPrefix != null) { 3364 if (test.codeByPrefix != null) {
3849 String prefixFilename = 'pre$index.dart'; 3365 String prefixFilename = 'pre$index.dart';
3850 sourceFiles[prefixFilename] = test.codeByPrefix; 3366 sourceFiles[prefixFilename] = test.codeByPrefix;
3851 testSource.writeln("import '$prefixFilename' as p;"); 3367 testSource.writeln("import '$prefixFilename' as p;");
3852 } 3368 }
3853 3369
3854 String filename = 'lib$index.dart'; 3370 String filename = 'lib$index.dart';
3855 testSource.writeln(test.code); 3371 testSource.writeln(test.code);
3856 sourceFiles[filename] = testSource.toString(); 3372 sourceFiles[filename] = testSource.toString();
3857 mainSource.writeln("import '$filename';"); 3373 mainSource.writeln("import '$filename';");
3858 testMap[filename] = test; 3374 testMap[filename] = test;
3859 index++; 3375 index++;
3860 }); 3376 });
3861 }); 3377 });
3378
3862 mainSource.writeln("main() {}"); 3379 mainSource.writeln("main() {}");
3863 sourceFiles['main.dart'] = mainSource.toString(); 3380 sourceFiles['main.dart'] = mainSource.toString();
3864 3381
3865 Compiler compiler = compilerFor(sourceFiles, 3382 Compiler compiler = compilerFor(sourceFiles,
3866 options: ['--analyze-all', '--analyze-only']); 3383 options: ['--analyze-all', '--analyze-only']);
3867 return compiler.run(Uri.parse('memory:main.dart')).then((_) { 3384 return compiler.run(Uri.parse('memory:main.dart')).then((_) {
3868 testMap.forEach((String filename, Test test) { 3385 testMap.forEach((String filename, Test test) {
3869 LibraryElement library = compiler.libraryLoader.lookupLibrary( 3386 LibraryElement library = compiler.libraryLoader.lookupLibrary(
3870 Uri.parse('memory:$filename')); 3387 Uri.parse('memory:$filename'));
3871 var expectedVisits = test.expectedVisits; 3388 var expectedVisits = test.expectedVisits;
(...skipping 23 matching lines...) Expand all
3895 //print(resolvedAst.node.toDebugString()); 3412 //print(resolvedAst.node.toDebugString());
3896 resolvedAst.node.accept(visitor); 3413 resolvedAst.node.accept(visitor);
3897 }); 3414 });
3898 } catch (e, s) { 3415 } catch (e, s) {
3899 Expect.fail("$e:\n$s\nIn test:\n" 3416 Expect.fail("$e:\n$s\nIn test:\n"
3900 "${library.compilationUnit.script.text}"); 3417 "${library.compilationUnit.script.text}");
3901 } 3418 }
3902 Expect.listEquals(expectedVisits, visitor.visits, 3419 Expect.listEquals(expectedVisits, visitor.visits,
3903 "In test:\n" 3420 "In test:\n"
3904 "${library.compilationUnit.script.text}"); 3421 "${library.compilationUnit.script.text}");
3905 unvisitedKinds.removeAll(visitor.visits.map((visit) => visit.method));
3906 } 3422 }
3907 if (element.isAbstractField) { 3423 if (element.isAbstractField) {
3908 AbstractFieldElement abstractFieldElement = element; 3424 AbstractFieldElement abstractFieldElement = element;
3909 if (abstractFieldElement.getter != null) { 3425 if (abstractFieldElement.getter != null) {
3910 testAstElement(abstractFieldElement.getter); 3426 testAstElement(abstractFieldElement.getter);
3911 } else if (abstractFieldElement.setter != null) { 3427 } else if (abstractFieldElement.setter != null) {
3912 testAstElement(abstractFieldElement.setter); 3428 testAstElement(abstractFieldElement.setter);
3913 } 3429 }
3914 } else { 3430 } else {
3915 testAstElement(element); 3431 testAstElement(element);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
3948 @override 3464 @override
3949 visitAssert( 3465 visitAssert(
3950 Send node, 3466 Send node,
3951 Node expression, 3467 Node expression,
3952 arg) { 3468 arg) {
3953 visits.add(new Visit(VisitKind.VISIT_ASSERT, expression: expression)); 3469 visits.add(new Visit(VisitKind.VISIT_ASSERT, expression: expression));
3954 apply(expression, arg); 3470 apply(expression, arg);
3955 } 3471 }
3956 3472
3957 @override 3473 @override
3474 errorInvalidAssert(
3475 Send node,
3476 NodeList arguments,
3477 arg) {
3478 // TODO: implement errorAssert
3479 }
3480
3481 @override
3958 visitBinary( 3482 visitBinary(
3959 Send node, 3483 Send node,
3960 Node left, 3484 Node left,
3961 BinaryOperator operator, 3485 BinaryOperator operator,
3962 Node right, 3486 Node right,
3963 arg) { 3487 arg) {
3964 visits.add(new Visit(VisitKind.VISIT_BINARY, 3488 visits.add(new Visit(VisitKind.VISIT_BINARY,
3965 left: left, operator: operator, right: right)); 3489 left: left, operator: operator, right: right));
3966 apply(left, arg); 3490 apply(left, arg);
3967 apply(right, arg); 3491 apply(right, arg);
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
4372 Send node, 3896 Send node,
4373 Element element, 3897 Element element,
4374 BinaryOperator operator, 3898 BinaryOperator operator,
4375 Node argument, 3899 Node argument,
4376 arg) { 3900 arg) {
4377 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_BINARY, 3901 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_BINARY,
4378 operator: operator, right: argument)); 3902 operator: operator, right: argument));
4379 apply(argument, arg); 3903 apply(argument, arg);
4380 } 3904 }
4381 3905
3906
4382 @override 3907 @override
4383 visitSuperIndex( 3908 visitSuperIndex(
4384 Send node, 3909 Send node,
4385 FunctionElement function, 3910 FunctionElement function,
4386 Node index, 3911 Node index,
4387 arg) { 3912 arg) {
4388 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX, 3913 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX,
4389 element: function, index: index)); 3914 element: function, index: index));
4390 apply(index, arg); 3915 apply(index, arg);
4391 } 3916 }
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
4815 Node index, 4340 Node index,
4816 Node rhs, 4341 Node rhs,
4817 arg) { 4342 arg) {
4818 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_SET, 4343 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_SET,
4819 element: function, index: index, rhs: rhs)); 4344 element: function, index: index, rhs: rhs));
4820 apply(index, arg); 4345 apply(index, arg);
4821 apply(rhs, arg); 4346 apply(rhs, arg);
4822 } 4347 }
4823 4348
4824 @override 4349 @override
4350 errorFinalLocalVariableSet(
4351 SendSet node,
4352 LocalVariableElement variable,
4353 Node rhs,
4354 arg) {
4355 // TODO: implement errorFinalLocalVariableSet
4356 }
4357
4358 @override
4359 errorFinalParameterSet(
4360 SendSet node,
4361 ParameterElement parameter,
4362 Node rhs,
4363 arg) {
4364 // TODO: implement errorFinalParameterSet
4365 }
4366
4367 @override
4368 errorFinalStaticFieldSet(
4369 SendSet node,
4370 FieldElement field,
4371 Node rhs,
4372 arg) {
4373 // TODO: implement errorFinalStaticFieldSet
4374 }
4375
4376 @override
4377 errorFinalSuperFieldSet(
4378 SendSet node,
4379 FieldElement field,
4380 Node rhs,
4381 arg) {
4382 // TODO: implement errorFinalSuperFieldSet
4383 }
4384
4385 @override
4386 errorFinalTopLevelFieldSet(
4387 SendSet node,
4388 FieldElement field,
4389 Node rhs,
4390 arg) {
4391 // TODO: implement errorFinalTopLevelFieldSet
4392 }
4393
4394 @override
4395 errorLocalFunctionSet(
4396 SendSet node,
4397 LocalFunctionElement function,
4398 Node rhs,
4399 arg) {
4400 // TODO: implement errorLocalFunctionSet
4401 }
4402
4403 @override
4404 errorStaticFunctionSet(
4405 Send node,
4406 MethodElement function,
4407 Node rhs,
4408 arg) {
4409 // TODO: implement errorStaticFunctionSet
4410 }
4411
4412 @override
4413 errorStaticGetterSet(
4414 SendSet node,
4415 FunctionElement getter,
4416 Node rhs,
4417 arg) {
4418 // TODO: implement errorStaticGetterSet
4419 }
4420
4421 @override
4422 errorStaticSetterGet(
4423 Send node,
4424 FunctionElement setter,
4425 arg) {
4426 // TODO: implement errorStaticSetterGet
4427 }
4428
4429 @override
4430 errorStaticSetterInvoke(
4431 Send node,
4432 FunctionElement setter,
4433 NodeList arguments,
4434 CallStructure callStructure,
4435 arg) {
4436 // TODO: implement errorStaticSetterInvoke
4437 }
4438
4439 @override
4440 errorSuperGetterSet(
4441 SendSet node,
4442 FunctionElement getter,
4443 Node rhs,
4444 arg) {
4445 // TODO: implement errorSuperGetterSet
4446 }
4447
4448 @override
4449 errorSuperMethodSet(
4450 Send node,
4451 MethodElement method,
4452 Node rhs,
4453 arg) {
4454 // TODO: implement errorSuperMethodSet
4455 }
4456
4457 @override
4458 errorSuperSetterGet(
4459 Send node,
4460 FunctionElement setter,
4461 arg) {
4462 // TODO: implement errorSuperSetterGet
4463 }
4464
4465 @override
4466 errorSuperSetterInvoke(
4467 Send node,
4468 FunctionElement setter,
4469 NodeList arguments,
4470 CallStructure callStructure,
4471 arg) {
4472 // TODO: implement errorSuperSetterInvoke
4473 }
4474
4475 @override
4476 errorTopLevelFunctionSet(
4477 Send node,
4478 MethodElement function,
4479 Node rhs,
4480 arg) {
4481 // TODO: implement errorTopLevelFunctionSet
4482 }
4483
4484 @override
4485 errorTopLevelGetterSet(
4486 SendSet node,
4487 FunctionElement getter,
4488 Node rhs,
4489 arg) {
4490 // TODO: implement errorTopLevelGetterSet
4491 }
4492
4493 @override
4494 errorTopLevelSetterGet(
4495 Send node,
4496 FunctionElement setter,
4497 arg) {
4498 // TODO: implement errorTopLevelSetterGet
4499 }
4500
4501 @override
4502 errorTopLevelSetterInvoke(
4503 Send node,
4504 FunctionElement setter,
4505 NodeList arguments,
4506 CallStructure callStructure,
4507 arg) {
4508 // TODO: implement errorTopLevelSetterInvoke
4509 }
4510
4511 @override
4825 visitDynamicPropertyCompound( 4512 visitDynamicPropertyCompound(
4826 Send node, 4513 Send node,
4827 Node receiver, 4514 Node receiver,
4828 AssignmentOperator operator, 4515 AssignmentOperator operator,
4829 Node rhs, 4516 Node rhs,
4830 Selector getterSelector, 4517 Selector getterSelector,
4831 Selector setterSelector, 4518 Selector setterSelector,
4832 arg) { 4519 arg) {
4833 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_COMPOUND, 4520 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_COMPOUND,
4834 receiver: receiver, operator: operator, rhs: rhs, 4521 receiver: receiver, operator: operator, rhs: rhs,
4835 getter: getterSelector, setter: setterSelector)); 4522 getter: getterSelector, setter: setterSelector));
4836 apply(receiver, arg); 4523 apply(receiver, arg);
4837 apply(rhs, arg); 4524 apply(rhs, arg);
4838 } 4525 }
4839 4526
4840 @override 4527 @override
4841 visitFinalLocalVariableCompound( 4528 errorFinalLocalVariableCompound(
4842 Send node, 4529 Send node,
4843 LocalVariableElement variable, 4530 LocalVariableElement variable,
4844 AssignmentOperator operator, 4531 AssignmentOperator operator,
4845 Node rhs, 4532 Node rhs,
4846 arg) { 4533 arg) {
4847 visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_COMPOUND, 4534 // TODO: implement errorFinalLocalVariableCompound
4848 element: variable, operator: operator, rhs: rhs)); 4535 }
4849 apply(rhs, arg); 4536
4850 } 4537 @override
4851 4538 errorFinalParameterCompound(
4852 @override
4853 visitFinalLocalVariablePrefix(
4854 Send node,
4855 LocalVariableElement variable,
4856 IncDecOperator operator,
4857 arg) {
4858 visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
4859 element: variable, operator: operator));
4860 }
4861
4862 @override
4863 visitFinalLocalVariablePostfix(
4864 Send node,
4865 LocalVariableElement variable,
4866 IncDecOperator operator,
4867 arg) {
4868 visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
4869 element: variable, operator: operator));
4870 }
4871
4872 @override
4873 visitFinalParameterCompound(
4874 Send node, 4539 Send node,
4875 ParameterElement parameter, 4540 ParameterElement parameter,
4876 AssignmentOperator operator, 4541 AssignmentOperator operator,
4877 Node rhs, 4542 Node rhs,
4878 arg) { 4543 arg) {
4879 visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_COMPOUND, 4544 // TODO: implement errorFinalParameterCompound
4880 element: parameter, operator: operator, rhs: rhs)); 4545 }
4881 apply(rhs, arg); 4546
4882 } 4547 @override
4883 4548 errorFinalStaticFieldCompound(
4884 @override 4549 Send node,
4885 visitFinalParameterPrefix( 4550 FieldElement field,
4886 Send node, 4551 AssignmentOperator operator,
4887 ParameterElement parameter, 4552 Node rhs,
4888 IncDecOperator operator, 4553 arg) {
4889 arg) { 4554 // TODO: implement errorFinalStaticFieldCompound
4890 visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_PREFIX, 4555 }
4891 element: parameter, operator: operator)); 4556
4892 } 4557 @override
4893 4558 errorFinalSuperFieldCompound(
4894 @override 4559 Send node,
4895 visitFinalParameterPostfix( 4560 FieldElement field,
4896 Send node, 4561 AssignmentOperator operator,
4897 ParameterElement parameter, 4562 Node rhs,
4898 IncDecOperator operator, 4563 arg) {
4899 arg) { 4564 // TODO: implement errorFinalSuperFieldCompound
4900 visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_POSTFIX, 4565 }
4901 element: parameter, operator: operator)); 4566
4902 } 4567 @override
4903 4568 errorFinalTopLevelFieldCompound(
4904 @override 4569 Send node,
4905 visitFinalStaticFieldCompound( 4570 FieldElement field,
4906 Send node, 4571 AssignmentOperator operator,
4907 FieldElement field, 4572 Node rhs,
4908 AssignmentOperator operator, 4573 arg) {
4909 Node rhs, 4574 // TODO: implement errorFinalTopLevelFieldCompound
4910 arg) { 4575 }
4911 visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_COMPOUND, 4576
4912 element: field, operator: operator, rhs: rhs)); 4577 @override
4913 apply(rhs, arg); 4578 errorLocalFunctionCompound(
4914 }
4915
4916 @override
4917 visitFinalStaticFieldPostfix(
4918 Send node,
4919 FieldElement field,
4920 IncDecOperator operator,
4921 arg) {
4922 visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_POSTFIX,
4923 element: field, operator: operator));
4924 }
4925
4926 @override
4927 visitFinalStaticFieldPrefix(
4928 Send node,
4929 FieldElement field,
4930 IncDecOperator operator,
4931 arg) {
4932 visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_PREFIX,
4933 element: field, operator: operator));
4934 }
4935
4936 @override
4937 visitFinalSuperFieldCompound(
4938 Send node,
4939 FieldElement field,
4940 AssignmentOperator operator,
4941 Node rhs,
4942 arg) {
4943 visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND,
4944 element: field, operator: operator, rhs: rhs));
4945 apply(rhs, arg);
4946 }
4947
4948 @override
4949 visitFinalTopLevelFieldCompound(
4950 Send node,
4951 FieldElement field,
4952 AssignmentOperator operator,
4953 Node rhs,
4954 arg) {
4955 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
4956 element: field, operator: operator, rhs: rhs));
4957 apply(rhs, arg);
4958 }
4959
4960 @override
4961 visitFinalTopLevelFieldPostfix(
4962 Send node,
4963 FieldElement field,
4964 IncDecOperator operator,
4965 arg) {
4966 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
4967 element: field, operator: operator));
4968 }
4969
4970 @override
4971 visitFinalTopLevelFieldPrefix(
4972 Send node,
4973 FieldElement field,
4974 IncDecOperator operator,
4975 arg) {
4976 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
4977 element: field, operator: operator));
4978 }
4979
4980 @override
4981 visitLocalFunctionCompound(
4982 Send node, 4579 Send node,
4983 LocalFunctionElement function, 4580 LocalFunctionElement function,
4984 AssignmentOperator operator, 4581 AssignmentOperator operator,
4985 Node rhs, 4582 Node rhs,
4986 arg) { 4583 arg) {
4987 visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_COMPOUND, 4584 // TODO: implement errorLocalFunctionCompound
4988 element: function, operator: operator, rhs: rhs)); 4585 }
4989 apply(rhs, arg); 4586
4990 } 4587 @override
4991
4992 @override
4993 visitLocalVariableCompound( 4588 visitLocalVariableCompound(
4994 Send node, 4589 Send node,
4995 LocalVariableElement variable, 4590 LocalVariableElement variable,
4996 AssignmentOperator operator, 4591 AssignmentOperator operator,
4997 Node rhs, 4592 Node rhs,
4998 arg) { 4593 arg) {
4999 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND, 4594 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND,
5000 element: variable, operator: operator, rhs: rhs)); 4595 element: variable, operator: operator, rhs: rhs));
5001 apply(rhs, arg); 4596 apply(rhs, arg);
5002 } 4597 }
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
5148 } 4743 }
5149 4744
5150 @override 4745 @override
5151 visitSuperMethodSetterCompound( 4746 visitSuperMethodSetterCompound(
5152 Send node, 4747 Send node,
5153 FunctionElement method, 4748 FunctionElement method,
5154 FunctionElement setter, 4749 FunctionElement setter,
5155 AssignmentOperator operator, 4750 AssignmentOperator operator,
5156 Node rhs, 4751 Node rhs,
5157 arg) { 4752 arg) {
5158 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND, 4753 // TODO: implement visitSuperMethodSetterCompound
5159 getter: method, setter: setter, operator: operator, rhs: rhs));
5160 apply(rhs, arg);
5161 } 4754 }
5162 4755
5163 @override 4756 @override
5164 visitSuperMethodCompound(
5165 Send node,
5166 FunctionElement method,
5167 AssignmentOperator operator,
5168 Node rhs,
5169 arg) {
5170 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND,
5171 element: method, operator: operator, rhs: rhs));
5172 apply(rhs, arg);
5173 }
5174
5175 @override
5176 visitSuperMethodPrefix(
5177 Send node,
5178 FunctionElement method,
5179 IncDecOperator operator,
5180 arg) {
5181 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_PREFIX,
5182 element: method, operator: operator));
5183 }
5184
5185 @override
5186 visitSuperMethodPostfix(
5187 Send node,
5188 FunctionElement method,
5189 IncDecOperator operator,
5190 arg) {
5191 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_POSTFIX,
5192 element: method, operator: operator));
5193 }
5194
5195 @override
5196 visitUnresolvedSuperCompound(
5197 Send node,
5198 Element element,
5199 AssignmentOperator operator,
5200 Node rhs,
5201 arg) {
5202 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND,
5203 operator: operator, rhs: rhs));
5204 apply(rhs, arg);
5205 }
5206
5207 @override
5208 visitUnresolvedSuperPrefix(
5209 Send node,
5210 Element element,
5211 IncDecOperator operator,
5212 arg) {
5213 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_PREFIX,
5214 operator: operator));
5215 }
5216
5217 @override
5218 visitUnresolvedSuperPostfix(
5219 Send node,
5220 Element element,
5221 IncDecOperator operator,
5222 arg) {
5223 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_POSTFIX,
5224 operator: operator));
5225 }
5226
5227 @override
5228 visitTopLevelMethodSetterCompound( 4757 visitTopLevelMethodSetterCompound(
5229 Send node, 4758 Send node,
5230 FunctionElement method, 4759 FunctionElement method,
5231 FunctionElement setter, 4760 FunctionElement setter,
5232 AssignmentOperator operator, 4761 AssignmentOperator operator,
5233 Node rhs, 4762 Node rhs,
5234 arg) { 4763 arg) {
5235 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND, 4764 // TODO: implement visitTopLevelMethodSetterCompound
5236 getter: method, setter: setter, operator: operator, rhs: rhs));
5237 apply(rhs, arg);
5238 } 4765 }
5239 4766
5240 @override 4767 @override
5241 visitCompoundIndexSet( 4768 visitCompoundIndexSet(
5242 Send node, 4769 Send node,
5243 Node receiver, 4770 Node receiver,
5244 Node index, 4771 Node index,
5245 AssignmentOperator operator, 4772 AssignmentOperator operator,
5246 Node rhs, 4773 Node rhs,
5247 arg) { 4774 arg) {
(...skipping 14 matching lines...) Expand all
5262 Node rhs, 4789 Node rhs,
5263 arg) { 4790 arg) {
5264 visits.add(new Visit(VisitKind.VISIT_SUPER_COMPOUND_INDEX_SET, 4791 visits.add(new Visit(VisitKind.VISIT_SUPER_COMPOUND_INDEX_SET,
5265 getter: getter, setter: setter, 4792 getter: getter, setter: setter,
5266 index: index, rhs: rhs, operator: operator)); 4793 index: index, rhs: rhs, operator: operator));
5267 apply(index, arg); 4794 apply(index, arg);
5268 apply(rhs, arg); 4795 apply(rhs, arg);
5269 } 4796 }
5270 4797
5271 @override 4798 @override
5272 visitClassTypeLiteralCompound( 4799 errorClassTypeLiteralCompound(
5273 Send node, 4800 Send node,
5274 ConstantExpression constant, 4801 ConstantExpression constant,
5275 AssignmentOperator operator, 4802 AssignmentOperator operator,
5276 Node rhs, 4803 Node rhs,
5277 arg) { 4804 arg) {
5278 visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND, 4805 visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_COMPOUND,
5279 constant: constant.getText(), operator: operator, rhs: rhs)); 4806 constant: constant.getText(), operator: operator, rhs: rhs));
5280 apply(rhs, arg); 4807 apply(rhs, arg);
5281 } 4808 }
5282 4809
5283 @override 4810 @override
5284 visitDynamicTypeLiteralCompound( 4811 errorDynamicTypeLiteralCompound(
5285 Send node, 4812 Send node,
5286 ConstantExpression constant, 4813 ConstantExpression constant,
5287 AssignmentOperator operator, 4814 AssignmentOperator operator,
5288 Node rhs, 4815 Node rhs,
5289 arg) { 4816 arg) {
5290 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND, 4817 visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_COMPOUND,
5291 constant: constant.getText(), operator: operator, rhs: rhs)); 4818 constant: constant.getText(), operator: operator, rhs: rhs));
5292 apply(rhs, arg); 4819 apply(rhs, arg);
5293 } 4820 }
5294 4821
5295 @override 4822 @override
5296 visitTypeVariableTypeLiteralCompound( 4823 errorTypeVariableTypeLiteralCompound(
5297 Send node, 4824 Send node,
5298 TypeVariableElement element, 4825 TypeVariableElement element,
5299 AssignmentOperator operator, 4826 AssignmentOperator operator,
5300 Node rhs, 4827 Node rhs,
5301 arg) { 4828 arg) {
5302 visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND, 4829 visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
5303 element: element, operator: operator, rhs: rhs)); 4830 element: element, operator: operator, rhs: rhs));
5304 apply(rhs, arg); 4831 apply(rhs, arg);
5305 } 4832 }
5306 4833
5307 @override 4834 @override
5308 visitTypedefTypeLiteralCompound( 4835 errorTypedefTypeLiteralCompound(
5309 Send node, 4836 Send node,
5310 ConstantExpression constant, 4837 ConstantExpression constant,
5311 AssignmentOperator operator, 4838 AssignmentOperator operator,
5312 Node rhs, 4839 Node rhs,
5313 arg) { 4840 arg) {
5314 visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND, 4841 visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_COMPOUND,
5315 constant: constant.getText(), operator: operator, rhs: rhs)); 4842 constant: constant.getText(), operator: operator, rhs: rhs));
5316 apply(rhs, arg); 4843 apply(rhs, arg);
5317 } 4844 }
5318 4845
5319 @override 4846 @override
5320 visitLocalFunctionPrefix( 4847 errorLocalFunctionPrefix(
5321 Send node, 4848 Send node,
5322 LocalFunctionElement function, 4849 LocalFunctionElement function,
5323 IncDecOperator operator, 4850 IncDecOperator operator,
5324 arg) { 4851 arg) {
5325 visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_PREFIX, 4852 // TODO: implement errorLocalFunctionPrefix
5326 element: function, operator: operator));
5327 } 4853 }
5328 4854
5329 @override 4855 @override
5330 visitClassTypeLiteralPrefix( 4856 errorClassTypeLiteralPrefix(
5331 Send node, 4857 Send node,
5332 ConstantExpression constant, 4858 ConstantExpression constant,
5333 IncDecOperator operator, 4859 IncDecOperator operator,
5334 arg) { 4860 arg) {
5335 visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_PREFIX, 4861 visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_PREFIX,
5336 constant: constant.getText(), operator: operator)); 4862 constant: constant.getText(), operator: operator));
5337 } 4863 }
5338 4864
5339 @override 4865 @override
5340 visitDynamicTypeLiteralPrefix( 4866 errorDynamicTypeLiteralPrefix(
5341 Send node, 4867 Send node,
5342 ConstantExpression constant, 4868 ConstantExpression constant,
5343 IncDecOperator operator, 4869 IncDecOperator operator,
5344 arg) { 4870 arg) {
5345 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_PREFIX, 4871 visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_PREFIX,
5346 constant: constant.getText(), operator: operator)); 4872 constant: constant.getText(), operator: operator));
5347 } 4873 }
5348 4874
5349 @override 4875 @override
5350 visitLocalVariablePrefix( 4876 visitLocalVariablePrefix(
5351 Send node, 4877 Send node,
5352 LocalVariableElement variable, 4878 LocalVariableElement variable,
5353 IncDecOperator operator, 4879 IncDecOperator operator,
5354 arg) { 4880 arg) {
5355 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX, 4881 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
5387 getter: getter, setter: setter, operator: operator)); 4913 getter: getter, setter: setter, operator: operator));
5388 } 4914 }
5389 4915
5390 @override 4916 @override
5391 visitStaticMethodSetterPrefix( 4917 visitStaticMethodSetterPrefix(
5392 Send node, 4918 Send node,
5393 FunctionElement getter, 4919 FunctionElement getter,
5394 FunctionElement setter, 4920 FunctionElement setter,
5395 IncDecOperator operator, 4921 IncDecOperator operator,
5396 arg) { 4922 arg) {
5397 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX, 4923 // TODO: implement visitStaticMethodSetterPrefix
5398 getter: getter, setter: setter, operator: operator));
5399 } 4924 }
5400 4925
5401 @override 4926 @override
5402 visitSuperFieldFieldCompound(
5403 Send node,
5404 FieldElement readField,
5405 FieldElement writtenField,
5406 AssignmentOperator operator,
5407 Node rhs,
5408 arg) {
5409 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
5410 getter: readField, setter: writtenField, operator: operator, rhs: rhs));
5411 apply(rhs, arg);
5412 }
5413
5414 @override
5415 visitSuperFieldFieldPrefix( 4927 visitSuperFieldFieldPrefix(
5416 Send node, 4928 Send node,
5417 FieldElement readField, 4929 FieldElement readField,
5418 FieldElement writtenField, 4930 FieldElement writtenField,
5419 IncDecOperator operator, 4931 IncDecOperator operator,
5420 arg) { 4932 arg) {
5421 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX, 4933 // TODO: implement visitSuperFieldFieldPrefix
5422 getter: readField, setter: writtenField, operator: operator));
5423 } 4934 }
5424 4935
5425 @override 4936 @override
5426 visitSuperFieldPrefix( 4937 visitSuperFieldPrefix(
5427 Send node, 4938 Send node,
5428 FieldElement field, 4939 FieldElement field,
5429 IncDecOperator operator, 4940 IncDecOperator operator,
5430 arg) { 4941 arg) {
5431 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX, 4942 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX,
5432 element: field, operator: operator)); 4943 element: field, operator: operator));
5433 } 4944 }
5434 4945
5435 @override 4946 @override
5436 visitFinalSuperFieldPrefix(
5437 Send node,
5438 FieldElement field,
5439 IncDecOperator operator,
5440 arg) {
5441 visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_PREFIX,
5442 element: field, operator: operator));
5443 }
5444
5445 @override
5446 visitSuperFieldSetterPrefix( 4947 visitSuperFieldSetterPrefix(
5447 Send node, 4948 Send node,
5448 FieldElement field, 4949 FieldElement field,
5449 FunctionElement setter, 4950 FunctionElement setter,
5450 IncDecOperator operator, 4951 IncDecOperator operator,
5451 arg) { 4952 arg) {
5452 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX, 4953 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX,
5453 getter: field, setter: setter, operator: operator)); 4954 getter: field, setter: setter, operator: operator));
5454 } 4955 }
5455 4956
(...skipping 19 matching lines...) Expand all
5475 getter: getter, setter: setter, operator: operator)); 4976 getter: getter, setter: setter, operator: operator));
5476 } 4977 }
5477 4978
5478 @override 4979 @override
5479 visitSuperMethodSetterPrefix( 4980 visitSuperMethodSetterPrefix(
5480 Send node, 4981 Send node,
5481 FunctionElement method, 4982 FunctionElement method,
5482 FunctionElement setter, 4983 FunctionElement setter,
5483 IncDecOperator operator, 4984 IncDecOperator operator,
5484 arg) { 4985 arg) {
5485 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX, 4986 // TODO: implement visitSuperMethodSetterPrefix
5486 getter: method, setter: setter, operator: operator));
5487 } 4987 }
5488 4988
5489 @override 4989 @override
5490 visitThisPropertyPrefix( 4990 visitThisPropertyPrefix(
5491 Send node, 4991 Send node,
5492 IncDecOperator operator, 4992 IncDecOperator operator,
5493 Selector getterSelector, 4993 Selector getterSelector,
5494 Selector setterSelector, 4994 Selector setterSelector,
5495 arg) { 4995 arg) {
5496 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_PREFIX, 4996 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_PREFIX,
(...skipping 22 matching lines...) Expand all
5519 getter: getter, setter: setter, operator: operator)); 5019 getter: getter, setter: setter, operator: operator));
5520 } 5020 }
5521 5021
5522 @override 5022 @override
5523 visitTopLevelMethodSetterPrefix( 5023 visitTopLevelMethodSetterPrefix(
5524 Send node, 5024 Send node,
5525 FunctionElement method, 5025 FunctionElement method,
5526 FunctionElement setter, 5026 FunctionElement setter,
5527 IncDecOperator operator, 5027 IncDecOperator operator,
5528 arg) { 5028 arg) {
5529 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX, 5029 // TODO: implement visitTopLevelMethodSetterPrefix
5530 getter: method, setter: setter, operator: operator));
5531 } 5030 }
5532 5031
5533 @override 5032 @override
5534 visitTypeVariableTypeLiteralPrefix( 5033 errorTypeVariableTypeLiteralPrefix(
5535 Send node, 5034 Send node,
5536 TypeVariableElement element, 5035 TypeVariableElement element,
5537 IncDecOperator operator, 5036 IncDecOperator operator,
5538 arg) { 5037 arg) {
5539 visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX, 5038 visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
5540 element: element, operator: operator)); 5039 element: element, operator: operator));
5541 } 5040 }
5542 5041
5543 @override 5042 @override
5544 visitTypedefTypeLiteralPrefix( 5043 errorTypedefTypeLiteralPrefix(
5545 Send node, 5044 Send node,
5546 ConstantExpression constant, 5045 ConstantExpression constant,
5547 IncDecOperator operator, 5046 IncDecOperator operator,
5548 arg) { 5047 arg) {
5549 visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_PREFIX, 5048 visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_PREFIX,
5550 constant: constant.getText(), operator: operator)); 5049 constant: constant.getText(), operator: operator));
5551 } 5050 }
5552 5051
5553 @override 5052 @override
5554 visitLocalFunctionPostfix( 5053 errorLocalFunctionPostfix(
5555 Send node, 5054 Send node,
5556 LocalFunctionElement function, 5055 LocalFunctionElement function,
5557 IncDecOperator operator, 5056 IncDecOperator operator,
5558 arg) { 5057 arg) {
5559 visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_POSTFIX, 5058 // TODO: implement errorLocalFunctionPostfix
5560 element: function, operator: operator));
5561 } 5059 }
5562 5060
5563 @override 5061 @override
5564 visitClassTypeLiteralPostfix( 5062 errorClassTypeLiteralPostfix(
5565 Send node, 5063 Send node,
5566 ConstantExpression constant, 5064 ConstantExpression constant,
5567 IncDecOperator operator, 5065 IncDecOperator operator,
5568 arg) { 5066 arg) {
5569 visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX, 5067 visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_POSTFIX,
5570 constant: constant.getText(), operator: operator)); 5068 constant: constant.getText(), operator: operator));
5571 } 5069 }
5572 5070
5573 @override 5071 @override
5574 visitDynamicTypeLiteralPostfix( 5072 errorDynamicTypeLiteralPostfix(
5575 Send node, 5073 Send node,
5576 ConstantExpression constant, 5074 ConstantExpression constant,
5577 IncDecOperator operator, 5075 IncDecOperator operator,
5578 arg) { 5076 arg) {
5579 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX, 5077 visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_POSTFIX,
5580 constant: constant.getText(), operator: operator)); 5078 constant: constant.getText(), operator: operator));
5581 } 5079 }
5582 5080
5583 @override 5081 @override
5584 visitLocalVariablePostfix( 5082 visitLocalVariablePostfix(
5585 Send node, 5083 Send node,
5586 LocalVariableElement variable, 5084 LocalVariableElement variable,
5587 IncDecOperator operator, 5085 IncDecOperator operator,
5588 arg) { 5086 arg) {
5589 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX, 5087 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
5621 getter: getter, setter: setter, operator: operator)); 5119 getter: getter, setter: setter, operator: operator));
5622 } 5120 }
5623 5121
5624 @override 5122 @override
5625 visitStaticMethodSetterPostfix( 5123 visitStaticMethodSetterPostfix(
5626 Send node, 5124 Send node,
5627 FunctionElement getter, 5125 FunctionElement getter,
5628 FunctionElement setter, 5126 FunctionElement setter,
5629 IncDecOperator operator, 5127 IncDecOperator operator,
5630 arg) { 5128 arg) {
5631 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX, 5129 // TODO: implement visitStaticMethodSetterPostfix
5632 getter: getter, setter: setter, operator: operator));
5633 } 5130 }
5634 5131
5635 @override 5132 @override
5636 visitSuperFieldFieldPostfix( 5133 visitSuperFieldFieldPostfix(
5637 Send node, 5134 Send node,
5638 FieldElement readField, 5135 FieldElement readField,
5639 FieldElement writtenField, 5136 FieldElement writtenField,
5640 IncDecOperator operator, 5137 IncDecOperator operator,
5641 arg) { 5138 arg) {
5642 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX, 5139 // TODO: implement visitSuperFieldFieldPostfix
5643 getter: readField, setter: writtenField, operator: operator));
5644 } 5140 }
5645 5141
5646 @override 5142 @override
5647 visitSuperFieldPostfix( 5143 visitSuperFieldPostfix(
5648 Send node, 5144 Send node,
5649 FieldElement field, 5145 FieldElement field,
5650 IncDecOperator operator, 5146 IncDecOperator operator,
5651 arg) { 5147 arg) {
5652 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX, 5148 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX,
5653 element: field, operator: operator)); 5149 element: field, operator: operator));
5654 } 5150 }
5655 5151
5656 @override 5152 @override
5657 visitFinalSuperFieldPostfix(
5658 Send node,
5659 FieldElement field,
5660 IncDecOperator operator,
5661 arg) {
5662 visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_POSTFIX,
5663 element: field, operator: operator));
5664 }
5665
5666 @override
5667 visitSuperFieldSetterPostfix( 5153 visitSuperFieldSetterPostfix(
5668 Send node, 5154 Send node,
5669 FieldElement field, 5155 FieldElement field,
5670 FunctionElement setter, 5156 FunctionElement setter,
5671 IncDecOperator operator, 5157 IncDecOperator operator,
5672 arg) { 5158 arg) {
5673 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX, 5159 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX,
5674 getter: field, setter: setter, operator: operator)); 5160 getter: field, setter: setter, operator: operator));
5675 } 5161 }
5676 5162
(...skipping 19 matching lines...) Expand all
5696 getter: getter, setter: setter, operator: operator)); 5182 getter: getter, setter: setter, operator: operator));
5697 } 5183 }
5698 5184
5699 @override 5185 @override
5700 visitSuperMethodSetterPostfix( 5186 visitSuperMethodSetterPostfix(
5701 Send node, 5187 Send node,
5702 FunctionElement method, 5188 FunctionElement method,
5703 FunctionElement setter, 5189 FunctionElement setter,
5704 IncDecOperator operator, 5190 IncDecOperator operator,
5705 arg) { 5191 arg) {
5706 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX, 5192 // TODO: implement visitSuperMethodSetterPostfix
5707 getter: method, setter: setter, operator: operator));
5708 } 5193 }
5709 5194
5710 @override 5195 @override
5711 visitThisPropertyPostfix( 5196 visitThisPropertyPostfix(
5712 Send node, 5197 Send node,
5713 IncDecOperator operator, 5198 IncDecOperator operator,
5714 Selector getterSelector, 5199 Selector getterSelector,
5715 Selector setterSelector, 5200 Selector setterSelector,
5716 arg) { 5201 arg) {
5717 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_POSTFIX, 5202 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_POSTFIX,
(...skipping 22 matching lines...) Expand all
5740 getter: getter, setter: setter, operator: operator)); 5225 getter: getter, setter: setter, operator: operator));
5741 } 5226 }
5742 5227
5743 @override 5228 @override
5744 visitTopLevelMethodSetterPostfix( 5229 visitTopLevelMethodSetterPostfix(
5745 Send node, 5230 Send node,
5746 FunctionElement method, 5231 FunctionElement method,
5747 FunctionElement setter, 5232 FunctionElement setter,
5748 IncDecOperator operator, 5233 IncDecOperator operator,
5749 arg) { 5234 arg) {
5750 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX, 5235 // TODO: implement visitTopLevelMethodSetterPostfix
5751 getter: method, setter: setter, operator: operator));
5752 } 5236 }
5753 5237
5754 @override 5238 @override
5755 visitTypeVariableTypeLiteralPostfix( 5239 errorTypeVariableTypeLiteralPostfix(
5756 Send node, 5240 Send node,
5757 TypeVariableElement element, 5241 TypeVariableElement element,
5758 IncDecOperator operator, 5242 IncDecOperator operator,
5759 arg) { 5243 arg) {
5760 visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX, 5244 visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
5761 element: element, operator: operator)); 5245 element: element, operator: operator));
5762 } 5246 }
5763 5247
5764 @override 5248 @override
5765 visitTypedefTypeLiteralPostfix( 5249 errorTypedefTypeLiteralPostfix(
5766 Send node, 5250 Send node,
5767 ConstantExpression constant, 5251 ConstantExpression constant,
5768 IncDecOperator operator, 5252 IncDecOperator operator,
5769 arg) { 5253 arg) {
5770 visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX, 5254 visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_POSTFIX,
5771 constant: constant.getText(), operator: operator)); 5255 constant: constant.getText(), operator: operator));
5772 } 5256 }
5773 5257
5774 @override 5258 @override
5775 visitUnresolvedCompound( 5259 visitConstantGet(
5260 Send node,
5261 ConstantExpression constant,
5262 arg) {
5263 // TODO: implement visitConstantGet
5264 }
5265
5266 @override
5267 visitConstantInvoke(
5268 Send node,
5269 ConstantExpression constant,
5270 NodeList arguments,
5271 CallStructure callStructure,
5272 arg) {
5273 // TODO: implement visitConstantInvoke
5274 }
5275
5276 @override
5277 errorUnresolvedCompound(
5776 Send node, 5278 Send node,
5777 ErroneousElement element, 5279 ErroneousElement element,
5778 AssignmentOperator operator, 5280 AssignmentOperator operator,
5779 Node rhs, 5281 Node rhs,
5780 arg) { 5282 arg) {
5781 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_COMPOUND, 5283 // TODO: implement errorUnresolvedCompound
5782 operator: operator, rhs: rhs));
5783 apply(rhs, arg);
5784 } 5284 }
5785 5285
5786 @override 5286 @override
5787 visitUnresolvedGet( 5287 visitUnresolvedGet(
5788 Send node, 5288 Send node,
5789 Element element, 5289 Element element,
5790 arg) { 5290 arg) {
5791 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_GET, name: element.name)); 5291 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_GET, name: element.name));
5792 } 5292 }
5793 5293
5794 @override 5294 @override
5795 visitUnresolvedInvoke( 5295 visitUnresolvedInvoke(
5796 Send node, 5296 Send node,
5797 Element element, 5297 Element element,
5798 NodeList arguments, 5298 NodeList arguments,
5799 Selector selector, 5299 Selector selector,
5800 arg) { 5300 arg) {
5801 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_INVOKE, 5301 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_INVOKE,
5802 name: element.name, arguments: arguments)); 5302 name: element.name, arguments: arguments));
5803 } 5303 }
5804 5304
5805 @override 5305 @override
5806 visitUnresolvedPostfix( 5306 errorUnresolvedPostfix(
5807 Send node, 5307 Send node,
5808 ErroneousElement element, 5308 ErroneousElement element,
5809 IncDecOperator operator, 5309 IncDecOperator operator,
5810 arg) { 5310 arg) {
5811 visits.add(new Visit( 5311 visits.add(new Visit(
5812 VisitKind.VISIT_UNRESOLVED_POSTFIX, operator: operator)); 5312 VisitKind.ERROR_UNRESOLVED_POSTFIX, operator: operator));
5813 } 5313 }
5814 5314
5815 @override 5315 @override
5816 visitUnresolvedPrefix( 5316 errorUnresolvedPrefix(
5817 Send node, 5317 Send node,
5818 ErroneousElement element, 5318 ErroneousElement element,
5819 IncDecOperator operator, 5319 IncDecOperator operator,
5820 arg) { 5320 arg) {
5821 visits.add(new Visit( 5321 // TODO: implement errorUnresolvedPrefix
5822 VisitKind.VISIT_UNRESOLVED_PREFIX, operator: operator));
5823 } 5322 }
5824 5323
5825 @override 5324 @override
5826 visitUnresolvedSuperCompoundIndexSet( 5325 errorUnresolvedSet(
5326 Send node,
5327 ErroneousElement element,
5328 Node rhs,
5329 arg) {
5330 // TODO: implement errorUnresolvedSet
5331 }
5332
5333 @override
5334 errorUndefinedBinaryExpression(
5335 Send node,
5336 Node left,
5337 Operator operator,
5338 Node right,
5339 arg) {
5340 // TODO: implement errorUndefinedBinaryExpression
5341 }
5342
5343 @override
5344 errorUndefinedUnaryExpression(
5345 Send node,
5346 Operator operator,
5347 Node expression,
5348 arg) {
5349 // TODO: implement errorUndefinedUnaryExpression
5350 }
5351
5352 @override
5353 visitUnresolvedSuperGetterCompoundIndexSet(
5827 Send node, 5354 Send node,
5828 Element element, 5355 Element element,
5829 Node index, 5356 Node index,
5830 AssignmentOperator operator, 5357 AssignmentOperator operator,
5831 Node rhs, 5358 Node rhs,
5832 arg) { 5359 arg) {
5833 visits.add(new Visit( 5360 visits.add(new Visit(
5834 VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND_INDEX_SET, 5361 VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
5835 index: index, operator: operator, rhs: rhs)); 5362 index: index, operator: operator, rhs: rhs));
5836 apply(index, arg); 5363 apply(index, arg);
5837 apply(rhs, arg); 5364 apply(rhs, arg);
5838 } 5365 }
5839
5840 @override
5841 visitUnresolvedSuperGetterCompoundIndexSet(
5842 Send node,
5843 Element element,
5844 MethodElement setter,
5845 Node index,
5846 AssignmentOperator operator,
5847 Node rhs,
5848 arg) {
5849 visits.add(new Visit(
5850 VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
5851 setter: setter, index: index, operator: operator, rhs: rhs));
5852 apply(index, arg);
5853 apply(rhs, arg);
5854 }
5855 5366
5856 @override 5367 @override
5857 visitUnresolvedSuperSetterCompoundIndexSet( 5368 visitUnresolvedSuperSetterCompoundIndexSet(
5858 Send node, 5369 Send node,
5859 MethodElement getter, 5370 MethodElement getter,
5860 Element element, 5371 Element element,
5861 Node index, 5372 Node index,
5862 AssignmentOperator operator, 5373 AssignmentOperator operator,
5863 Node rhs, 5374 Node rhs,
5864 arg) { 5375 arg) {
(...skipping 11 matching lines...) Expand all
5876 Node index, 5387 Node index,
5877 Node rhs, 5388 Node rhs,
5878 arg) { 5389 arg) {
5879 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_SET, 5390 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_SET,
5880 index: index, rhs: rhs)); 5391 index: index, rhs: rhs));
5881 apply(index, arg); 5392 apply(index, arg);
5882 apply(rhs, arg); 5393 apply(rhs, arg);
5883 } 5394 }
5884 5395
5885 @override 5396 @override
5886 visitUnresolvedSuperIndexPostfix(
5887 Send node,
5888 Element element,
5889 Node index,
5890 IncDecOperator operator,
5891 arg) {
5892 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_POSTFIX,
5893 index: index, operator: operator));
5894 apply(index, arg);
5895 }
5896
5897 @override
5898 visitUnresolvedSuperGetterIndexPostfix( 5397 visitUnresolvedSuperGetterIndexPostfix(
5899 Send node, 5398 Send node,
5900 Element element, 5399 Element element,
5901 MethodElement setter,
5902 Node index, 5400 Node index,
5903 IncDecOperator operator, 5401 IncDecOperator operator,
5904 arg) { 5402 arg) {
5905 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX, 5403 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
5906 setter: setter, index: index, operator: operator)); 5404 index: index, operator: operator));
5907 apply(index, arg); 5405 apply(index, arg);
5908 } 5406 }
5909 5407
5910 @override 5408 @override
5911 visitUnresolvedSuperSetterIndexPostfix( 5409 visitUnresolvedSuperSetterIndexPostfix(
5912 Send node, 5410 Send node,
5913 MethodElement getter, 5411 MethodElement getter,
5914 Element element, 5412 Element element,
5915 Node index, 5413 Node index,
5916 IncDecOperator operator, 5414 IncDecOperator operator,
5917 arg) { 5415 arg) {
5918 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX, 5416 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX,
5919 getter: getter, index: index, operator: operator)); 5417 getter: getter, index: index, operator: operator));
5920 apply(index, arg); 5418 apply(index, arg);
5921 } 5419 }
5922 5420
5923 @override 5421 @override
5924 visitUnresolvedSuperIndexPrefix(
5925 Send node,
5926 Element element,
5927 Node index,
5928 IncDecOperator operator,
5929 arg) {
5930 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_INDEX_PREFIX,
5931 index: index, operator: operator));
5932 apply(index, arg);
5933 }
5934
5935 @override
5936 visitUnresolvedSuperGetterIndexPrefix( 5422 visitUnresolvedSuperGetterIndexPrefix(
5937 Send node, 5423 Send node,
5938 Element element, 5424 Element element,
5939 MethodElement setter,
5940 Node index, 5425 Node index,
5941 IncDecOperator operator, 5426 IncDecOperator operator,
5942 arg) { 5427 arg) {
5943 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX, 5428 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
5944 setter: setter, index: index, operator: operator)); 5429 index: index, operator: operator));
5945 apply(index, arg); 5430 apply(index, arg);
5946 } 5431 }
5947 5432
5948 @override 5433 @override
5949 visitUnresolvedSuperSetterIndexPrefix( 5434 visitUnresolvedSuperSetterIndexPrefix(
5950 Send node, 5435 Send node,
5951 MethodElement getter, 5436 MethodElement getter,
5952 Element element, 5437 Element element,
5953 Node index, 5438 Node index,
5954 IncDecOperator operator, 5439 IncDecOperator operator,
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
6151 visits.add(new Visit( 5636 visits.add(new Visit(
6152 VisitKind.VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, 5637 VisitKind.VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
6153 element: constructor, 5638 element: constructor,
6154 type: type, 5639 type: type,
6155 arguments: arguments, 5640 arguments: arguments,
6156 selector: callStructure)); 5641 selector: callStructure));
6157 apply(arguments, arg); 5642 apply(arguments, arg);
6158 } 5643 }
6159 5644
6160 @override 5645 @override
6161 visitUnresolvedStaticGetterCompound( 5646 errorNonConstantConstructorInvoke(
6162 Send node, 5647 NewExpression node,
6163 Element element, 5648 Element element,
6164 MethodElement setter, 5649 DartType type,
6165 AssignmentOperator operator, 5650 NodeList arguments,
6166 Node rhs, 5651 CallStructure callStructure,
6167 arg) { 5652 arg) {
6168 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND, 5653 visits.add(new Visit(
6169 setter: setter, operator: operator, rhs: rhs)); 5654 VisitKind.ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
6170 apply(rhs, arg); 5655 type: type,
6171 } 5656 arguments: arguments,
6172 5657 selector: callStructure));
6173 @override 5658 apply(arguments, arg);
6174 visitUnresolvedTopLevelGetterCompound(
6175 Send node,
6176 Element element,
6177 MethodElement setter,
6178 AssignmentOperator operator,
6179 Node rhs,
6180 arg) {
6181 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
6182 setter: setter, operator: operator, rhs: rhs));
6183 apply(rhs, arg);
6184 }
6185
6186 @override
6187 visitUnresolvedStaticSetterCompound(
6188 Send node,
6189 MethodElement getter,
6190 Element element,
6191 AssignmentOperator operator,
6192 Node rhs,
6193 arg) {
6194 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
6195 getter: getter, operator: operator, rhs: rhs));
6196 apply(rhs, arg);
6197 }
6198
6199 @override
6200 visitUnresolvedTopLevelSetterCompound(
6201 Send node,
6202 MethodElement getter,
6203 Element element,
6204 AssignmentOperator operator,
6205 Node rhs,
6206 arg) {
6207 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
6208 getter: getter, operator: operator, rhs: rhs));
6209 apply(rhs, arg);
6210 }
6211
6212 @override
6213 visitStaticMethodCompound(
6214 Send node,
6215 MethodElement method,
6216 AssignmentOperator operator,
6217 Node rhs,
6218 arg) {
6219 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_COMPOUND,
6220 element: method, operator: operator, rhs: rhs));
6221 apply(rhs, arg);
6222 }
6223
6224 @override
6225 visitTopLevelMethodCompound(
6226 Send node,
6227 MethodElement method,
6228 AssignmentOperator operator,
6229 Node rhs,
6230 arg) {
6231 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_COMPOUND,
6232 element: method, operator: operator, rhs: rhs));
6233 apply(rhs, arg);
6234 }
6235
6236 @override
6237 visitUnresolvedStaticGetterPrefix(
6238 Send node,
6239 Element element,
6240 MethodElement setter,
6241 IncDecOperator operator,
6242 arg) {
6243 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
6244 setter: setter, operator: operator));
6245 }
6246
6247 @override
6248 visitUnresolvedTopLevelGetterPrefix(
6249 Send node,
6250 Element element,
6251 MethodElement setter,
6252 IncDecOperator operator,
6253 arg) {
6254 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
6255 setter: setter, operator: operator));
6256 }
6257
6258 @override
6259 visitUnresolvedStaticSetterPrefix(
6260 Send node,
6261 MethodElement getter,
6262 Element element,
6263 IncDecOperator operator,
6264 arg) {
6265 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
6266 getter: getter, operator: operator));
6267 }
6268
6269 @override
6270 visitUnresolvedTopLevelSetterPrefix(
6271 Send node,
6272 MethodElement getter,
6273 Element element,
6274 IncDecOperator operator,
6275 arg) {
6276 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
6277 getter: getter, operator: operator));
6278 }
6279
6280 @override
6281 visitStaticMethodPrefix(
6282 Send node,
6283 MethodElement method,
6284 IncDecOperator operator,
6285 arg) {
6286 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_PREFIX,
6287 element: method, operator: operator));
6288 }
6289
6290 @override
6291 visitTopLevelMethodPrefix(
6292 Send node,
6293 MethodElement method,
6294 IncDecOperator operator,
6295 arg) {
6296 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_PREFIX,
6297 element: method, operator: operator));
6298 }
6299
6300 @override
6301 visitUnresolvedStaticGetterPostfix(
6302 Send node,
6303 Element element,
6304 MethodElement setter,
6305 IncDecOperator operator,
6306 arg) {
6307 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
6308 setter: setter, operator: operator));
6309 }
6310
6311 @override
6312 visitUnresolvedTopLevelGetterPostfix(
6313 Send node,
6314 Element element,
6315 MethodElement setter,
6316 IncDecOperator operator,
6317 arg) {
6318 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
6319 setter: setter, operator: operator));
6320 }
6321
6322 @override
6323 visitUnresolvedStaticSetterPostfix(
6324 Send node,
6325 MethodElement getter,
6326 Element element,
6327 IncDecOperator operator,
6328 arg) {
6329 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
6330 getter: getter, operator: operator));
6331 }
6332
6333 @override
6334 visitUnresolvedTopLevelSetterPostfix(
6335 Send node,
6336 MethodElement getter,
6337 Element element,
6338 IncDecOperator operator,
6339 arg) {
6340 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
6341 getter: getter, operator: operator));
6342 }
6343
6344 @override
6345 visitStaticMethodPostfix(
6346 Send node,
6347 MethodElement method,
6348 IncDecOperator operator,
6349 arg) {
6350 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_POSTFIX,
6351 element: method, operator: operator));
6352 }
6353
6354 @override
6355 visitTopLevelMethodPostfix(
6356 Send node,
6357 MethodElement method,
6358 IncDecOperator operator,
6359 arg) {
6360 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_POSTFIX,
6361 element: method, operator: operator));
6362 }
6363
6364 @override
6365 visitUnresolvedSuperGetterCompound(
6366 Send node, Element element,
6367 MethodElement setter,
6368 AssignmentOperator operator,
6369 Node rhs,
6370 arg) {
6371 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
6372 setter: setter, operator: operator, rhs: rhs));
6373 apply(rhs, arg);
6374 }
6375
6376 @override
6377 visitUnresolvedSuperGetterPostfix(
6378 Send node,
6379 Element element,
6380 MethodElement setter,
6381 IncDecOperator operator,
6382 arg) {
6383 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
6384 setter: setter, operator: operator));
6385 }
6386
6387 @override
6388 visitUnresolvedSuperGetterPrefix(
6389 Send node,
6390 Element element,
6391 MethodElement setter,
6392 IncDecOperator operator,
6393 arg) {
6394 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
6395 setter: setter, operator: operator));
6396 }
6397
6398 @override
6399 visitUnresolvedSuperSetterCompound(
6400 Send node, MethodElement getter,
6401 Element element,
6402 AssignmentOperator operator,
6403 Node rhs,
6404 arg) {
6405 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
6406 getter: getter, operator: operator, rhs: rhs));
6407 apply(rhs, arg);
6408 }
6409
6410 @override
6411 visitUnresolvedSuperSetterPostfix(
6412 Send node,
6413 MethodElement getter,
6414 Element element,
6415 IncDecOperator operator,
6416 arg) {
6417 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
6418 getter: getter, operator: operator));
6419 }
6420
6421 @override
6422 visitUnresolvedSuperSetterPrefix(
6423 Send node,
6424 MethodElement getter,
6425 Element element,
6426 IncDecOperator operator,
6427 arg) {
6428 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
6429 getter: getter, operator: operator));
6430 } 5659 }
6431 } 5660 }
6432 5661
6433 class SemanticDeclarationTestVisitor extends SemanticTestVisitor { 5662 class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
6434 5663
6435 SemanticDeclarationTestVisitor(TreeElements elements) : super(elements); 5664 SemanticDeclarationTestVisitor(TreeElements elements) : super(elements);
6436 5665
6437 @override 5666 @override
6438 errorUnresolvedSuperConstructorInvoke( 5667 errorUnresolvedSuperConstructorInvoke(
6439 Send node, 5668 Send node,
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
6678 VariableDefinitions node, 5907 VariableDefinitions node,
6679 Node definition, 5908 Node definition,
6680 LocalVariableElement variable, 5909 LocalVariableElement variable,
6681 Node initializer, 5910 Node initializer,
6682 arg) { 5911 arg) {
6683 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 5912 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
6684 element: variable, rhs: initializer)); 5913 element: variable, rhs: initializer));
6685 if (initializer != null) { 5914 if (initializer != null) {
6686 apply(initializer, arg); 5915 apply(initializer, arg);
6687 } 5916 }
5917 return null;
6688 } 5918 }
6689 5919
6690 @override 5920 @override
6691 visitLocalConstantDeclaration( 5921 visitLocalConstantDeclaration(
6692 VariableDefinitions node, 5922 VariableDefinitions node,
6693 Node definition, 5923 Node definition,
6694 LocalVariableElement variable, 5924 LocalVariableElement variable,
6695 ConstantExpression constant, 5925 ConstantExpression constant,
6696 arg) { 5926 arg) {
6697 visits.add(new Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL, 5927 visits.add(new Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL,
6698 element: variable, constant: constant.getText())); 5928 element: variable, constant: constant.getText()));
5929 return null;
6699 } 5930 }
6700 5931
6701 @override 5932 @override
6702 visitNamedInitializingFormalDeclaration( 5933 visitNamedInitializingFormalDeclaration(
6703 VariableDefinitions node, 5934 VariableDefinitions node,
6704 Node definition, 5935 Node definition,
6705 InitializingFormalElement initializingFormal, 5936 InitializingFormalElement initializingFormal,
6706 ConstantExpression defaultValue, 5937 ConstantExpression defaultValue,
6707 arg) { 5938 arg) {
6708 visits.add(new Visit(VisitKind.VISIT_NAMED_INITIALIZING_FORMAL_DECL, 5939 visits.add(new Visit(VisitKind.VISIT_NAMED_INITIALIZING_FORMAL_DECL,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
6741 VariableDefinitions node, 5972 VariableDefinitions node,
6742 Node definition, 5973 Node definition,
6743 FieldElement field, 5974 FieldElement field,
6744 Node initializer, 5975 Node initializer,
6745 arg) { 5976 arg) {
6746 visits.add(new Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, 5977 visits.add(new Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL,
6747 element: field, rhs: initializer)); 5978 element: field, rhs: initializer));
6748 if (initializer != null) { 5979 if (initializer != null) {
6749 apply(initializer, arg); 5980 apply(initializer, arg);
6750 } 5981 }
5982 return null;
6751 } 5983 }
6752 5984
6753 @override 5985 @override
6754 visitStaticConstantDeclaration( 5986 visitStaticConstantDeclaration(
6755 VariableDefinitions node, 5987 VariableDefinitions node,
6756 Node definition, 5988 Node definition,
6757 FieldElement field, 5989 FieldElement field,
6758 ConstantExpression constant, 5990 ConstantExpression constant,
6759 arg) { 5991 arg) {
6760 visits.add(new Visit(VisitKind.VISIT_STATIC_CONSTANT_DECL, 5992 visits.add(new Visit(VisitKind.VISIT_STATIC_CONSTANT_DECL,
6761 element: field, constant: constant.getText())); 5993 element: field, constant: constant.getText()));
5994 return null;
6762 } 5995 }
6763 5996
6764 @override 5997 @override
6765 visitStaticFieldDeclaration( 5998 visitStaticFieldDeclaration(
6766 VariableDefinitions node, 5999 VariableDefinitions node,
6767 Node definition, 6000 Node definition,
6768 FieldElement field, 6001 FieldElement field,
6769 Node initializer, 6002 Node initializer,
6770 arg) { 6003 arg) {
6771 visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_DECL, 6004 visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_DECL,
6772 element: field, rhs: initializer)); 6005 element: field, rhs: initializer));
6773 if (initializer != null) { 6006 if (initializer != null) {
6774 apply(initializer, arg); 6007 apply(initializer, arg);
6775 } 6008 }
6009 return null;
6776 } 6010 }
6777 6011
6778 @override 6012 @override
6779 visitTopLevelConstantDeclaration( 6013 visitTopLevelConstantDeclaration(
6780 VariableDefinitions node, 6014 VariableDefinitions node,
6781 Node definition, 6015 Node definition,
6782 FieldElement field, 6016 FieldElement field,
6783 ConstantExpression constant, 6017 ConstantExpression constant,
6784 arg) { 6018 arg) {
6785 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL, 6019 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL,
6786 element: field, constant: constant.getText())); 6020 element: field, constant: constant.getText()));
6021 return null;
6787 } 6022 }
6788 6023
6789 @override 6024 @override
6790 visitTopLevelFieldDeclaration( 6025 visitTopLevelFieldDeclaration(
6791 VariableDefinitions node, 6026 VariableDefinitions node,
6792 Node definition, 6027 Node definition,
6793 FieldElement field, 6028 FieldElement field,
6794 Node initializer, 6029 Node initializer,
6795 arg) { 6030 arg) {
6796 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, 6031 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL,
6797 element: field, rhs: initializer)); 6032 element: field, rhs: initializer));
6798 if (initializer != null) { 6033 if (initializer != null) {
6799 apply(initializer, arg); 6034 apply(initializer, arg);
6800 } 6035 }
6036 return null;
6801 } 6037 }
6802 6038
6803 @override 6039 @override
6804 visitAbstractGetterDeclaration( 6040 visitAbstractGetterDeclaration(
6805 FunctionExpression node, 6041 FunctionExpression node,
6806 MethodElement getter, 6042 MethodElement getter,
6807 arg) { 6043 arg) {
6808 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_GETTER_DECL, 6044 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_GETTER_DECL,
6809 element: getter)); 6045 element: getter));
6046 return null;
6810 } 6047 }
6811 6048
6812 @override 6049 @override
6813 visitAbstractSetterDeclaration( 6050 visitAbstractSetterDeclaration(
6814 FunctionExpression node, 6051 FunctionExpression node,
6815 MethodElement setter, 6052 MethodElement setter,
6816 NodeList parameters, 6053 NodeList parameters,
6817 arg) { 6054 arg) {
6818 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_SETTER_DECL, 6055 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_SETTER_DECL,
6819 element: setter, parameters: parameters)); 6056 element: setter, parameters: parameters));
6820 applyParameters(parameters, arg); 6057 applyParameters(parameters, arg);
6058 return null;
6821 } 6059 }
6822 6060
6823 @override 6061 @override
6824 visitInstanceGetterDeclaration( 6062 visitInstanceGetterDeclaration(
6825 FunctionExpression node, 6063 FunctionExpression node,
6826 MethodElement getter, 6064 MethodElement getter,
6827 Node body, 6065 Node body,
6828 arg) { 6066 arg) {
6829 visits.add(new Visit(VisitKind.VISIT_INSTANCE_GETTER_DECL, 6067 visits.add(new Visit(VisitKind.VISIT_INSTANCE_GETTER_DECL,
6830 element: getter, body: body)); 6068 element: getter, body: body));
6831 apply(body, arg); 6069 apply(body, arg);
6070 return null;
6832 } 6071 }
6833 6072
6834 @override 6073 @override
6835 visitInstanceSetterDeclaration( 6074 visitInstanceSetterDeclaration(
6836 FunctionExpression node, 6075 FunctionExpression node,
6837 MethodElement setter, 6076 MethodElement setter,
6838 NodeList parameters, 6077 NodeList parameters,
6839 Node body, 6078 Node body,
6840 arg) { 6079 arg) {
6841 visits.add(new Visit(VisitKind.VISIT_INSTANCE_SETTER_DECL, 6080 visits.add(new Visit(VisitKind.VISIT_INSTANCE_SETTER_DECL,
6842 element: setter, parameters: parameters, body: body)); 6081 element: setter, parameters: parameters, body: body));
6843 applyParameters(parameters, arg); 6082 applyParameters(parameters, arg);
6844 apply(body, arg); 6083 apply(body, arg);
6084 return null;
6845 } 6085 }
6846 6086
6847 @override 6087 @override
6848 visitTopLevelGetterDeclaration( 6088 visitTopLevelGetterDeclaration(
6849 FunctionExpression node, 6089 FunctionExpression node,
6850 MethodElement getter, 6090 MethodElement getter,
6851 Node body, 6091 Node body,
6852 arg) { 6092 arg) {
6853 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_DECL, 6093 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_DECL,
6854 element: getter, body: body)); 6094 element: getter, body: body));
6855 apply(body, arg); 6095 apply(body, arg);
6096 return null;
6856 } 6097 }
6857 6098
6858 @override 6099 @override
6859 visitTopLevelSetterDeclaration( 6100 visitTopLevelSetterDeclaration(
6860 FunctionExpression node, 6101 FunctionExpression node,
6861 MethodElement setter, 6102 MethodElement setter,
6862 NodeList parameters, 6103 NodeList parameters,
6863 Node body, 6104 Node body,
6864 arg) { 6105 arg) {
6865 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_DECL, 6106 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_DECL,
6866 element: setter, parameters: parameters, body: body)); 6107 element: setter, parameters: parameters, body: body));
6867 applyParameters(parameters, arg); 6108 applyParameters(parameters, arg);
6868 apply(body, arg); 6109 apply(body, arg);
6110 return null;
6869 } 6111 }
6870 6112
6871 @override 6113 @override
6872 visitStaticGetterDeclaration( 6114 visitStaticGetterDeclaration(
6873 FunctionExpression node, 6115 FunctionExpression node,
6874 MethodElement getter, 6116 MethodElement getter,
6875 Node body, 6117 Node body,
6876 arg) { 6118 arg) {
6877 visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_DECL, 6119 visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_DECL,
6878 element: getter, body: body)); 6120 element: getter, body: body));
6879 apply(body, arg); 6121 apply(body, arg);
6122 return null;
6880 } 6123 }
6881 6124
6882 @override 6125 @override
6883 visitStaticSetterDeclaration( 6126 visitStaticSetterDeclaration(
6884 FunctionExpression node, 6127 FunctionExpression node,
6885 MethodElement setter, 6128 MethodElement setter,
6886 NodeList parameters, 6129 NodeList parameters,
6887 Node body, 6130 Node body,
6888 arg) { 6131 arg) {
6889 visits.add(new Visit(VisitKind.VISIT_STATIC_SETTER_DECL, 6132 visits.add(new Visit(VisitKind.VISIT_STATIC_SETTER_DECL,
6890 element: setter, parameters: parameters, body: body)); 6133 element: setter, parameters: parameters, body: body));
6891 applyParameters(parameters, arg); 6134 applyParameters(parameters, arg);
6892 apply(body, arg); 6135 apply(body, arg);
6136 return null;
6893 } 6137 }
6894 6138
6895 @override 6139 @override
6896 visitUnresolvedClassConstructorInvoke( 6140 visitUnresolvedClassConstructorInvoke(
6897 NewExpression node, 6141 NewExpression node,
6898 Element constructor, 6142 Element constructor,
6899 MalformedType type, 6143 MalformedType type,
6900 NodeList arguments, 6144 NodeList arguments,
6901 Selector selector, 6145 Selector selector,
6902 arg) { 6146 arg) {
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
7038 } 6282 }
7039 } 6283 }
7040 6284
7041 enum VisitKind { 6285 enum VisitKind {
7042 VISIT_PARAMETER_GET, 6286 VISIT_PARAMETER_GET,
7043 VISIT_PARAMETER_SET, 6287 VISIT_PARAMETER_SET,
7044 VISIT_PARAMETER_INVOKE, 6288 VISIT_PARAMETER_INVOKE,
7045 VISIT_PARAMETER_COMPOUND, 6289 VISIT_PARAMETER_COMPOUND,
7046 VISIT_PARAMETER_PREFIX, 6290 VISIT_PARAMETER_PREFIX,
7047 VISIT_PARAMETER_POSTFIX, 6291 VISIT_PARAMETER_POSTFIX,
7048 VISIT_FINAL_PARAMETER_COMPOUND,
7049 VISIT_FINAL_PARAMETER_PREFIX,
7050 VISIT_FINAL_PARAMETER_POSTFIX,
7051 6292
7052 VISIT_LOCAL_VARIABLE_GET, 6293 VISIT_LOCAL_VARIABLE_GET,
7053 VISIT_LOCAL_VARIABLE_SET, 6294 VISIT_LOCAL_VARIABLE_SET,
7054 VISIT_LOCAL_VARIABLE_INVOKE, 6295 VISIT_LOCAL_VARIABLE_INVOKE,
7055 VISIT_LOCAL_VARIABLE_COMPOUND, 6296 VISIT_LOCAL_VARIABLE_COMPOUND,
7056 VISIT_LOCAL_VARIABLE_PREFIX, 6297 VISIT_LOCAL_VARIABLE_PREFIX,
7057 VISIT_LOCAL_VARIABLE_POSTFIX, 6298 VISIT_LOCAL_VARIABLE_POSTFIX,
7058 VISIT_LOCAL_VARIABLE_DECL, 6299 VISIT_LOCAL_VARIABLE_DECL,
7059 VISIT_LOCAL_CONSTANT_DECL, 6300 VISIT_LOCAL_CONSTANT_DECL,
7060 VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
7061 VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
7062 VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
7063 6301
7064 VISIT_LOCAL_FUNCTION_GET, 6302 VISIT_LOCAL_FUNCTION_GET,
7065 VISIT_LOCAL_FUNCTION_INVOKE, 6303 VISIT_LOCAL_FUNCTION_INVOKE,
7066 VISIT_LOCAL_FUNCTION_DECL, 6304 VISIT_LOCAL_FUNCTION_DECL,
7067 VISIT_CLOSURE_DECL, 6305 VISIT_CLOSURE_DECL,
7068 VISIT_LOCAL_FUNCTION_COMPOUND,
7069 VISIT_LOCAL_FUNCTION_PREFIX,
7070 VISIT_LOCAL_FUNCTION_POSTFIX,
7071 6306
7072 VISIT_STATIC_FIELD_GET, 6307 VISIT_STATIC_FIELD_GET,
7073 VISIT_STATIC_FIELD_SET, 6308 VISIT_STATIC_FIELD_SET,
7074 VISIT_STATIC_FIELD_INVOKE, 6309 VISIT_STATIC_FIELD_INVOKE,
7075 VISIT_STATIC_FIELD_COMPOUND, 6310 VISIT_STATIC_FIELD_COMPOUND,
7076 VISIT_STATIC_FIELD_PREFIX, 6311 VISIT_STATIC_FIELD_PREFIX,
7077 VISIT_STATIC_FIELD_POSTFIX, 6312 VISIT_STATIC_FIELD_POSTFIX,
7078 VISIT_STATIC_FIELD_DECL, 6313 VISIT_STATIC_FIELD_DECL,
7079 VISIT_STATIC_CONSTANT_DECL, 6314 VISIT_STATIC_CONSTANT_DECL,
7080 6315
7081 VISIT_STATIC_GETTER_GET, 6316 VISIT_STATIC_GETTER_GET,
7082 VISIT_STATIC_SETTER_SET, 6317 VISIT_STATIC_SETTER_SET,
7083 VISIT_STATIC_GETTER_INVOKE, 6318 VISIT_STATIC_GETTER_INVOKE,
7084 VISIT_STATIC_GETTER_SETTER_COMPOUND, 6319 VISIT_STATIC_GETTER_SETTER_COMPOUND,
7085 VISIT_STATIC_METHOD_SETTER_COMPOUND, 6320 VISIT_STATIC_METHOD_SETTER_COMPOUND,
7086 VISIT_STATIC_GETTER_SETTER_PREFIX, 6321 VISIT_STATIC_GETTER_SETTER_PREFIX,
7087 VISIT_STATIC_GETTER_SETTER_POSTFIX, 6322 VISIT_STATIC_GETTER_SETTER_POSTFIX,
7088 VISIT_STATIC_GETTER_DECL, 6323 VISIT_STATIC_GETTER_DECL,
7089 VISIT_STATIC_SETTER_DECL, 6324 VISIT_STATIC_SETTER_DECL,
7090 VISIT_STATIC_FINAL_FIELD_COMPOUND,
7091 VISIT_STATIC_FINAL_FIELD_POSTFIX,
7092 VISIT_STATIC_FINAL_FIELD_PREFIX,
7093 6325
7094 VISIT_STATIC_FUNCTION_GET, 6326 VISIT_STATIC_FUNCTION_GET,
7095 VISIT_STATIC_FUNCTION_INVOKE, 6327 VISIT_STATIC_FUNCTION_INVOKE,
7096 VISIT_STATIC_FUNCTION_INCOMPATIBLE_INVOKE, 6328 VISIT_STATIC_FUNCTION_INCOMPATIBLE_INVOKE,
7097 VISIT_STATIC_FUNCTION_DECL, 6329 VISIT_STATIC_FUNCTION_DECL,
7098 VISIT_STATIC_METHOD_SETTER_PREFIX,
7099 VISIT_STATIC_METHOD_SETTER_POSTFIX,
7100
7101 VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
7102 VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
7103 VISIT_STATIC_METHOD_COMPOUND,
7104 VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
7105 VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
7106 VISIT_STATIC_METHOD_PREFIX,
7107 VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
7108 VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
7109 VISIT_STATIC_METHOD_POSTFIX,
7110 6330
7111 VISIT_TOP_LEVEL_FIELD_GET, 6331 VISIT_TOP_LEVEL_FIELD_GET,
7112 VISIT_TOP_LEVEL_FIELD_SET, 6332 VISIT_TOP_LEVEL_FIELD_SET,
7113 VISIT_TOP_LEVEL_FIELD_INVOKE, 6333 VISIT_TOP_LEVEL_FIELD_INVOKE,
7114 VISIT_TOP_LEVEL_FIELD_COMPOUND, 6334 VISIT_TOP_LEVEL_FIELD_COMPOUND,
7115 VISIT_TOP_LEVEL_FIELD_PREFIX, 6335 VISIT_TOP_LEVEL_FIELD_PREFIX,
7116 VISIT_TOP_LEVEL_FIELD_POSTFIX, 6336 VISIT_TOP_LEVEL_FIELD_POSTFIX,
7117 VISIT_TOP_LEVEL_FIELD_DECL, 6337 VISIT_TOP_LEVEL_FIELD_DECL,
7118 VISIT_TOP_LEVEL_CONSTANT_DECL, 6338 VISIT_TOP_LEVEL_CONSTANT_DECL,
7119 VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
7120 VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
7121 VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
7122 6339
7123 VISIT_TOP_LEVEL_GETTER_GET, 6340 VISIT_TOP_LEVEL_GETTER_GET,
7124 VISIT_TOP_LEVEL_SETTER_SET, 6341 VISIT_TOP_LEVEL_SETTER_SET,
7125 VISIT_TOP_LEVEL_GETTER_INVOKE, 6342 VISIT_TOP_LEVEL_GETTER_INVOKE,
7126 VISIT_TOP_LEVEL_GETTER_SETTER_COMPOUND, 6343 VISIT_TOP_LEVEL_GETTER_SETTER_COMPOUND,
7127 VISIT_TOP_LEVEL_GETTER_SETTER_PREFIX, 6344 VISIT_TOP_LEVEL_GETTER_SETTER_PREFIX,
7128 VISIT_TOP_LEVEL_GETTER_SETTER_POSTFIX, 6345 VISIT_TOP_LEVEL_GETTER_SETTER_POSTFIX,
7129 VISIT_TOP_LEVEL_GETTER_DECL, 6346 VISIT_TOP_LEVEL_GETTER_DECL,
7130 VISIT_TOP_LEVEL_SETTER_DECL, 6347 VISIT_TOP_LEVEL_SETTER_DECL,
7131 6348
7132 VISIT_TOP_LEVEL_FUNCTION_GET, 6349 VISIT_TOP_LEVEL_FUNCTION_GET,
7133 VISIT_TOP_LEVEL_FUNCTION_INVOKE, 6350 VISIT_TOP_LEVEL_FUNCTION_INVOKE,
7134 VISIT_TOP_LEVEL_FUNCTION_INCOMPATIBLE_INVOKE, 6351 VISIT_TOP_LEVEL_FUNCTION_INCOMPATIBLE_INVOKE,
7135 VISIT_TOP_LEVEL_FUNCTION_DECL, 6352 VISIT_TOP_LEVEL_FUNCTION_DECL,
7136 VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
7137 VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
7138 VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
7139
7140 VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
7141 VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
7142 VISIT_TOP_LEVEL_METHOD_COMPOUND,
7143 VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
7144 VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
7145 VISIT_TOP_LEVEL_METHOD_PREFIX,
7146 VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
7147 VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
7148 VISIT_TOP_LEVEL_METHOD_POSTFIX,
7149 6353
7150 VISIT_DYNAMIC_PROPERTY_GET, 6354 VISIT_DYNAMIC_PROPERTY_GET,
7151 VISIT_DYNAMIC_PROPERTY_SET, 6355 VISIT_DYNAMIC_PROPERTY_SET,
7152 VISIT_DYNAMIC_PROPERTY_INVOKE, 6356 VISIT_DYNAMIC_PROPERTY_INVOKE,
7153 VISIT_DYNAMIC_PROPERTY_COMPOUND, 6357 VISIT_DYNAMIC_PROPERTY_COMPOUND,
7154 VISIT_DYNAMIC_PROPERTY_PREFIX, 6358 VISIT_DYNAMIC_PROPERTY_PREFIX,
7155 VISIT_DYNAMIC_PROPERTY_POSTFIX, 6359 VISIT_DYNAMIC_PROPERTY_POSTFIX,
7156 6360
7157 VISIT_THIS_GET, 6361 VISIT_THIS_GET,
7158 VISIT_THIS_INVOKE, 6362 VISIT_THIS_INVOKE,
7159 6363
7160 VISIT_THIS_PROPERTY_GET, 6364 VISIT_THIS_PROPERTY_GET,
7161 VISIT_THIS_PROPERTY_SET, 6365 VISIT_THIS_PROPERTY_SET,
7162 VISIT_THIS_PROPERTY_INVOKE, 6366 VISIT_THIS_PROPERTY_INVOKE,
7163 VISIT_THIS_PROPERTY_COMPOUND, 6367 VISIT_THIS_PROPERTY_COMPOUND,
7164 VISIT_THIS_PROPERTY_PREFIX, 6368 VISIT_THIS_PROPERTY_PREFIX,
7165 VISIT_THIS_PROPERTY_POSTFIX, 6369 VISIT_THIS_PROPERTY_POSTFIX,
7166 6370
7167 VISIT_SUPER_FIELD_GET, 6371 VISIT_SUPER_FIELD_GET,
7168 VISIT_SUPER_FIELD_SET, 6372 VISIT_SUPER_FIELD_SET,
7169 VISIT_SUPER_FIELD_INVOKE, 6373 VISIT_SUPER_FIELD_INVOKE,
7170 VISIT_SUPER_FIELD_COMPOUND, 6374 VISIT_SUPER_FIELD_COMPOUND,
7171 VISIT_SUPER_FIELD_PREFIX, 6375 VISIT_SUPER_FIELD_PREFIX,
7172 VISIT_SUPER_FIELD_POSTFIX, 6376 VISIT_SUPER_FIELD_POSTFIX,
7173 VISIT_SUPER_FINAL_FIELD_COMPOUND,
7174 VISIT_SUPER_FINAL_FIELD_PREFIX,
7175 VISIT_SUPER_FINAL_FIELD_POSTFIX,
7176 VISIT_SUPER_FIELD_FIELD_COMPOUND,
7177 VISIT_SUPER_FIELD_FIELD_PREFIX,
7178 VISIT_SUPER_FIELD_FIELD_POSTFIX,
7179 6377
7180 VISIT_SUPER_GETTER_GET, 6378 VISIT_SUPER_GETTER_GET,
7181 VISIT_SUPER_SETTER_SET, 6379 VISIT_SUPER_SETTER_SET,
7182 VISIT_SUPER_GETTER_INVOKE, 6380 VISIT_SUPER_GETTER_INVOKE,
7183 VISIT_SUPER_GETTER_SETTER_COMPOUND, 6381 VISIT_SUPER_GETTER_SETTER_COMPOUND,
7184 VISIT_SUPER_GETTER_FIELD_COMPOUND, 6382 VISIT_SUPER_GETTER_FIELD_COMPOUND,
7185 VISIT_SUPER_FIELD_SETTER_COMPOUND, 6383 VISIT_SUPER_FIELD_SETTER_COMPOUND,
7186 VISIT_SUPER_GETTER_SETTER_PREFIX, 6384 VISIT_SUPER_GETTER_SETTER_PREFIX,
7187 VISIT_SUPER_GETTER_FIELD_PREFIX, 6385 VISIT_SUPER_GETTER_FIELD_PREFIX,
7188 VISIT_SUPER_FIELD_SETTER_PREFIX, 6386 VISIT_SUPER_FIELD_SETTER_PREFIX,
7189 VISIT_SUPER_GETTER_SETTER_POSTFIX, 6387 VISIT_SUPER_GETTER_SETTER_POSTFIX,
7190 VISIT_SUPER_GETTER_FIELD_POSTFIX, 6388 VISIT_SUPER_GETTER_FIELD_POSTFIX,
7191 VISIT_SUPER_FIELD_SETTER_POSTFIX, 6389 VISIT_SUPER_FIELD_SETTER_POSTFIX,
7192 6390
7193 VISIT_SUPER_METHOD_GET, 6391 VISIT_SUPER_METHOD_GET,
7194 VISIT_SUPER_METHOD_INVOKE, 6392 VISIT_SUPER_METHOD_INVOKE,
7195 VISIT_SUPER_METHOD_INCOMPATIBLE_INVOKE, 6393 VISIT_SUPER_METHOD_INCOMPATIBLE_INVOKE,
7196 VISIT_SUPER_METHOD_SETTER_COMPOUND,
7197 VISIT_SUPER_METHOD_SETTER_PREFIX,
7198 VISIT_SUPER_METHOD_SETTER_POSTFIX,
7199 VISIT_SUPER_METHOD_COMPOUND,
7200 VISIT_SUPER_METHOD_PREFIX,
7201 VISIT_SUPER_METHOD_POSTFIX,
7202 6394
7203 VISIT_UNRESOLVED_GET, 6395 VISIT_UNRESOLVED_GET,
7204 VISIT_UNRESOLVED_INVOKE, 6396 VISIT_UNRESOLVED_INVOKE,
7205 VISIT_UNRESOLVED_SUPER_GET, 6397 VISIT_UNRESOLVED_SUPER_GET,
7206 VISIT_UNRESOLVED_SUPER_INVOKE, 6398 VISIT_UNRESOLVED_SUPER_INVOKE,
7207 6399
7208 VISIT_BINARY, 6400 VISIT_BINARY,
7209 VISIT_INDEX, 6401 VISIT_INDEX,
7210 VISIT_EQUALS, 6402 VISIT_EQUALS,
7211 VISIT_NOT_EQUALS, 6403 VISIT_NOT_EQUALS,
7212 VISIT_INDEX_PREFIX, 6404 VISIT_INDEX_PREFIX,
7213 VISIT_INDEX_POSTFIX, 6405 VISIT_INDEX_POSTFIX,
7214 6406
7215 VISIT_SUPER_BINARY, 6407 VISIT_SUPER_BINARY,
7216 VISIT_UNRESOLVED_SUPER_BINARY, 6408 VISIT_UNRESOLVED_SUPER_BINARY,
7217 VISIT_SUPER_INDEX, 6409 VISIT_SUPER_INDEX,
7218 VISIT_UNRESOLVED_SUPER_INDEX, 6410 VISIT_UNRESOLVED_SUPER_INDEX,
7219 VISIT_SUPER_EQUALS, 6411 VISIT_SUPER_EQUALS,
7220 VISIT_SUPER_NOT_EQUALS, 6412 VISIT_SUPER_NOT_EQUALS,
7221 VISIT_SUPER_INDEX_PREFIX, 6413 VISIT_SUPER_INDEX_PREFIX,
7222 VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
7223 VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
7224 VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
7225 VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
7226 VISIT_UNRESOLVED_SUPER_INDEX_PREFIX,
7227 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX, 6414 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
7228 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_PREFIX, 6415 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_PREFIX,
7229 VISIT_SUPER_INDEX_POSTFIX, 6416 VISIT_SUPER_INDEX_POSTFIX,
7230 VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
7231 VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
7232 VISIT_UNRESOLVED_SUPER_INDEX_POSTFIX,
7233 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX, 6417 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
7234 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX, 6418 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX,
7235 6419
7236 VISIT_UNRESOLVED_SUPER_COMPOUND,
7237 VISIT_UNRESOLVED_SUPER_PREFIX,
7238 VISIT_UNRESOLVED_SUPER_POSTFIX,
7239
7240 VISIT_UNARY, 6420 VISIT_UNARY,
7241 VISIT_SUPER_UNARY, 6421 VISIT_SUPER_UNARY,
7242 VISIT_UNRESOLVED_SUPER_UNARY, 6422 VISIT_UNRESOLVED_SUPER_UNARY,
7243 VISIT_NOT, 6423 VISIT_NOT,
7244 6424
7245 VISIT_EXPRESSION_INVOKE, 6425 VISIT_EXPRESSION_INVOKE,
7246 6426
7247 VISIT_CLASS_TYPE_LITERAL_GET, 6427 VISIT_CLASS_TYPE_LITERAL_GET,
7248 VISIT_CLASS_TYPE_LITERAL_SET, 6428 VISIT_CLASS_TYPE_LITERAL_SET,
7249 VISIT_CLASS_TYPE_LITERAL_INVOKE, 6429 VISIT_CLASS_TYPE_LITERAL_INVOKE,
7250 VISIT_CLASS_TYPE_LITERAL_COMPOUND, 6430 VISIT_CLASS_TYPE_LITERAL_BINARY,
7251 VISIT_CLASS_TYPE_LITERAL_PREFIX, 6431 ERROR_CLASS_TYPE_LITERAL_COMPOUND,
7252 VISIT_CLASS_TYPE_LITERAL_POSTFIX, 6432 ERROR_CLASS_TYPE_LITERAL_PREFIX,
6433 ERROR_CLASS_TYPE_LITERAL_POSTFIX,
7253 6434
7254 VISIT_TYPEDEF_TYPE_LITERAL_GET, 6435 VISIT_TYPEDEF_TYPE_LITERAL_GET,
7255 VISIT_TYPEDEF_TYPE_LITERAL_SET, 6436 VISIT_TYPEDEF_TYPE_LITERAL_SET,
7256 VISIT_TYPEDEF_TYPE_LITERAL_INVOKE, 6437 VISIT_TYPEDEF_TYPE_LITERAL_INVOKE,
7257 VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND, 6438 VISIT_TYPEDEF_TYPE_LITERAL_BINARY,
7258 VISIT_TYPEDEF_TYPE_LITERAL_PREFIX, 6439 ERROR_TYPEDEF_TYPE_LITERAL_COMPOUND,
7259 VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX, 6440 ERROR_TYPEDEF_TYPE_LITERAL_PREFIX,
6441 ERROR_TYPEDEF_TYPE_LITERAL_POSTFIX,
7260 6442
7261 VISIT_TYPE_VARIABLE_TYPE_LITERAL_GET, 6443 VISIT_TYPE_VARIABLE_TYPE_LITERAL_GET,
7262 VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET, 6444 VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
7263 VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE, 6445 VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE,
7264 VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND, 6446 VISIT_TYPE_VARIABLE_TYPE_LITERAL_BINARY,
7265 VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX, 6447 ERROR_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
7266 VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX, 6448 ERROR_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
6449 ERROR_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
7267 6450
7268 VISIT_DYNAMIC_TYPE_LITERAL_GET, 6451 VISIT_DYNAMIC_TYPE_LITERAL_GET,
7269 VISIT_DYNAMIC_TYPE_LITERAL_SET, 6452 VISIT_DYNAMIC_TYPE_LITERAL_SET,
7270 VISIT_DYNAMIC_TYPE_LITERAL_INVOKE, 6453 VISIT_DYNAMIC_TYPE_LITERAL_INVOKE,
7271 VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND, 6454 VISIT_DYNAMIC_TYPE_LITERAL_BINARY,
7272 VISIT_DYNAMIC_TYPE_LITERAL_PREFIX, 6455 ERROR_DYNAMIC_TYPE_LITERAL_COMPOUND,
7273 VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX, 6456 ERROR_DYNAMIC_TYPE_LITERAL_PREFIX,
6457 ERROR_DYNAMIC_TYPE_LITERAL_POSTFIX,
7274 6458
7275 VISIT_INDEX_SET, 6459 VISIT_INDEX_SET,
7276 VISIT_COMPOUND_INDEX_SET, 6460 VISIT_COMPOUND_INDEX_SET,
7277 VISIT_SUPER_INDEX_SET, 6461 VISIT_SUPER_INDEX_SET,
7278 VISIT_UNRESOLVED_SUPER_INDEX_SET, 6462 VISIT_UNRESOLVED_SUPER_INDEX_SET,
7279 VISIT_SUPER_COMPOUND_INDEX_SET, 6463 VISIT_SUPER_COMPOUND_INDEX_SET,
7280 VISIT_UNRESOLVED_SUPER_COMPOUND_INDEX_SET,
7281 VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET, 6464 VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
7282 VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND_INDEX_SET, 6465 VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND_INDEX_SET,
7283 6466
7284 VISIT_ASSERT, 6467 VISIT_ASSERT,
7285 VISIT_LOGICAL_AND, 6468 VISIT_LOGICAL_AND,
7286 VISIT_LOGICAL_OR, 6469 VISIT_LOGICAL_OR,
7287 VISIT_IS, 6470 VISIT_IS,
7288 VISIT_IS_NOT, 6471 VISIT_IS_NOT,
7289 VISIT_AS, 6472 VISIT_AS,
7290 6473
7291 VISIT_CONST_CONSTRUCTOR_INVOKE, 6474 VISIT_CONST_CONSTRUCTOR_INVOKE,
7292 VISIT_GENERATIVE_CONSTRUCTOR_INVOKE, 6475 VISIT_GENERATIVE_CONSTRUCTOR_INVOKE,
7293 VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_INVOKE, 6476 VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_INVOKE,
7294 VISIT_FACTORY_CONSTRUCTOR_INVOKE, 6477 VISIT_FACTORY_CONSTRUCTOR_INVOKE,
7295 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, 6478 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
7296 6479
7297 VISIT_SUPER_CONSTRUCTOR_INVOKE, 6480 VISIT_SUPER_CONSTRUCTOR_INVOKE,
7298 VISIT_THIS_CONSTRUCTOR_INVOKE, 6481 VISIT_THIS_CONSTRUCTOR_INVOKE,
7299 VISIT_FIELD_INITIALIZER, 6482 VISIT_FIELD_INITIALIZER,
7300 6483
7301 VISIT_UNRESOLVED_CLASS_CONSTRUCTOR_INVOKE, 6484 VISIT_UNRESOLVED_CLASS_CONSTRUCTOR_INVOKE,
7302 VISIT_UNRESOLVED_CONSTRUCTOR_INVOKE, 6485 VISIT_UNRESOLVED_CONSTRUCTOR_INVOKE,
7303 VISIT_ABSTRACT_CLASS_CONSTRUCTOR_INVOKE, 6486 VISIT_ABSTRACT_CLASS_CONSTRUCTOR_INVOKE,
7304 VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, 6487 VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
6488 ERROR_NON_CONSTANT_CONSTRUCTOR_INVOKE,
7305 6489
7306 VISIT_INSTANCE_GETTER_DECL, 6490 VISIT_INSTANCE_GETTER_DECL,
7307 VISIT_INSTANCE_SETTER_DECL, 6491 VISIT_INSTANCE_SETTER_DECL,
7308 VISIT_INSTANCE_METHOD_DECL, 6492 VISIT_INSTANCE_METHOD_DECL,
7309 VISIT_ABSTRACT_GETTER_DECL, 6493 VISIT_ABSTRACT_GETTER_DECL,
7310 VISIT_ABSTRACT_SETTER_DECL, 6494 VISIT_ABSTRACT_SETTER_DECL,
7311 VISIT_ABSTRACT_METHOD_DECL, 6495 VISIT_ABSTRACT_METHOD_DECL,
7312 VISIT_INSTANCE_FIELD_DECL, 6496 VISIT_INSTANCE_FIELD_DECL,
7313 6497
7314 VISIT_GENERATIVE_CONSTRUCTOR_DECL, 6498 VISIT_GENERATIVE_CONSTRUCTOR_DECL,
7315 VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_DECL, 6499 VISIT_REDIRECTING_GENERATIVE_CONSTRUCTOR_DECL,
7316 VISIT_FACTORY_CONSTRUCTOR_DECL, 6500 VISIT_FACTORY_CONSTRUCTOR_DECL,
7317 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL, 6501 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL,
7318 6502
7319 VISIT_REQUIRED_PARAMETER_DECL, 6503 VISIT_REQUIRED_PARAMETER_DECL,
7320 VISIT_OPTIONAL_PARAMETER_DECL, 6504 VISIT_OPTIONAL_PARAMETER_DECL,
7321 VISIT_NAMED_PARAMETER_DECL, 6505 VISIT_NAMED_PARAMETER_DECL,
7322 VISIT_REQUIRED_INITIALIZING_FORMAL_DECL, 6506 VISIT_REQUIRED_INITIALIZING_FORMAL_DECL,
7323 VISIT_OPTIONAL_INITIALIZING_FORMAL_DECL, 6507 VISIT_OPTIONAL_INITIALIZING_FORMAL_DECL,
7324 VISIT_NAMED_INITIALIZING_FORMAL_DECL, 6508 VISIT_NAMED_INITIALIZING_FORMAL_DECL,
7325 6509
7326 VISIT_UNRESOLVED_COMPOUND, 6510 ERROR_UNRESOLVED_POSTFIX,
7327 VISIT_UNRESOLVED_PREFIX,
7328 VISIT_UNRESOLVED_POSTFIX,
7329 6511
7330 // TODO(johnniwinther): Add tests for more error cases. 6512 // TODO(johnniwinther): Add tests for more error cases.
7331 } 6513 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/analyze_unused_dart2js_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698