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

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

Issue 1126173002: Refactor handling of compounds. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Refactor 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 | Annotate | Revision Log
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';
8 import 'package:async_helper/async_helper.dart'; 9 import 'package:async_helper/async_helper.dart';
9 import 'package:expect/expect.dart'; 10 import 'package:expect/expect.dart';
10 import 'package:compiler/src/constants/expressions.dart'; 11 import 'package:compiler/src/constants/expressions.dart';
11 import 'package:compiler/src/dart_types.dart'; 12 import 'package:compiler/src/dart_types.dart';
12 import 'package:compiler/src/dart2jslib.dart'; 13 import 'package:compiler/src/dart2jslib.dart';
13 import 'package:compiler/src/elements/elements.dart'; 14 import 'package:compiler/src/elements/elements.dart';
14 import 'package:compiler/src/resolution/resolution.dart'; 15 import 'package:compiler/src/resolution/resolution.dart';
15 import 'package:compiler/src/resolution/semantic_visitor.dart'; 16 import 'package:compiler/src/resolution/semantic_visitor.dart';
16 import 'package:compiler/src/resolution/operators.dart'; 17 import 'package:compiler/src/resolution/operators.dart';
17 import 'package:compiler/src/tree/tree.dart'; 18 import 'package:compiler/src/tree/tree.dart';
(...skipping 1488 matching lines...) Expand 10 before | Expand all | Expand 10 after
1506 constant: 'dynamic', 1507 constant: 'dynamic',
1507 operator: '+=', rhs: '42')),*/ 1508 operator: '+=', rhs: '42')),*/
1508 const Test( 1509 const Test(
1509 ''' 1510 '''
1510 m(a) => a += 42; 1511 m(a) => a += 42;
1511 ''', 1512 ''',
1512 const Visit(VisitKind.VISIT_PARAMETER_COMPOUND, 1513 const Visit(VisitKind.VISIT_PARAMETER_COMPOUND,
1513 element: 'parameter(m#a)', operator: '+=', rhs: '42')), 1514 element: 'parameter(m#a)', operator: '+=', rhs: '42')),
1514 const Test( 1515 const Test(
1515 ''' 1516 '''
1517 m(final a) => a += 42;
1518 ''',
1519 const Visit(VisitKind.VISIT_FINAL_PARAMETER_COMPOUND,
1520 element: 'parameter(m#a)', operator: '+=', rhs: '42')),
1521 const Test(
1522 '''
1516 m() { 1523 m() {
1517 var a; 1524 var a;
1518 a += 42; 1525 a += 42;
1519 } 1526 }
1520 ''', 1527 ''',
1521 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND, 1528 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND,
1522 element: 'variable(m#a)', operator: '+=', rhs: '42')), 1529 element: 'variable(m#a)', operator: '+=', rhs: '42')),
1523 const Test( 1530 const Test(
1524 ''' 1531 '''
1532 m() {
1533 final a;
1534 a += 42;
1535 }
1536 ''',
1537 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
1538 element: 'variable(m#a)', operator: '+=', rhs: '42')),
1539 const Test(
1540 '''
1541 m() {
1542 a() {}
1543 a += 42;
1544 }
1545 ''',
1546 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_COMPOUND,
1547 element: 'function(m#a)', operator: '+=', rhs: '42')),
1548 const Test(
1549 '''
1525 var a; 1550 var a;
1526 m() => a += 42; 1551 m() => a += 42;
1527 ''', 1552 ''',
1528 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_COMPOUND, 1553 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_COMPOUND,
1529 element: 'field(a)', operator: '+=', rhs: '42')), 1554 element: 'field(a)', operator: '+=', rhs: '42')),
1530 const Test( 1555 const Test(
1531 ''' 1556 '''
1532 get a => 0; 1557 get a => 0;
1533 set a(_) {} 1558 set a(_) {}
1534 m() => a += 42; 1559 m() => a += 42;
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 } 1722 }
1698 class C extends B { 1723 class C extends B {
1699 m() => super.a += 42; 1724 m() => super.a += 42;
1700 } 1725 }
1701 ''', 1726 ''',
1702 const Visit(VisitKind.VISIT_SUPER_FIELD_COMPOUND, 1727 const Visit(VisitKind.VISIT_SUPER_FIELD_COMPOUND,
1703 element: 'field(B#a)', operator: '+=', rhs: '42')), 1728 element: 'field(B#a)', operator: '+=', rhs: '42')),
1704 const Test.clazz( 1729 const Test.clazz(
1705 ''' 1730 '''
1706 class B { 1731 class B {
1732 final a = 0;
1733 }
1734 class C extends B {
1735 m() => super.a += 42;
1736 }
1737 ''',
1738 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND,
1739 element: 'field(B#a)', operator: '+=', rhs: '42')),
1740 const Test.clazz(
1741 '''
1742 class B {
1707 get a => 0; 1743 get a => 0;
1708 set a (_) {} 1744 set a (_) {}
1709 } 1745 }
1710 class C extends B { 1746 class C extends B {
1711 m() => super.a += 42; 1747 m() => super.a += 42;
1712 } 1748 }
1713 ''', 1749 ''',
1714 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_COMPOUND, 1750 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_COMPOUND,
1715 getter: 'getter(B#a)', setter: 'setter(B#a)', 1751 getter: 'getter(B#a)', setter: 'setter(B#a)',
1716 operator: '+=', rhs: '42')), 1752 operator: '+=', rhs: '42')),
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1771 final a; 1807 final a;
1772 } 1808 }
1773 1809
1774 class C extends B { 1810 class C extends B {
1775 m() => super.a += 42; 1811 m() => super.a += 42;
1776 } 1812 }
1777 ''', 1813 ''',
1778 const Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND, 1814 const Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
1779 getter: 'field(B#a)', setter: 'field(A#a)', 1815 getter: 'field(B#a)', setter: 'field(A#a)',
1780 operator: '+=', rhs: '42')),*/ 1816 operator: '+=', rhs: '42')),*/
1817 const Test.clazz(
1818 '''
1819 class B {
1820 a() {}
1821 }
1822 class C extends B {
1823 m() => super.a += 42;
1824 }
1825 ''',
1826 const Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND,
1827 element: 'function(B#a)',
1828 operator: '+=', rhs: '42')),
1829 const Test.clazz(
1830 '''
1831 class B {
1832 }
1833 class C extends B {
1834 m() => super.a += 42;
1835 }
1836 ''',
1837 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND,
1838 operator: '+=', rhs: '42')),
1839 const Test.clazz(
1840 '''
1841 class B {
1842 set a(_) {}
1843 }
1844 class C extends B {
1845 m() => super.a += 42;
1846 }
1847 ''',
1848 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
1849 setter: 'setter(B#a)', operator: '+=', rhs: '42')),
1850 const Test.clazz(
1851 '''
1852 class B {
1853 get a => 42;
1854 }
1855 class C extends B {
1856 m() => super.a += 42;
1857 }
1858 ''',
1859 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
1860 getter: 'getter(B#a)', operator: '+=', rhs: '42')),
1861
1862 const Test.clazz(
1863 '''
1864 class C {
1865 static set a(var value) { }
1866 m() => a += 42;
1867 }
1868 ''',
1869 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
1870 setter: 'setter(C#a)', operator: '+=', rhs: '42')),
1871
1872 const Test.clazz(
1873 '''
1874 class C {
1875 static get a => 42;
1876 m() => C.a += 42;
1877 }
1878 ''',
1879 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
1880 getter: 'getter(C#a)', operator: '+=', rhs: '42')),
1881
1882 const Test.clazz(
1883 '''
1884 class C {
1885 static final a = 42;
1886 m() => C.a += 42;
1887 }
1888 ''',
1889 const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_COMPOUND,
1890 element: 'field(C#a)', operator: '+=', rhs: '42')),
1891
1892 const Test(
1893 '''
1894 class C {
1895 static a(var value) { }
1896 }
1897 m() => C.a += 42;
1898 ''',
1899 const Visit(VisitKind.VISIT_STATIC_METHOD_COMPOUND,
1900 element: 'function(C#a)', operator: '+=', rhs: '42')),
1901
1902 const Test(
1903 '''
1904 set a(var value) { }
1905 m() => a += 42;
1906 ''',
1907 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
1908 setter: 'setter(a)', operator: '+=', rhs: '42')),
1909
1910 const Test(
1911 '''
1912 get a => 42;
1913 m() => a += 42;
1914 ''',
1915 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
1916 getter: 'getter(a)', operator: '+=', rhs: '42')),
1917
1918 const Test(
1919 '''
1920 a(var value) { }
1921 m() => a += 42;
1922 ''',
1923 const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_COMPOUND,
1924 element: 'function(a)', operator: '+=', rhs: '42')),
1925
1926 const Test(
1927 '''
1928 final a = 42;
1929 m() => a += 42;
1930 ''',
1931 const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
1932 element: 'field(a)', operator: '+=', rhs: '42')),
1933
1934 const Test(
1935 '''
1936 m() => unresolved += 42;
1937 ''',
1938 const Visit(VisitKind.VISIT_UNRESOLVED_COMPOUND,
1939 operator: '+=', rhs: '42')),
1781 ], 1940 ],
1782 'Compound index assignment': const [ 1941 'Compound index assignment': const [
1783 // Compound index assignment 1942 // Compound index assignment
1784 const Test( 1943 const Test(
1785 ''' 1944 '''
1786 m() => 0[1] += 42; 1945 m() => 0[1] += 42;
1787 ''', 1946 ''',
1788 const Visit(VisitKind.VISIT_COMPOUND_INDEX_SET, 1947 const Visit(VisitKind.VISIT_COMPOUND_INDEX_SET,
1789 receiver: '0', index: '1', operator: '+=', rhs: '42')), 1948 receiver: '0', index: '1', operator: '+=', rhs: '42')),
1790 const Test.clazz( 1949 const Test.clazz(
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
1849 element: 'parameter(m#a)') 2008 element: 'parameter(m#a)')
1850 ]), 2009 ]),
1851 const Test( 2010 const Test(
1852 ''' 2011 '''
1853 m(a) => ++a; 2012 m(a) => ++a;
1854 ''', 2013 ''',
1855 const Visit(VisitKind.VISIT_PARAMETER_PREFIX, 2014 const Visit(VisitKind.VISIT_PARAMETER_PREFIX,
1856 element: 'parameter(m#a)', operator: '++')), 2015 element: 'parameter(m#a)', operator: '++')),
1857 const Test( 2016 const Test(
1858 ''' 2017 '''
2018 m(final a) => ++a;
2019 ''',
2020 const Visit(VisitKind.VISIT_FINAL_PARAMETER_PREFIX,
2021 element: 'parameter(m#a)', operator: '++')),
2022 const Test(
2023 '''
1859 m() { 2024 m() {
1860 var a; 2025 var a;
1861 --a; 2026 --a;
1862 } 2027 }
1863 ''', 2028 ''',
1864 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX, 2029 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX,
1865 element: 'variable(m#a)', operator: '--')), 2030 element: 'variable(m#a)', operator: '--')),
1866 const Test( 2031 const Test(
1867 ''' 2032 '''
2033 m() {
2034 final a = 42;
2035 --a;
2036 }
2037 ''',
2038 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
2039 element: 'variable(m#a)', operator: '--')),
2040 const Test(
2041 '''
2042 m() {
2043 a() {}
2044 --a;
2045 }
2046 ''',
2047 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_PREFIX,
2048 element: 'function(m#a)', operator: '--')),
2049 const Test(
2050 '''
1868 var a; 2051 var a;
1869 m() => ++a; 2052 m() => ++a;
1870 ''', 2053 ''',
1871 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_PREFIX, 2054 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_PREFIX,
1872 element: 'field(a)', operator: '++')), 2055 element: 'field(a)', operator: '++')),
1873 const Test( 2056 const Test(
1874 ''' 2057 '''
1875 get a => 0; 2058 get a => 0;
1876 set a(_) {} 2059 set a(_) {}
1877 m() => --a; 2060 m() => --a;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
1992 } 2175 }
1993 class C extends B { 2176 class C extends B {
1994 m() => --super.a; 2177 m() => --super.a;
1995 } 2178 }
1996 ''', 2179 ''',
1997 const Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX, 2180 const Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX,
1998 element: 'field(B#a)', operator: '--')), 2181 element: 'field(B#a)', operator: '--')),
1999 const Test.clazz( 2182 const Test.clazz(
2000 ''' 2183 '''
2001 class B { 2184 class B {
2185 final a = 0;
2186 }
2187 class C extends B {
2188 m() => --super.a;
2189 }
2190 ''',
2191 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_PREFIX,
2192 element: 'field(B#a)', operator: '--')),
2193 const Test.clazz(
2194 '''
2195 class B {
2002 get a => 0; 2196 get a => 0;
2003 set a (_) {} 2197 set a (_) {}
2004 } 2198 }
2005 class C extends B { 2199 class C extends B {
2006 m() => --super.a; 2200 m() => --super.a;
2007 } 2201 }
2008 ''', 2202 ''',
2009 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_PREFIX, 2203 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_PREFIX,
2010 getter: 'getter(B#a)', setter: 'setter(B#a)', 2204 getter: 'getter(B#a)', setter: 'setter(B#a)',
2011 operator: '--')), 2205 operator: '--')),
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2049 set a(_) {} 2243 set a(_) {}
2050 } 2244 }
2051 2245
2052 class C extends B { 2246 class C extends B {
2053 m() => ++super.a; 2247 m() => ++super.a;
2054 } 2248 }
2055 ''', 2249 ''',
2056 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX, 2250 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX,
2057 getter: 'field(A#a)', setter: 'setter(B#a)', 2251 getter: 'field(A#a)', setter: 'setter(B#a)',
2058 operator: '++')), 2252 operator: '++')),
2253 const Test.clazz(
2254 '''
2255 class B {
2256 a() {}
2257 }
2258 class C extends B {
2259 m() => ++super.a;
2260 }
2261 ''',
2262 const Visit(VisitKind.VISIT_SUPER_METHOD_PREFIX,
2263 element: 'function(B#a)',
2264 operator: '++')),
2265 const Test.clazz(
2266 '''
2267 class B {
2268 }
2269 class C extends B {
2270 m() => ++super.a;
2271 }
2272 ''',
2273 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_PREFIX,
2274 operator: '++')),
2275 const Test.clazz(
2276 '''
2277 class B {
2278 set a(_) {}
2279 }
2280 class C extends B {
2281 m() => ++super.a;
2282 }
2283 ''',
2284 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
2285 setter: 'setter(B#a)', operator: '++')),
2286 const Test.clazz(
2287 '''
2288 class B {
2289 get a => 42;
2290 }
2291 class C extends B {
2292 m() => ++super.a;
2293 }
2294 ''',
2295 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
2296 getter: 'getter(B#a)', operator: '++')),
2297
2298 const Test.clazz(
2299 '''
2300 class C {
2301 static set a(var value) { }
2302 m() => ++a;
2303 }
2304 ''',
2305 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
2306 setter: 'setter(C#a)', operator: '++')),
2307
2308 const Test.clazz(
2309 '''
2310 class C {
2311 static get a => 42;
2312 m() => ++C.a;
2313 }
2314 ''',
2315 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
2316 getter: 'getter(C#a)', operator: '++')),
2317
2318 const Test.clazz(
2319 '''
2320 class C {
2321 static final a = 42;
2322 m() => ++C.a;
2323 }
2324 ''',
2325 const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_PREFIX,
2326 element: 'field(C#a)', operator: '++')),
2327
2328 const Test(
2329 '''
2330 class C {
2331 static a(var value) { }
2332 }
2333 m() => ++C.a;
2334 ''',
2335 const Visit(VisitKind.VISIT_STATIC_METHOD_PREFIX,
2336 element: 'function(C#a)', operator: '++')),
2337
2338 const Test(
2339 '''
2340 set a(var value) { }
2341 m() => ++a;
2342 ''',
2343 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
2344 setter: 'setter(a)', operator: '++')),
2345
2346 const Test(
2347 '''
2348 get a => 42;
2349 m() => ++a;
2350 ''',
2351 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
2352 getter: 'getter(a)', operator: '++')),
2353
2354 const Test(
2355 '''
2356 a(var value) { }
2357 m() => ++a;
2358 ''',
2359 const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_PREFIX,
2360 element: 'function(a)', operator: '++')),
2361
2362 const Test(
2363 '''
2364 final a = 42;
2365 m() => ++a;
2366 ''',
2367 const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
2368 element: 'field(a)', operator: '++')),
2369
2370 const Test(
2371 '''
2372 m() => ++unresolved;
2373 ''',
2374 const Visit(VisitKind.VISIT_UNRESOLVED_PREFIX,
2375 operator: '++')),
2059 ], 2376 ],
2060 'Postfix expression': const [ 2377 'Postfix expression': const [
2061 // Postfix expression 2378 // Postfix expression
2062 const Test( 2379 const Test(
2063 ''' 2380 '''
2064 m(a) => a.b--; 2381 m(a) => a.b--;
2065 ''', 2382 ''',
2066 const [ 2383 const [
2067 const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_POSTFIX, 2384 const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_POSTFIX,
2068 receiver: 'a', operator: '--', 2385 receiver: 'a', operator: '--',
2069 getter: 'Selector(getter, b, arity=0)', 2386 getter: 'Selector(getter, b, arity=0)',
2070 setter: 'Selector(setter, b, arity=1)'), 2387 setter: 'Selector(setter, b, arity=1)'),
2071 const Visit(VisitKind.VISIT_PARAMETER_GET, 2388 const Visit(VisitKind.VISIT_PARAMETER_GET,
2072 element: 'parameter(m#a)') 2389 element: 'parameter(m#a)')
2073 ]), 2390 ]),
2074 const Test( 2391 const Test(
2075 ''' 2392 '''
2076 m(a) => a++; 2393 m(a) => a++;
2077 ''', 2394 ''',
2078 const Visit(VisitKind.VISIT_PARAMETER_POSTFIX, 2395 const Visit(VisitKind.VISIT_PARAMETER_POSTFIX,
2079 element: 'parameter(m#a)', operator: '++')), 2396 element: 'parameter(m#a)', operator: '++')),
2080 const Test( 2397 const Test(
2081 ''' 2398 '''
2399 m(final a) => a++;
2400 ''',
2401 const Visit(VisitKind.VISIT_FINAL_PARAMETER_POSTFIX,
2402 element: 'parameter(m#a)', operator: '++')),
2403 const Test(
2404 '''
2082 m() { 2405 m() {
2083 var a; 2406 var a;
2084 a--; 2407 a--;
2085 } 2408 }
2086 ''', 2409 ''',
2087 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX, 2410 const Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX,
2088 element: 'variable(m#a)', operator: '--')), 2411 element: 'variable(m#a)', operator: '--')),
2089 const Test( 2412 const Test(
2090 ''' 2413 '''
2414 m() {
2415 final a = 42;
2416 a--;
2417 }
2418 ''',
2419 const Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
2420 element: 'variable(m#a)', operator: '--')),
2421 const Test(
2422 '''
2423 m() {
2424 a() {}
2425 a--;
2426 }
2427 ''',
2428 const Visit(VisitKind.VISIT_LOCAL_FUNCTION_POSTFIX,
2429 element: 'function(m#a)', operator: '--')),
2430 const Test(
2431 '''
2091 var a; 2432 var a;
2092 m() => a++; 2433 m() => a++;
2093 ''', 2434 ''',
2094 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_POSTFIX, 2435 const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_POSTFIX,
2095 element: 'field(a)', operator: '++')), 2436 element: 'field(a)', operator: '++')),
2096 const Test( 2437 const Test(
2097 ''' 2438 '''
2098 get a => 0; 2439 get a => 0;
2099 set a(_) {} 2440 set a(_) {}
2100 m() => a--; 2441 m() => a--;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
2215 } 2556 }
2216 class C extends B { 2557 class C extends B {
2217 m() => super.a--; 2558 m() => super.a--;
2218 } 2559 }
2219 ''', 2560 ''',
2220 const Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX, 2561 const Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX,
2221 element: 'field(B#a)', operator: '--')), 2562 element: 'field(B#a)', operator: '--')),
2222 const Test.clazz( 2563 const Test.clazz(
2223 ''' 2564 '''
2224 class B { 2565 class B {
2566 final a = 0;
2567 }
2568 class C extends B {
2569 m() => super.a--;
2570 }
2571 ''',
2572 const Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_POSTFIX,
2573 element: 'field(B#a)', operator: '--')),
2574 const Test.clazz(
2575 '''
2576 class B {
2225 get a => 0; 2577 get a => 0;
2226 set a (_) {} 2578 set a (_) {}
2227 } 2579 }
2228 class C extends B { 2580 class C extends B {
2229 m() => super.a--; 2581 m() => super.a--;
2230 } 2582 }
2231 ''', 2583 ''',
2232 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_POSTFIX, 2584 const Visit(VisitKind.VISIT_SUPER_GETTER_SETTER_POSTFIX,
2233 getter: 'getter(B#a)', setter: 'setter(B#a)', 2585 getter: 'getter(B#a)', setter: 'setter(B#a)',
2234 operator: '--')), 2586 operator: '--')),
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2272 set a(_) {} 2624 set a(_) {}
2273 } 2625 }
2274 2626
2275 class C extends B { 2627 class C extends B {
2276 m() => super.a++; 2628 m() => super.a++;
2277 } 2629 }
2278 ''', 2630 ''',
2279 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX, 2631 const Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX,
2280 getter: 'field(A#a)', setter: 'setter(B#a)', 2632 getter: 'field(A#a)', setter: 'setter(B#a)',
2281 operator: '++')), 2633 operator: '++')),
2634 const Test.clazz(
2635 '''
2636 class B {
2637 a() {}
2638 }
2639 class C extends B {
2640 m() => super.a++;
2641 }
2642 ''',
2643 const Visit(VisitKind.VISIT_SUPER_METHOD_POSTFIX,
2644 element: 'function(B#a)',
2645 operator: '++')),
2646 const Test.clazz(
2647 '''
2648 class B {
2649 }
2650 class C extends B {
2651 m() => super.a++;
2652 }
2653 ''',
2654 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_POSTFIX,
2655 operator: '++')),
2656 const Test.clazz(
2657 '''
2658 class B {
2659 set a(_) {}
2660 }
2661 class C extends B {
2662 m() => super.a++;
2663 }
2664 ''',
2665 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
2666 setter: 'setter(B#a)', operator: '++')),
2667 const Test.clazz(
2668 '''
2669 class B {
2670 get a => 42;
2671 }
2672 class C extends B {
2673 m() => super.a++;
2674 }
2675 ''',
2676 const Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
2677 getter: 'getter(B#a)', operator: '++')),
2678
2679 const Test.clazz(
2680 '''
2681 class C {
2682 static set a(var value) { }
2683 m() => a++;
2684 }
2685 ''',
2686 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
2687 setter: 'setter(C#a)', operator: '++')),
2688
2689 const Test.clazz(
2690 '''
2691 class C {
2692 static get a => 42;
2693 m() => C.a++;
2694 }
2695 ''',
2696 const Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
2697 getter: 'getter(C#a)', operator: '++')),
2698
2699 const Test.clazz(
2700 '''
2701 class C {
2702 static final a = 42;
2703 m() => C.a++;
2704 }
2705 ''',
2706 const Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_POSTFIX,
2707 element: 'field(C#a)', operator: '++')),
2282 2708
2283 const Test( 2709 const Test(
2284 ''' 2710 '''
2285 set topLevel(var value) { } 2711 class C {
2286 m() => topLevel++; 2712 static a(var value) { }
2713 }
2714 m() => C.a++;
2287 ''', 2715 ''',
2288 const Visit(VisitKind.ERROR_UNRESOLVED_POSTFIX, 2716 const Visit(VisitKind.VISIT_STATIC_METHOD_POSTFIX,
2717 element: 'function(C#a)', operator: '++')),
2718
2719 const Test(
2720 '''
2721 set a(var value) { }
2722 m() => a++;
2723 ''',
2724 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
2725 setter: 'setter(a)', operator: '++')),
2726
2727 const Test(
2728 '''
2729 get a => 42;
2730 m() => a++;
2731 ''',
2732 const Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
2733 getter: 'getter(a)', operator: '++')),
2734
2735 const Test(
2736 '''
2737 a(var value) { }
2738 m() => a++;
2739 ''',
2740 const Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_POSTFIX,
2741 element: 'function(a)', operator: '++')),
2742
2743 const Test(
2744 '''
2745 final a = 42;
2746 m() => a++;
2747 ''',
2748 const Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
2749 element: 'field(a)', operator: '++')),
2750
2751 const Test(
2752 '''
2753 m() => unresolved++;
2754 ''',
2755 const Visit(VisitKind.VISIT_UNRESOLVED_POSTFIX,
2289 operator: '++')), 2756 operator: '++')),
2290 ], 2757 ],
2291 'Constructor invocations': const [ 2758 'Constructor invocations': const [
2292 const Test( 2759 const Test(
2293 ''' 2760 '''
2294 class Class { 2761 class Class {
2295 const Class(a, b); 2762 const Class(a, b);
2296 } 2763 }
2297 m() => const Class(true, 42); 2764 m() => const Class(true, 42);
2298 ''', 2765 ''',
(...skipping 975 matching lines...) Expand 10 before | Expand all | Expand 10 after
3274 const m = 42; 3741 const m = 42;
3275 ''', 3742 ''',
3276 const [ 3743 const [
3277 const Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL, 3744 const Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL,
3278 element: 'field(m)', 3745 element: 'field(m)',
3279 constant: 42), 3746 constant: 42),
3280 ]), 3747 ]),
3281 ], 3748 ],
3282 }; 3749 };
3283 3750
3751 const List<VisitKind> UNTESTABLE_KINDS = const <VisitKind>[
3752 VisitKind.VISIT_STATIC_METHOD_SETTER_COMPOUND,
3753 VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX,
3754 VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX,
3755 VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
3756 VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
3757 VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
3758 VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
3759 VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX,
3760 VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX,
3761 VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND,
3762 VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX,
3763 VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX,
3764 VisitKind.VISIT_SUPER_NOT_EQUALS,
3765 VisitKind.VISIT_CLASS_TYPE_LITERAL_SET,
3766 VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND,
3767 VisitKind.VISIT_CLASS_TYPE_LITERAL_PREFIX,
3768 VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX,
3769 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_SET,
3770 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
3771 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
3772 VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
3773 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
3774 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
3775 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
3776 VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
3777 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_SET,
3778 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_INVOKE,
3779 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
3780 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
3781 VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
3782 ];
3783
3284 main(List<String> arguments) { 3784 main(List<String> arguments) {
3785 Set<VisitKind> kinds = new Set<VisitKind>.from(VisitKind.values);
3285 asyncTest(() => Future.forEach([ 3786 asyncTest(() => Future.forEach([
3286 () { 3787 () {
3287 return test( 3788 return test(
3789 kinds,
3288 arguments, 3790 arguments,
3289 SEND_TESTS, 3791 SEND_TESTS,
3290 (elements) => new SemanticSendTestVisitor(elements)); 3792 (elements) => new SemanticSendTestVisitor(elements));
3291 }, 3793 },
3292 () { 3794 () {
3293 return test( 3795 return test(
3796 kinds,
3294 arguments, 3797 arguments,
3295 DECL_TESTS, 3798 DECL_TESTS,
3296 (elements) => new SemanticDeclarationTestVisitor(elements)); 3799 (elements) => new SemanticDeclarationTestVisitor(elements));
3297 }, 3800 },
3801 () {
3802 Set<VisitKind> unvisitedKindSet =
3803 kinds.toSet()..removeAll(UNTESTABLE_KINDS);
3804 List<VisitKind> unvisitedKindList = unvisitedKindSet.toList();
3805 unvisitedKindList..sort((a, b) => a.index.compareTo(b.index));
3806
3807 Expect.isTrue(unvisitedKindList.isEmpty,
3808 "Untested visit kinds:\n ${unvisitedKindList.join(',\n ')},\n");
3809
3810 Set<VisitKind> testedUntestableKinds =
3811 UNTESTABLE_KINDS.toSet()..removeAll(kinds);
3812 Expect.isTrue(testedUntestableKinds.isEmpty,
3813 "Tested untestable visit kinds (remove from UNTESTABLE_KINDS):\n "
3814 "${testedUntestableKinds.join(',\n ')},\n");
3815 },
3816 () {
3817 ClassMirror mirror1 = reflectType(SemanticSendTestVisitor);
3818 Set<Symbol> symbols1 = mirror1.declarations.keys.toSet();
3819 ClassMirror mirror2 = reflectType(SemanticSendVisitor);
3820 Set<Symbol> symbols2 =
3821 mirror2.declarations.values
3822 .where((m) => m is MethodMirror &&
3823 !m.isConstructor &&
3824 m.simpleName != #apply)
3825 .map((m) => m.simpleName).toSet();
3826 symbols2.removeAll(symbols1);
3827 print("Untested visit methods:\n ${symbols2.join(',\n ')},\n");
3828 }
3298 ], (f) => f())); 3829 ], (f) => f()));
3299 } 3830 }
3300 3831
3301 Future test(List<String> arguments, 3832 Future test(Set<VisitKind> unvisitedKinds,
3833 List<String> arguments,
3302 Map<String, List<Test>> TESTS, 3834 Map<String, List<Test>> TESTS,
3303 SemanticTestVisitor createVisitor(TreeElements elements)) { 3835 SemanticTestVisitor createVisitor(TreeElements elements)) {
3304 Map<String, String> sourceFiles = {}; 3836 Map<String, String> sourceFiles = {};
3305 Map<String, Test> testMap = {}; 3837 Map<String, Test> testMap = {};
3306 StringBuffer mainSource = new StringBuffer(); 3838 StringBuffer mainSource = new StringBuffer();
3307 int index = 0; 3839 int index = 0;
3308 TESTS.forEach((String group, List<Test> tests) { 3840 TESTS.forEach((String group, List<Test> tests) {
3309 if (arguments.isNotEmpty && !arguments.contains(group)) return; 3841 if (arguments.isNotEmpty && !arguments.contains(group)) return;
3310 3842
3311 tests.forEach((Test test) { 3843 tests.forEach((Test test) {
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
3360 //print(resolvedAst.node.toDebugString()); 3892 //print(resolvedAst.node.toDebugString());
3361 resolvedAst.node.accept(visitor); 3893 resolvedAst.node.accept(visitor);
3362 }); 3894 });
3363 } catch (e, s) { 3895 } catch (e, s) {
3364 Expect.fail("$e:\n$s\nIn test:\n" 3896 Expect.fail("$e:\n$s\nIn test:\n"
3365 "${library.compilationUnit.script.text}"); 3897 "${library.compilationUnit.script.text}");
3366 } 3898 }
3367 Expect.listEquals(expectedVisits, visitor.visits, 3899 Expect.listEquals(expectedVisits, visitor.visits,
3368 "In test:\n" 3900 "In test:\n"
3369 "${library.compilationUnit.script.text}"); 3901 "${library.compilationUnit.script.text}");
3902 unvisitedKinds.removeAll(visitor.visits.map((visit) => visit.method));
3370 } 3903 }
3371 if (element.isAbstractField) { 3904 if (element.isAbstractField) {
3372 AbstractFieldElement abstractFieldElement = element; 3905 AbstractFieldElement abstractFieldElement = element;
3373 if (abstractFieldElement.getter != null) { 3906 if (abstractFieldElement.getter != null) {
3374 testAstElement(abstractFieldElement.getter); 3907 testAstElement(abstractFieldElement.getter);
3375 } else if (abstractFieldElement.setter != null) { 3908 } else if (abstractFieldElement.setter != null) {
3376 testAstElement(abstractFieldElement.setter); 3909 testAstElement(abstractFieldElement.setter);
3377 } 3910 }
3378 } else { 3911 } else {
3379 testAstElement(element); 3912 testAstElement(element);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
3412 @override 3945 @override
3413 visitAssert( 3946 visitAssert(
3414 Send node, 3947 Send node,
3415 Node expression, 3948 Node expression,
3416 arg) { 3949 arg) {
3417 visits.add(new Visit(VisitKind.VISIT_ASSERT, expression: expression)); 3950 visits.add(new Visit(VisitKind.VISIT_ASSERT, expression: expression));
3418 apply(expression, arg); 3951 apply(expression, arg);
3419 } 3952 }
3420 3953
3421 @override 3954 @override
3422 errorInvalidAssert(
3423 Send node,
3424 NodeList arguments,
3425 arg) {
3426 // TODO: implement errorAssert
3427 }
3428
3429 @override
3430 visitBinary( 3955 visitBinary(
3431 Send node, 3956 Send node,
3432 Node left, 3957 Node left,
3433 BinaryOperator operator, 3958 BinaryOperator operator,
3434 Node right, 3959 Node right,
3435 arg) { 3960 arg) {
3436 visits.add(new Visit(VisitKind.VISIT_BINARY, 3961 visits.add(new Visit(VisitKind.VISIT_BINARY,
3437 left: left, operator: operator, right: right)); 3962 left: left, operator: operator, right: right));
3438 apply(left, arg); 3963 apply(left, arg);
3439 apply(right, arg); 3964 apply(right, arg);
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
3844 Send node, 4369 Send node,
3845 Element element, 4370 Element element,
3846 BinaryOperator operator, 4371 BinaryOperator operator,
3847 Node argument, 4372 Node argument,
3848 arg) { 4373 arg) {
3849 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_BINARY, 4374 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_BINARY,
3850 operator: operator, right: argument)); 4375 operator: operator, right: argument));
3851 apply(argument, arg); 4376 apply(argument, arg);
3852 } 4377 }
3853 4378
3854
3855 @override 4379 @override
3856 visitSuperIndex( 4380 visitSuperIndex(
3857 Send node, 4381 Send node,
3858 FunctionElement function, 4382 FunctionElement function,
3859 Node index, 4383 Node index,
3860 arg) { 4384 arg) {
3861 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX, 4385 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX,
3862 element: function, index: index)); 4386 element: function, index: index));
3863 apply(index, arg); 4387 apply(index, arg);
3864 } 4388 }
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
4288 Node index, 4812 Node index,
4289 Node rhs, 4813 Node rhs,
4290 arg) { 4814 arg) {
4291 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_SET, 4815 visits.add(new Visit(VisitKind.VISIT_SUPER_INDEX_SET,
4292 element: function, index: index, rhs: rhs)); 4816 element: function, index: index, rhs: rhs));
4293 apply(index, arg); 4817 apply(index, arg);
4294 apply(rhs, arg); 4818 apply(rhs, arg);
4295 } 4819 }
4296 4820
4297 @override 4821 @override
4298 errorFinalLocalVariableSet(
4299 SendSet node,
4300 LocalVariableElement variable,
4301 Node rhs,
4302 arg) {
4303 // TODO: implement errorFinalLocalVariableSet
4304 }
4305
4306 @override
4307 errorFinalParameterSet(
4308 SendSet node,
4309 ParameterElement parameter,
4310 Node rhs,
4311 arg) {
4312 // TODO: implement errorFinalParameterSet
4313 }
4314
4315 @override
4316 errorFinalStaticFieldSet(
4317 SendSet node,
4318 FieldElement field,
4319 Node rhs,
4320 arg) {
4321 // TODO: implement errorFinalStaticFieldSet
4322 }
4323
4324 @override
4325 errorFinalSuperFieldSet(
4326 SendSet node,
4327 FieldElement field,
4328 Node rhs,
4329 arg) {
4330 // TODO: implement errorFinalSuperFieldSet
4331 }
4332
4333 @override
4334 errorFinalTopLevelFieldSet(
4335 SendSet node,
4336 FieldElement field,
4337 Node rhs,
4338 arg) {
4339 // TODO: implement errorFinalTopLevelFieldSet
4340 }
4341
4342 @override
4343 errorLocalFunctionSet(
4344 SendSet node,
4345 LocalFunctionElement function,
4346 Node rhs,
4347 arg) {
4348 // TODO: implement errorLocalFunctionSet
4349 }
4350
4351 @override
4352 errorStaticFunctionSet(
4353 Send node,
4354 MethodElement function,
4355 Node rhs,
4356 arg) {
4357 // TODO: implement errorStaticFunctionSet
4358 }
4359
4360 @override
4361 errorStaticGetterSet(
4362 SendSet node,
4363 FunctionElement getter,
4364 Node rhs,
4365 arg) {
4366 // TODO: implement errorStaticGetterSet
4367 }
4368
4369 @override
4370 errorStaticSetterGet(
4371 Send node,
4372 FunctionElement setter,
4373 arg) {
4374 // TODO: implement errorStaticSetterGet
4375 }
4376
4377 @override
4378 errorStaticSetterInvoke(
4379 Send node,
4380 FunctionElement setter,
4381 NodeList arguments,
4382 CallStructure callStructure,
4383 arg) {
4384 // TODO: implement errorStaticSetterInvoke
4385 }
4386
4387 @override
4388 errorSuperGetterSet(
4389 SendSet node,
4390 FunctionElement getter,
4391 Node rhs,
4392 arg) {
4393 // TODO: implement errorSuperGetterSet
4394 }
4395
4396 @override
4397 errorSuperMethodSet(
4398 Send node,
4399 MethodElement method,
4400 Node rhs,
4401 arg) {
4402 // TODO: implement errorSuperMethodSet
4403 }
4404
4405 @override
4406 errorSuperSetterGet(
4407 Send node,
4408 FunctionElement setter,
4409 arg) {
4410 // TODO: implement errorSuperSetterGet
4411 }
4412
4413 @override
4414 errorSuperSetterInvoke(
4415 Send node,
4416 FunctionElement setter,
4417 NodeList arguments,
4418 CallStructure callStructure,
4419 arg) {
4420 // TODO: implement errorSuperSetterInvoke
4421 }
4422
4423 @override
4424 errorTopLevelFunctionSet(
4425 Send node,
4426 MethodElement function,
4427 Node rhs,
4428 arg) {
4429 // TODO: implement errorTopLevelFunctionSet
4430 }
4431
4432 @override
4433 errorTopLevelGetterSet(
4434 SendSet node,
4435 FunctionElement getter,
4436 Node rhs,
4437 arg) {
4438 // TODO: implement errorTopLevelGetterSet
4439 }
4440
4441 @override
4442 errorTopLevelSetterGet(
4443 Send node,
4444 FunctionElement setter,
4445 arg) {
4446 // TODO: implement errorTopLevelSetterGet
4447 }
4448
4449 @override
4450 errorTopLevelSetterInvoke(
4451 Send node,
4452 FunctionElement setter,
4453 NodeList arguments,
4454 CallStructure callStructure,
4455 arg) {
4456 // TODO: implement errorTopLevelSetterInvoke
4457 }
4458
4459 @override
4460 visitDynamicPropertyCompound( 4822 visitDynamicPropertyCompound(
4461 Send node, 4823 Send node,
4462 Node receiver, 4824 Node receiver,
4463 AssignmentOperator operator, 4825 AssignmentOperator operator,
4464 Node rhs, 4826 Node rhs,
4465 Selector getterSelector, 4827 Selector getterSelector,
4466 Selector setterSelector, 4828 Selector setterSelector,
4467 arg) { 4829 arg) {
4468 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_COMPOUND, 4830 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_COMPOUND,
4469 receiver: receiver, operator: operator, rhs: rhs, 4831 receiver: receiver, operator: operator, rhs: rhs,
4470 getter: getterSelector, setter: setterSelector)); 4832 getter: getterSelector, setter: setterSelector));
4471 apply(receiver, arg); 4833 apply(receiver, arg);
4472 apply(rhs, arg); 4834 apply(rhs, arg);
4473 } 4835 }
4474 4836
4475 @override 4837 @override
4476 errorFinalLocalVariableCompound( 4838 visitFinalLocalVariableCompound(
4477 Send node, 4839 Send node,
4478 LocalVariableElement variable, 4840 LocalVariableElement variable,
4479 AssignmentOperator operator, 4841 AssignmentOperator operator,
4480 Node rhs, 4842 Node rhs,
4481 arg) { 4843 arg) {
4482 // TODO: implement errorFinalLocalVariableCompound 4844 visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
4845 element: variable, operator: operator, rhs: rhs));
4846 apply(rhs, arg);
4483 } 4847 }
4484 4848
4485 @override 4849 @override
4486 errorFinalParameterCompound( 4850 visitFinalLocalVariablePrefix(
4851 Send node,
4852 LocalVariableElement variable,
4853 IncDecOperator operator,
4854 arg) {
4855 visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
4856 element: variable, operator: operator));
4857 }
4858
4859 @override
4860 visitFinalLocalVariablePostfix(
4861 Send node,
4862 LocalVariableElement variable,
4863 IncDecOperator operator,
4864 arg) {
4865 visits.add(new Visit(VisitKind.VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
4866 element: variable, operator: operator));
4867 }
4868
4869 @override
4870 visitFinalParameterCompound(
4487 Send node, 4871 Send node,
4488 ParameterElement parameter, 4872 ParameterElement parameter,
4489 AssignmentOperator operator, 4873 AssignmentOperator operator,
4490 Node rhs, 4874 Node rhs,
4491 arg) { 4875 arg) {
4492 // TODO: implement errorFinalParameterCompound 4876 visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_COMPOUND,
4877 element: parameter, operator: operator, rhs: rhs));
4878 apply(rhs, arg);
4493 } 4879 }
4494 4880
4495 @override 4881 @override
4496 errorFinalStaticFieldCompound( 4882 visitFinalParameterPrefix(
4883 Send node,
4884 ParameterElement parameter,
4885 IncDecOperator operator,
4886 arg) {
4887 visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_PREFIX,
4888 element: parameter, operator: operator));
4889 }
4890
4891 @override
4892 visitFinalParameterPostfix(
4893 Send node,
4894 ParameterElement parameter,
4895 IncDecOperator operator,
4896 arg) {
4897 visits.add(new Visit(VisitKind.VISIT_FINAL_PARAMETER_POSTFIX,
4898 element: parameter, operator: operator));
4899 }
4900
4901 @override
4902 visitStaticFinalFieldCompound(
4497 Send node, 4903 Send node,
4498 FieldElement field, 4904 FieldElement field,
4499 AssignmentOperator operator, 4905 AssignmentOperator operator,
4500 Node rhs, 4906 Node rhs,
4501 arg) { 4907 arg) {
4502 // TODO: implement errorFinalStaticFieldCompound 4908 visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_COMPOUND,
4909 element: field, operator: operator, rhs: rhs));
4910 apply(rhs, arg);
4503 } 4911 }
4504 4912
4505 @override 4913 @override
4506 errorFinalSuperFieldCompound( 4914 visitStaticFinalFieldPostfix(
4915 Send node,
4916 FieldElement field,
4917 IncDecOperator operator,
4918 arg) {
4919 visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_POSTFIX,
4920 element: field, operator: operator));
4921 }
4922
4923 @override
4924 visitStaticFinalFieldPrefix(
4925 Send node,
4926 FieldElement field,
4927 IncDecOperator operator,
4928 arg) {
4929 visits.add(new Visit(VisitKind.VISIT_STATIC_FINAL_FIELD_PREFIX,
4930 element: field, operator: operator));
4931 }
4932
4933 @override
4934 visitSuperFinalFieldCompound(
4507 Send node, 4935 Send node,
4508 FieldElement field, 4936 FieldElement field,
4509 AssignmentOperator operator, 4937 AssignmentOperator operator,
4510 Node rhs, 4938 Node rhs,
4511 arg) { 4939 arg) {
4512 // TODO: implement errorFinalSuperFieldCompound 4940 visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_COMPOUND,
4941 element: field, operator: operator, rhs: rhs));
4942 apply(rhs, arg);
4513 } 4943 }
4514 4944
4515 @override 4945 @override
4516 errorFinalTopLevelFieldCompound( 4946 visitTopLevelFinalFieldCompound(
4517 Send node, 4947 Send node,
4518 FieldElement field, 4948 FieldElement field,
4519 AssignmentOperator operator, 4949 AssignmentOperator operator,
4520 Node rhs, 4950 Node rhs,
4521 arg) { 4951 arg) {
4522 // TODO: implement errorFinalTopLevelFieldCompound 4952 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
4953 element: field, operator: operator, rhs: rhs));
4954 apply(rhs, arg);
4523 } 4955 }
4524 4956
4525 @override 4957 @override
4526 errorLocalFunctionCompound( 4958 visitTopLevelFinalFieldPostfix(
4959 Send node,
4960 FieldElement field,
4961 IncDecOperator operator,
4962 arg) {
4963 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
4964 element: field, operator: operator));
4965 }
4966
4967 @override
4968 visitTopLevelFinalFieldPrefix(
4969 Send node,
4970 FieldElement field,
4971 IncDecOperator operator,
4972 arg) {
4973 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
4974 element: field, operator: operator));
4975 }
4976
4977 @override
4978 visitLocalFunctionCompound(
4527 Send node, 4979 Send node,
4528 LocalFunctionElement function, 4980 LocalFunctionElement function,
4529 AssignmentOperator operator, 4981 AssignmentOperator operator,
4530 Node rhs, 4982 Node rhs,
4531 arg) { 4983 arg) {
4532 // TODO: implement errorLocalFunctionCompound 4984 visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_COMPOUND,
4985 element: function, operator: operator, rhs: rhs));
4986 apply(rhs, arg);
4533 } 4987 }
4534 4988
4535 @override 4989 @override
4536 visitLocalVariableCompound( 4990 visitLocalVariableCompound(
4537 Send node, 4991 Send node,
4538 LocalVariableElement variable, 4992 LocalVariableElement variable,
4539 AssignmentOperator operator, 4993 AssignmentOperator operator,
4540 Node rhs, 4994 Node rhs,
4541 arg) { 4995 arg) {
4542 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND, 4996 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_COMPOUND,
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
4691 } 5145 }
4692 5146
4693 @override 5147 @override
4694 visitSuperMethodSetterCompound( 5148 visitSuperMethodSetterCompound(
4695 Send node, 5149 Send node,
4696 FunctionElement method, 5150 FunctionElement method,
4697 FunctionElement setter, 5151 FunctionElement setter,
4698 AssignmentOperator operator, 5152 AssignmentOperator operator,
4699 Node rhs, 5153 Node rhs,
4700 arg) { 5154 arg) {
4701 // TODO: implement visitSuperMethodSetterCompound 5155 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_COMPOUND,
5156 getter: method, setter: setter, operator: operator, rhs: rhs));
5157 apply(rhs, arg);
4702 } 5158 }
4703 5159
4704 @override 5160 @override
5161 visitSuperMethodCompound(
5162 Send node,
5163 FunctionElement method,
5164 AssignmentOperator operator,
5165 Node rhs,
5166 arg) {
5167 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_COMPOUND,
5168 element: method, operator: operator, rhs: rhs));
5169 apply(rhs, arg);
5170 }
5171
5172 @override
5173 visitSuperMethodPrefix(
5174 Send node,
5175 FunctionElement method,
5176 IncDecOperator operator,
5177 arg) {
5178 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_PREFIX,
5179 element: method, operator: operator));
5180 }
5181
5182 @override
5183 visitSuperMethodPostfix(
5184 Send node,
5185 FunctionElement method,
5186 IncDecOperator operator,
5187 arg) {
5188 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_POSTFIX,
5189 element: method, operator: operator));
5190 }
5191
5192 @override
5193 visitUnresolvedSuperCompound(
5194 Send node,
5195 Element element,
5196 AssignmentOperator operator,
5197 Node rhs,
5198 arg) {
5199 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_COMPOUND,
5200 operator: operator, rhs: rhs));
5201 apply(rhs, arg);
5202 }
5203
5204 @override
5205 visitUnresolvedSuperPrefix(
5206 Send node,
5207 Element element,
5208 IncDecOperator operator,
5209 arg) {
5210 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_PREFIX,
5211 operator: operator));
5212 }
5213
5214 @override
5215 visitUnresolvedSuperPostfix(
5216 Send node,
5217 Element element,
5218 IncDecOperator operator,
5219 arg) {
5220 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_POSTFIX,
5221 operator: operator));
5222 }
5223
5224 @override
4705 visitTopLevelMethodSetterCompound( 5225 visitTopLevelMethodSetterCompound(
4706 Send node, 5226 Send node,
4707 FunctionElement method, 5227 FunctionElement method,
4708 FunctionElement setter, 5228 FunctionElement setter,
4709 AssignmentOperator operator, 5229 AssignmentOperator operator,
4710 Node rhs, 5230 Node rhs,
4711 arg) { 5231 arg) {
4712 // TODO: implement visitTopLevelMethodSetterCompound 5232 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
5233 getter: method, setter: setter, operator: operator, rhs: rhs));
5234 apply(rhs, arg);
4713 } 5235 }
4714 5236
4715 @override 5237 @override
4716 visitCompoundIndexSet( 5238 visitCompoundIndexSet(
4717 Send node, 5239 Send node,
4718 Node receiver, 5240 Node receiver,
4719 Node index, 5241 Node index,
4720 AssignmentOperator operator, 5242 AssignmentOperator operator,
4721 Node rhs, 5243 Node rhs,
4722 arg) { 5244 arg) {
(...skipping 14 matching lines...) Expand all
4737 Node rhs, 5259 Node rhs,
4738 arg) { 5260 arg) {
4739 visits.add(new Visit(VisitKind.VISIT_SUPER_COMPOUND_INDEX_SET, 5261 visits.add(new Visit(VisitKind.VISIT_SUPER_COMPOUND_INDEX_SET,
4740 getter: getter, setter: setter, 5262 getter: getter, setter: setter,
4741 index: index, rhs: rhs, operator: operator)); 5263 index: index, rhs: rhs, operator: operator));
4742 apply(index, arg); 5264 apply(index, arg);
4743 apply(rhs, arg); 5265 apply(rhs, arg);
4744 } 5266 }
4745 5267
4746 @override 5268 @override
4747 errorClassTypeLiteralCompound( 5269 visitClassTypeLiteralCompound(
4748 Send node, 5270 Send node,
4749 ConstantExpression constant, 5271 ConstantExpression constant,
4750 AssignmentOperator operator, 5272 AssignmentOperator operator,
4751 Node rhs, 5273 Node rhs,
4752 arg) { 5274 arg) {
4753 visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_COMPOUND, 5275 visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_COMPOUND,
4754 constant: constant.getText(), operator: operator, rhs: rhs)); 5276 constant: constant.getText(), operator: operator, rhs: rhs));
4755 apply(rhs, arg); 5277 apply(rhs, arg);
4756 } 5278 }
4757 5279
4758 @override 5280 @override
4759 errorDynamicTypeLiteralCompound( 5281 visitDynamicTypeLiteralCompound(
4760 Send node, 5282 Send node,
4761 ConstantExpression constant, 5283 ConstantExpression constant,
4762 AssignmentOperator operator, 5284 AssignmentOperator operator,
4763 Node rhs, 5285 Node rhs,
4764 arg) { 5286 arg) {
4765 visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_COMPOUND, 5287 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
4766 constant: constant.getText(), operator: operator, rhs: rhs)); 5288 constant: constant.getText(), operator: operator, rhs: rhs));
4767 apply(rhs, arg); 5289 apply(rhs, arg);
4768 } 5290 }
4769 5291
4770 @override 5292 @override
4771 errorTypeVariableTypeLiteralCompound( 5293 visitTypeVariableTypeLiteralCompound(
4772 Send node, 5294 Send node,
4773 TypeVariableElement element, 5295 TypeVariableElement element,
4774 AssignmentOperator operator, 5296 AssignmentOperator operator,
4775 Node rhs, 5297 Node rhs,
4776 arg) { 5298 arg) {
4777 visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND, 5299 visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
4778 element: element, operator: operator, rhs: rhs)); 5300 element: element, operator: operator, rhs: rhs));
4779 apply(rhs, arg); 5301 apply(rhs, arg);
4780 } 5302 }
4781 5303
4782 @override 5304 @override
4783 errorTypedefTypeLiteralCompound( 5305 visitTypedefTypeLiteralCompound(
4784 Send node, 5306 Send node,
4785 ConstantExpression constant, 5307 ConstantExpression constant,
4786 AssignmentOperator operator, 5308 AssignmentOperator operator,
4787 Node rhs, 5309 Node rhs,
4788 arg) { 5310 arg) {
4789 visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_COMPOUND, 5311 visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
4790 constant: constant.getText(), operator: operator, rhs: rhs)); 5312 constant: constant.getText(), operator: operator, rhs: rhs));
4791 apply(rhs, arg); 5313 apply(rhs, arg);
4792 } 5314 }
4793 5315
4794 @override 5316 @override
4795 errorLocalFunctionPrefix( 5317 visitLocalFunctionPrefix(
4796 Send node, 5318 Send node,
4797 LocalFunctionElement function, 5319 LocalFunctionElement function,
4798 IncDecOperator operator, 5320 IncDecOperator operator,
4799 arg) { 5321 arg) {
4800 // TODO: implement errorLocalFunctionPrefix 5322 visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_PREFIX,
5323 element: function, operator: operator));
4801 } 5324 }
4802 5325
4803 @override 5326 @override
4804 errorClassTypeLiteralPrefix( 5327 visitClassTypeLiteralPrefix(
4805 Send node, 5328 Send node,
4806 ConstantExpression constant, 5329 ConstantExpression constant,
4807 IncDecOperator operator, 5330 IncDecOperator operator,
4808 arg) { 5331 arg) {
4809 visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_PREFIX, 5332 visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_PREFIX,
4810 constant: constant.getText(), operator: operator)); 5333 constant: constant.getText(), operator: operator));
4811 } 5334 }
4812 5335
4813 @override 5336 @override
4814 errorDynamicTypeLiteralPrefix( 5337 visitDynamicTypeLiteralPrefix(
4815 Send node, 5338 Send node,
4816 ConstantExpression constant, 5339 ConstantExpression constant,
4817 IncDecOperator operator, 5340 IncDecOperator operator,
4818 arg) { 5341 arg) {
4819 visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_PREFIX, 5342 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
4820 constant: constant.getText(), operator: operator)); 5343 constant: constant.getText(), operator: operator));
4821 } 5344 }
4822 5345
4823 @override 5346 @override
4824 visitLocalVariablePrefix( 5347 visitLocalVariablePrefix(
4825 Send node, 5348 Send node,
4826 LocalVariableElement variable, 5349 LocalVariableElement variable,
4827 IncDecOperator operator, 5350 IncDecOperator operator,
4828 arg) { 5351 arg) {
4829 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX, 5352 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_PREFIX,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
4861 getter: getter, setter: setter, operator: operator)); 5384 getter: getter, setter: setter, operator: operator));
4862 } 5385 }
4863 5386
4864 @override 5387 @override
4865 visitStaticMethodSetterPrefix( 5388 visitStaticMethodSetterPrefix(
4866 Send node, 5389 Send node,
4867 FunctionElement getter, 5390 FunctionElement getter,
4868 FunctionElement setter, 5391 FunctionElement setter,
4869 IncDecOperator operator, 5392 IncDecOperator operator,
4870 arg) { 5393 arg) {
4871 // TODO: implement visitStaticMethodSetterPrefix 5394 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_PREFIX,
5395 getter: getter, setter: setter, operator: operator));
4872 } 5396 }
4873 5397
4874 @override 5398 @override
5399 visitSuperFieldFieldCompound(
5400 Send node,
5401 FieldElement readField,
5402 FieldElement writtenField,
5403 AssignmentOperator operator,
5404 Node rhs,
5405 arg) {
5406 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_COMPOUND,
5407 getter: readField, setter: writtenField, operator: operator, rhs: rhs));
5408 apply(rhs, arg);
5409 }
5410
5411 @override
4875 visitSuperFieldFieldPrefix( 5412 visitSuperFieldFieldPrefix(
4876 Send node, 5413 Send node,
4877 FieldElement readField, 5414 FieldElement readField,
4878 FieldElement writtenField, 5415 FieldElement writtenField,
4879 IncDecOperator operator, 5416 IncDecOperator operator,
4880 arg) { 5417 arg) {
4881 // TODO: implement visitSuperFieldFieldPrefix 5418 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_PREFIX,
5419 getter: readField, setter: writtenField, operator: operator));
4882 } 5420 }
4883 5421
4884 @override 5422 @override
4885 visitSuperFieldPrefix( 5423 visitSuperFieldPrefix(
4886 Send node, 5424 Send node,
4887 FieldElement field, 5425 FieldElement field,
4888 IncDecOperator operator, 5426 IncDecOperator operator,
4889 arg) { 5427 arg) {
4890 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX, 5428 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_PREFIX,
4891 element: field, operator: operator)); 5429 element: field, operator: operator));
4892 } 5430 }
4893 5431
4894 @override 5432 @override
5433 visitSuperFinalFieldPrefix(
5434 Send node,
5435 FieldElement field,
5436 IncDecOperator operator,
5437 arg) {
5438 visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_PREFIX,
5439 element: field, operator: operator));
5440 }
5441
5442 @override
4895 visitSuperFieldSetterPrefix( 5443 visitSuperFieldSetterPrefix(
4896 Send node, 5444 Send node,
4897 FieldElement field, 5445 FieldElement field,
4898 FunctionElement setter, 5446 FunctionElement setter,
4899 IncDecOperator operator, 5447 IncDecOperator operator,
4900 arg) { 5448 arg) {
4901 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX, 5449 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_PREFIX,
4902 getter: field, setter: setter, operator: operator)); 5450 getter: field, setter: setter, operator: operator));
4903 } 5451 }
4904 5452
(...skipping 19 matching lines...) Expand all
4924 getter: getter, setter: setter, operator: operator)); 5472 getter: getter, setter: setter, operator: operator));
4925 } 5473 }
4926 5474
4927 @override 5475 @override
4928 visitSuperMethodSetterPrefix( 5476 visitSuperMethodSetterPrefix(
4929 Send node, 5477 Send node,
4930 FunctionElement method, 5478 FunctionElement method,
4931 FunctionElement setter, 5479 FunctionElement setter,
4932 IncDecOperator operator, 5480 IncDecOperator operator,
4933 arg) { 5481 arg) {
4934 // TODO: implement visitSuperMethodSetterPrefix 5482 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_PREFIX,
5483 getter: method, setter: setter, operator: operator));
4935 } 5484 }
4936 5485
4937 @override 5486 @override
4938 visitThisPropertyPrefix( 5487 visitThisPropertyPrefix(
4939 Send node, 5488 Send node,
4940 IncDecOperator operator, 5489 IncDecOperator operator,
4941 Selector getterSelector, 5490 Selector getterSelector,
4942 Selector setterSelector, 5491 Selector setterSelector,
4943 arg) { 5492 arg) {
4944 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_PREFIX, 5493 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_PREFIX,
(...skipping 22 matching lines...) Expand all
4967 getter: getter, setter: setter, operator: operator)); 5516 getter: getter, setter: setter, operator: operator));
4968 } 5517 }
4969 5518
4970 @override 5519 @override
4971 visitTopLevelMethodSetterPrefix( 5520 visitTopLevelMethodSetterPrefix(
4972 Send node, 5521 Send node,
4973 FunctionElement method, 5522 FunctionElement method,
4974 FunctionElement setter, 5523 FunctionElement setter,
4975 IncDecOperator operator, 5524 IncDecOperator operator,
4976 arg) { 5525 arg) {
4977 // TODO: implement visitTopLevelMethodSetterPrefix 5526 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
5527 getter: method, setter: setter, operator: operator));
4978 } 5528 }
4979 5529
4980 @override 5530 @override
4981 errorTypeVariableTypeLiteralPrefix( 5531 visitTypeVariableTypeLiteralPrefix(
4982 Send node, 5532 Send node,
4983 TypeVariableElement element, 5533 TypeVariableElement element,
4984 IncDecOperator operator, 5534 IncDecOperator operator,
4985 arg) { 5535 arg) {
4986 visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_PREFIX, 5536 visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
4987 element: element, operator: operator)); 5537 element: element, operator: operator));
4988 } 5538 }
4989 5539
4990 @override 5540 @override
4991 errorTypedefTypeLiteralPrefix( 5541 visitTypedefTypeLiteralPrefix(
4992 Send node, 5542 Send node,
4993 ConstantExpression constant, 5543 ConstantExpression constant,
4994 IncDecOperator operator, 5544 IncDecOperator operator,
4995 arg) { 5545 arg) {
4996 visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_PREFIX, 5546 visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
4997 constant: constant.getText(), operator: operator)); 5547 constant: constant.getText(), operator: operator));
4998 } 5548 }
4999 5549
5000 @override 5550 @override
5001 errorLocalFunctionPostfix( 5551 visitLocalFunctionPostfix(
5002 Send node, 5552 Send node,
5003 LocalFunctionElement function, 5553 LocalFunctionElement function,
5004 IncDecOperator operator, 5554 IncDecOperator operator,
5005 arg) { 5555 arg) {
5006 // TODO: implement errorLocalFunctionPostfix 5556 visits.add(new Visit(VisitKind.VISIT_LOCAL_FUNCTION_POSTFIX,
5557 element: function, operator: operator));
5007 } 5558 }
5008 5559
5009 @override 5560 @override
5010 errorClassTypeLiteralPostfix( 5561 visitClassTypeLiteralPostfix(
5011 Send node, 5562 Send node,
5012 ConstantExpression constant, 5563 ConstantExpression constant,
5013 IncDecOperator operator, 5564 IncDecOperator operator,
5014 arg) { 5565 arg) {
5015 visits.add(new Visit(VisitKind.ERROR_CLASS_TYPE_LITERAL_POSTFIX, 5566 visits.add(new Visit(VisitKind.VISIT_CLASS_TYPE_LITERAL_POSTFIX,
5016 constant: constant.getText(), operator: operator)); 5567 constant: constant.getText(), operator: operator));
5017 } 5568 }
5018 5569
5019 @override 5570 @override
5020 errorDynamicTypeLiteralPostfix( 5571 visitDynamicTypeLiteralPostfix(
5021 Send node, 5572 Send node,
5022 ConstantExpression constant, 5573 ConstantExpression constant,
5023 IncDecOperator operator, 5574 IncDecOperator operator,
5024 arg) { 5575 arg) {
5025 visits.add(new Visit(VisitKind.ERROR_DYNAMIC_TYPE_LITERAL_POSTFIX, 5576 visits.add(new Visit(VisitKind.VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
5026 constant: constant.getText(), operator: operator)); 5577 constant: constant.getText(), operator: operator));
5027 } 5578 }
5028 5579
5029 @override 5580 @override
5030 visitLocalVariablePostfix( 5581 visitLocalVariablePostfix(
5031 Send node, 5582 Send node,
5032 LocalVariableElement variable, 5583 LocalVariableElement variable,
5033 IncDecOperator operator, 5584 IncDecOperator operator,
5034 arg) { 5585 arg) {
5035 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX, 5586 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_POSTFIX,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
5067 getter: getter, setter: setter, operator: operator)); 5618 getter: getter, setter: setter, operator: operator));
5068 } 5619 }
5069 5620
5070 @override 5621 @override
5071 visitStaticMethodSetterPostfix( 5622 visitStaticMethodSetterPostfix(
5072 Send node, 5623 Send node,
5073 FunctionElement getter, 5624 FunctionElement getter,
5074 FunctionElement setter, 5625 FunctionElement setter,
5075 IncDecOperator operator, 5626 IncDecOperator operator,
5076 arg) { 5627 arg) {
5077 // TODO: implement visitStaticMethodSetterPostfix 5628 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_SETTER_POSTFIX,
5629 getter: getter, setter: setter, operator: operator));
5078 } 5630 }
5079 5631
5080 @override 5632 @override
5081 visitSuperFieldFieldPostfix( 5633 visitSuperFieldFieldPostfix(
5082 Send node, 5634 Send node,
5083 FieldElement readField, 5635 FieldElement readField,
5084 FieldElement writtenField, 5636 FieldElement writtenField,
5085 IncDecOperator operator, 5637 IncDecOperator operator,
5086 arg) { 5638 arg) {
5087 // TODO: implement visitSuperFieldFieldPostfix 5639 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_FIELD_POSTFIX,
5640 getter: readField, setter: writtenField, operator: operator));
5088 } 5641 }
5089 5642
5090 @override 5643 @override
5091 visitSuperFieldPostfix( 5644 visitSuperFieldPostfix(
5092 Send node, 5645 Send node,
5093 FieldElement field, 5646 FieldElement field,
5094 IncDecOperator operator, 5647 IncDecOperator operator,
5095 arg) { 5648 arg) {
5096 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX, 5649 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_POSTFIX,
5097 element: field, operator: operator)); 5650 element: field, operator: operator));
5098 } 5651 }
5099 5652
5100 @override 5653 @override
5654 visitSuperFinalFieldPostfix(
5655 Send node,
5656 FieldElement field,
5657 IncDecOperator operator,
5658 arg) {
5659 visits.add(new Visit(VisitKind.VISIT_SUPER_FINAL_FIELD_POSTFIX,
5660 element: field, operator: operator));
5661 }
5662
5663 @override
5101 visitSuperFieldSetterPostfix( 5664 visitSuperFieldSetterPostfix(
5102 Send node, 5665 Send node,
5103 FieldElement field, 5666 FieldElement field,
5104 FunctionElement setter, 5667 FunctionElement setter,
5105 IncDecOperator operator, 5668 IncDecOperator operator,
5106 arg) { 5669 arg) {
5107 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX, 5670 visits.add(new Visit(VisitKind.VISIT_SUPER_FIELD_SETTER_POSTFIX,
5108 getter: field, setter: setter, operator: operator)); 5671 getter: field, setter: setter, operator: operator));
5109 } 5672 }
5110 5673
(...skipping 19 matching lines...) Expand all
5130 getter: getter, setter: setter, operator: operator)); 5693 getter: getter, setter: setter, operator: operator));
5131 } 5694 }
5132 5695
5133 @override 5696 @override
5134 visitSuperMethodSetterPostfix( 5697 visitSuperMethodSetterPostfix(
5135 Send node, 5698 Send node,
5136 FunctionElement method, 5699 FunctionElement method,
5137 FunctionElement setter, 5700 FunctionElement setter,
5138 IncDecOperator operator, 5701 IncDecOperator operator,
5139 arg) { 5702 arg) {
5140 // TODO: implement visitSuperMethodSetterPostfix 5703 visits.add(new Visit(VisitKind.VISIT_SUPER_METHOD_SETTER_POSTFIX,
5704 getter: method, setter: setter, operator: operator));
5141 } 5705 }
5142 5706
5143 @override 5707 @override
5144 visitThisPropertyPostfix( 5708 visitThisPropertyPostfix(
5145 Send node, 5709 Send node,
5146 IncDecOperator operator, 5710 IncDecOperator operator,
5147 Selector getterSelector, 5711 Selector getterSelector,
5148 Selector setterSelector, 5712 Selector setterSelector,
5149 arg) { 5713 arg) {
5150 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_POSTFIX, 5714 visits.add(new Visit(VisitKind.VISIT_THIS_PROPERTY_POSTFIX,
(...skipping 22 matching lines...) Expand all
5173 getter: getter, setter: setter, operator: operator)); 5737 getter: getter, setter: setter, operator: operator));
5174 } 5738 }
5175 5739
5176 @override 5740 @override
5177 visitTopLevelMethodSetterPostfix( 5741 visitTopLevelMethodSetterPostfix(
5178 Send node, 5742 Send node,
5179 FunctionElement method, 5743 FunctionElement method,
5180 FunctionElement setter, 5744 FunctionElement setter,
5181 IncDecOperator operator, 5745 IncDecOperator operator,
5182 arg) { 5746 arg) {
5183 // TODO: implement visitTopLevelMethodSetterPostfix 5747 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
5748 getter: method, setter: setter, operator: operator));
5184 } 5749 }
5185 5750
5186 @override 5751 @override
5187 errorTypeVariableTypeLiteralPostfix( 5752 visitTypeVariableTypeLiteralPostfix(
5188 Send node, 5753 Send node,
5189 TypeVariableElement element, 5754 TypeVariableElement element,
5190 IncDecOperator operator, 5755 IncDecOperator operator,
5191 arg) { 5756 arg) {
5192 visits.add(new Visit(VisitKind.ERROR_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX, 5757 visits.add(new Visit(VisitKind.VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
5193 element: element, operator: operator)); 5758 element: element, operator: operator));
5194 } 5759 }
5195 5760
5196 @override 5761 @override
5197 errorTypedefTypeLiteralPostfix( 5762 visitTypedefTypeLiteralPostfix(
5198 Send node, 5763 Send node,
5199 ConstantExpression constant, 5764 ConstantExpression constant,
5200 IncDecOperator operator, 5765 IncDecOperator operator,
5201 arg) { 5766 arg) {
5202 visits.add(new Visit(VisitKind.ERROR_TYPEDEF_TYPE_LITERAL_POSTFIX, 5767 visits.add(new Visit(VisitKind.VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
5203 constant: constant.getText(), operator: operator)); 5768 constant: constant.getText(), operator: operator));
5204 } 5769 }
5205 5770
5206 @override 5771 @override
5207 visitConstantGet( 5772 visitUnresolvedCompound(
5208 Send node,
5209 ConstantExpression constant,
5210 arg) {
5211 // TODO: implement visitConstantGet
5212 }
5213
5214 @override
5215 visitConstantInvoke(
5216 Send node,
5217 ConstantExpression constant,
5218 NodeList arguments,
5219 CallStructure callStructure,
5220 arg) {
5221 // TODO: implement visitConstantInvoke
5222 }
5223
5224 @override
5225 errorUnresolvedCompound(
5226 Send node, 5773 Send node,
5227 ErroneousElement element, 5774 ErroneousElement element,
5228 AssignmentOperator operator, 5775 AssignmentOperator operator,
5229 Node rhs, 5776 Node rhs,
5230 arg) { 5777 arg) {
5231 // TODO: implement errorUnresolvedCompound 5778 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_COMPOUND,
5779 operator: operator, rhs: rhs));
5780 apply(rhs, arg);
5232 } 5781 }
5233 5782
5234 @override 5783 @override
5235 visitUnresolvedGet( 5784 visitUnresolvedGet(
5236 Send node, 5785 Send node,
5237 Element element, 5786 Element element,
5238 arg) { 5787 arg) {
5788 print('visitUnresolvedGet:$node:$element');
5239 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_GET, name: element.name)); 5789 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_GET, name: element.name));
5240 } 5790 }
5241 5791
5242 @override 5792 @override
5243 visitUnresolvedInvoke( 5793 visitUnresolvedInvoke(
5244 Send node, 5794 Send node,
5245 Element element, 5795 Element element,
5246 NodeList arguments, 5796 NodeList arguments,
5247 Selector selector, 5797 Selector selector,
5248 arg) { 5798 arg) {
5249 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_INVOKE, 5799 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_INVOKE,
5250 name: element.name, arguments: arguments)); 5800 name: element.name, arguments: arguments));
5251 } 5801 }
5252 5802
5253 @override 5803 @override
5254 errorUnresolvedPostfix( 5804 visitUnresolvedPostfix(
5255 Send node, 5805 Send node,
5256 ErroneousElement element, 5806 ErroneousElement element,
5257 IncDecOperator operator, 5807 IncDecOperator operator,
5258 arg) { 5808 arg) {
5259 visits.add(new Visit( 5809 visits.add(new Visit(
5260 VisitKind.ERROR_UNRESOLVED_POSTFIX, operator: operator)); 5810 VisitKind.VISIT_UNRESOLVED_POSTFIX, operator: operator));
5261 } 5811 }
5262 5812
5263 @override 5813 @override
5264 errorUnresolvedPrefix( 5814 visitUnresolvedPrefix(
5265 Send node, 5815 Send node,
5266 ErroneousElement element, 5816 ErroneousElement element,
5267 IncDecOperator operator, 5817 IncDecOperator operator,
5268 arg) { 5818 arg) {
5269 // TODO: implement errorUnresolvedPrefix 5819 visits.add(new Visit(
5820 VisitKind.VISIT_UNRESOLVED_PREFIX, operator: operator));
5270 } 5821 }
5271 5822
5272 @override 5823 @override
5273 errorUnresolvedSet(
5274 Send node,
5275 ErroneousElement element,
5276 Node rhs,
5277 arg) {
5278 // TODO: implement errorUnresolvedSet
5279 }
5280
5281 @override
5282 errorUndefinedBinaryExpression(
5283 Send node,
5284 Node left,
5285 Operator operator,
5286 Node right,
5287 arg) {
5288 // TODO: implement errorUndefinedBinaryExpression
5289 }
5290
5291 @override
5292 errorUndefinedUnaryExpression(
5293 Send node,
5294 Operator operator,
5295 Node expression,
5296 arg) {
5297 // TODO: implement errorUndefinedUnaryExpression
5298 }
5299
5300 @override
5301 visitUnresolvedSuperGetterCompoundIndexSet( 5824 visitUnresolvedSuperGetterCompoundIndexSet(
5302 Send node, 5825 Send node,
5303 Element element, 5826 Element element,
5304 Node index, 5827 Node index,
5305 AssignmentOperator operator, 5828 AssignmentOperator operator,
5306 Node rhs, 5829 Node rhs,
5307 arg) { 5830 arg) {
5308 visits.add(new Visit( 5831 visits.add(new Visit(
5309 VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET, 5832 VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
5310 index: index, operator: operator, rhs: rhs)); 5833 index: index, operator: operator, rhs: rhs));
(...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after
5582 CallStructure callStructure, 6105 CallStructure callStructure,
5583 arg) { 6106 arg) {
5584 visits.add(new Visit( 6107 visits.add(new Visit(
5585 VisitKind.VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE, 6108 VisitKind.VISIT_UNRESOLVED_REDIRECTING_FACTORY_CONSTRUCTOR_INVOKE,
5586 element: constructor, 6109 element: constructor,
5587 type: type, 6110 type: type,
5588 arguments: arguments, 6111 arguments: arguments,
5589 selector: callStructure)); 6112 selector: callStructure));
5590 apply(arguments, arg); 6113 apply(arguments, arg);
5591 } 6114 }
6115
6116 @override
6117 visitUnresolvedStaticGetterCompound(
6118 Send node,
6119 Element element,
6120 MethodElement setter,
6121 AssignmentOperator operator,
6122 Node rhs,
6123 arg) {
6124 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
6125 setter: setter, operator: operator, rhs: rhs));
6126 apply(rhs, arg);
6127 }
6128
6129 @override
6130 visitUnresolvedTopLevelGetterCompound(
6131 Send node,
6132 Element element,
6133 MethodElement setter,
6134 AssignmentOperator operator,
6135 Node rhs,
6136 arg) {
6137 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
6138 setter: setter, operator: operator, rhs: rhs));
6139 apply(rhs, arg);
6140 }
6141
6142 @override
6143 visitUnresolvedStaticSetterCompound(
6144 Send node,
6145 MethodElement getter,
6146 Element element,
6147 AssignmentOperator operator,
6148 Node rhs,
6149 arg) {
6150 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
6151 getter: getter, operator: operator, rhs: rhs));
6152 apply(rhs, arg);
6153 }
6154
6155 @override
6156 visitUnresolvedTopLevelSetterCompound(
6157 Send node,
6158 MethodElement getter,
6159 Element element,
6160 AssignmentOperator operator,
6161 Node rhs,
6162 arg) {
6163 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
6164 getter: getter, operator: operator, rhs: rhs));
6165 apply(rhs, arg);
6166 }
6167
6168 @override
6169 visitStaticMethodCompound(
6170 Send node,
6171 MethodElement method,
6172 AssignmentOperator operator,
6173 Node rhs,
6174 arg) {
6175 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_COMPOUND,
6176 element: method, operator: operator, rhs: rhs));
6177 apply(rhs, arg);
6178 }
6179
6180 @override
6181 visitTopLevelMethodCompound(
6182 Send node,
6183 MethodElement method,
6184 AssignmentOperator operator,
6185 Node rhs,
6186 arg) {
6187 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_COMPOUND,
6188 element: method, operator: operator, rhs: rhs));
6189 apply(rhs, arg);
6190 }
6191
6192 @override
6193 visitUnresolvedStaticGetterPrefix(
6194 Send node,
6195 Element element,
6196 MethodElement setter,
6197 IncDecOperator operator,
6198 arg) {
6199 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
6200 setter: setter, operator: operator));
6201 }
6202
6203 @override
6204 visitUnresolvedTopLevelGetterPrefix(
6205 Send node,
6206 Element element,
6207 MethodElement setter,
6208 IncDecOperator operator,
6209 arg) {
6210 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
6211 setter: setter, operator: operator));
6212 }
6213
6214 @override
6215 visitUnresolvedStaticSetterPrefix(
6216 Send node,
6217 MethodElement getter,
6218 Element element,
6219 IncDecOperator operator,
6220 arg) {
6221 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
6222 getter: getter, operator: operator));
6223 }
6224
6225 @override
6226 visitUnresolvedTopLevelSetterPrefix(
6227 Send node,
6228 MethodElement getter,
6229 Element element,
6230 IncDecOperator operator,
6231 arg) {
6232 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
6233 getter: getter, operator: operator));
6234 }
6235
6236 @override
6237 visitStaticMethodPrefix(
6238 Send node,
6239 MethodElement method,
6240 IncDecOperator operator,
6241 arg) {
6242 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_PREFIX,
6243 element: method, operator: operator));
6244 }
6245
6246 @override
6247 visitTopLevelMethodPrefix(
6248 Send node,
6249 MethodElement method,
6250 IncDecOperator operator,
6251 arg) {
6252 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_PREFIX,
6253 element: method, operator: operator));
6254 }
6255
6256 @override
6257 visitUnresolvedStaticGetterPostfix(
6258 Send node,
6259 Element element,
6260 MethodElement setter,
6261 IncDecOperator operator,
6262 arg) {
6263 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
6264 setter: setter, operator: operator));
6265 }
6266
6267 @override
6268 visitUnresolvedTopLevelGetterPostfix(
6269 Send node,
6270 Element element,
6271 MethodElement setter,
6272 IncDecOperator operator,
6273 arg) {
6274 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
6275 setter: setter, operator: operator));
6276 }
6277
6278 @override
6279 visitUnresolvedStaticSetterPostfix(
6280 Send node,
6281 MethodElement getter,
6282 Element element,
6283 IncDecOperator operator,
6284 arg) {
6285 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
6286 getter: getter, operator: operator));
6287 }
6288
6289 @override
6290 visitUnresolvedTopLevelSetterPostfix(
6291 Send node,
6292 MethodElement getter,
6293 Element element,
6294 IncDecOperator operator,
6295 arg) {
6296 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
6297 getter: getter, operator: operator));
6298 }
6299
6300 @override
6301 visitStaticMethodPostfix(
6302 Send node,
6303 MethodElement method,
6304 IncDecOperator operator,
6305 arg) {
6306 visits.add(new Visit(VisitKind.VISIT_STATIC_METHOD_POSTFIX,
6307 element: method, operator: operator));
6308 }
6309
6310 @override
6311 visitTopLevelMethodPostfix(
6312 Send node,
6313 MethodElement method,
6314 IncDecOperator operator,
6315 arg) {
6316 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_METHOD_POSTFIX,
6317 element: method, operator: operator));
6318 }
6319
6320 @override
6321 visitUnresolvedSuperGetterCompound(
6322 Send node, Element element,
6323 MethodElement setter,
6324 AssignmentOperator operator,
6325 Node rhs,
6326 arg) {
6327 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
6328 setter: setter, operator: operator, rhs: rhs));
6329 apply(rhs, arg);
6330 }
6331
6332 @override
6333 visitUnresolvedSuperGetterPostfix(
6334 Send node,
6335 Element element,
6336 MethodElement setter,
6337 IncDecOperator operator,
6338 arg) {
6339 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
6340 setter: setter, operator: operator));
6341 }
6342
6343 @override
6344 visitUnresolvedSuperGetterPrefix(
6345 Send node,
6346 Element element,
6347 MethodElement setter,
6348 IncDecOperator operator,
6349 arg) {
6350 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
6351 setter: setter, operator: operator));
6352 }
6353
6354 @override
6355 visitUnresolvedSuperSetterCompound(
6356 Send node, MethodElement getter,
6357 Element element,
6358 AssignmentOperator operator,
6359 Node rhs,
6360 arg) {
6361 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
6362 getter: getter, operator: operator, rhs: rhs));
6363 apply(rhs, arg);
6364 }
6365
6366 @override
6367 visitUnresolvedSuperSetterPostfix(
6368 Send node,
6369 MethodElement getter,
6370 Element element,
6371 IncDecOperator operator,
6372 arg) {
6373 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
6374 getter: getter, operator: operator));
6375 }
6376
6377 @override
6378 visitUnresolvedSuperSetterPrefix(
6379 Send node,
6380 MethodElement getter,
6381 Element element,
6382 IncDecOperator operator,
6383 arg) {
6384 visits.add(new Visit(VisitKind.VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
6385 getter: getter, operator: operator));
6386 }
5592 } 6387 }
5593 6388
5594 class SemanticDeclarationTestVisitor extends SemanticTestVisitor { 6389 class SemanticDeclarationTestVisitor extends SemanticTestVisitor {
5595 6390
5596 SemanticDeclarationTestVisitor(TreeElements elements) : super(elements); 6391 SemanticDeclarationTestVisitor(TreeElements elements) : super(elements);
5597 6392
5598 @override 6393 @override
5599 errorUnresolvedSuperConstructorInvoke( 6394 errorUnresolvedSuperConstructorInvoke(
5600 Send node, 6395 Send node,
5601 Element element, 6396 Element element,
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
5839 VariableDefinitions node, 6634 VariableDefinitions node,
5840 Node definition, 6635 Node definition,
5841 LocalVariableElement variable, 6636 LocalVariableElement variable,
5842 Node initializer, 6637 Node initializer,
5843 arg) { 6638 arg) {
5844 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL, 6639 visits.add(new Visit(VisitKind.VISIT_LOCAL_VARIABLE_DECL,
5845 element: variable, rhs: initializer)); 6640 element: variable, rhs: initializer));
5846 if (initializer != null) { 6641 if (initializer != null) {
5847 apply(initializer, arg); 6642 apply(initializer, arg);
5848 } 6643 }
5849 return null;
5850 } 6644 }
5851 6645
5852 @override 6646 @override
5853 visitLocalConstantDeclaration( 6647 visitLocalConstantDeclaration(
5854 VariableDefinitions node, 6648 VariableDefinitions node,
5855 Node definition, 6649 Node definition,
5856 LocalVariableElement variable, 6650 LocalVariableElement variable,
5857 ConstantExpression constant, 6651 ConstantExpression constant,
5858 arg) { 6652 arg) {
5859 visits.add(new Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL, 6653 visits.add(new Visit(VisitKind.VISIT_LOCAL_CONSTANT_DECL,
5860 element: variable, constant: constant.getText())); 6654 element: variable, constant: constant.getText()));
5861 return null;
5862 } 6655 }
5863 6656
5864 @override 6657 @override
5865 visitNamedInitializingFormalDeclaration( 6658 visitNamedInitializingFormalDeclaration(
5866 VariableDefinitions node, 6659 VariableDefinitions node,
5867 Node definition, 6660 Node definition,
5868 InitializingFormalElement initializingFormal, 6661 InitializingFormalElement initializingFormal,
5869 ConstantExpression defaultValue, 6662 ConstantExpression defaultValue,
5870 arg) { 6663 arg) {
5871 visits.add(new Visit(VisitKind.VISIT_NAMED_INITIALIZING_FORMAL_DECL, 6664 visits.add(new Visit(VisitKind.VISIT_NAMED_INITIALIZING_FORMAL_DECL,
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
5904 VariableDefinitions node, 6697 VariableDefinitions node,
5905 Node definition, 6698 Node definition,
5906 FieldElement field, 6699 FieldElement field,
5907 Node initializer, 6700 Node initializer,
5908 arg) { 6701 arg) {
5909 visits.add(new Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL, 6702 visits.add(new Visit(VisitKind.VISIT_INSTANCE_FIELD_DECL,
5910 element: field, rhs: initializer)); 6703 element: field, rhs: initializer));
5911 if (initializer != null) { 6704 if (initializer != null) {
5912 apply(initializer, arg); 6705 apply(initializer, arg);
5913 } 6706 }
5914 return null;
5915 } 6707 }
5916 6708
5917 @override 6709 @override
5918 visitStaticConstantDeclaration( 6710 visitStaticConstantDeclaration(
5919 VariableDefinitions node, 6711 VariableDefinitions node,
5920 Node definition, 6712 Node definition,
5921 FieldElement field, 6713 FieldElement field,
5922 ConstantExpression constant, 6714 ConstantExpression constant,
5923 arg) { 6715 arg) {
5924 visits.add(new Visit(VisitKind.VISIT_STATIC_CONSTANT_DECL, 6716 visits.add(new Visit(VisitKind.VISIT_STATIC_CONSTANT_DECL,
5925 element: field, constant: constant.getText())); 6717 element: field, constant: constant.getText()));
5926 return null;
5927 } 6718 }
5928 6719
5929 @override 6720 @override
5930 visitStaticFieldDeclaration( 6721 visitStaticFieldDeclaration(
5931 VariableDefinitions node, 6722 VariableDefinitions node,
5932 Node definition, 6723 Node definition,
5933 FieldElement field, 6724 FieldElement field,
5934 Node initializer, 6725 Node initializer,
5935 arg) { 6726 arg) {
5936 visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_DECL, 6727 visits.add(new Visit(VisitKind.VISIT_STATIC_FIELD_DECL,
5937 element: field, rhs: initializer)); 6728 element: field, rhs: initializer));
5938 if (initializer != null) { 6729 if (initializer != null) {
5939 apply(initializer, arg); 6730 apply(initializer, arg);
5940 } 6731 }
5941 return null;
5942 } 6732 }
5943 6733
5944 @override 6734 @override
5945 visitTopLevelConstantDeclaration( 6735 visitTopLevelConstantDeclaration(
5946 VariableDefinitions node, 6736 VariableDefinitions node,
5947 Node definition, 6737 Node definition,
5948 FieldElement field, 6738 FieldElement field,
5949 ConstantExpression constant, 6739 ConstantExpression constant,
5950 arg) { 6740 arg) {
5951 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL, 6741 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_CONSTANT_DECL,
5952 element: field, constant: constant.getText())); 6742 element: field, constant: constant.getText()));
5953 return null;
5954 } 6743 }
5955 6744
5956 @override 6745 @override
5957 visitTopLevelFieldDeclaration( 6746 visitTopLevelFieldDeclaration(
5958 VariableDefinitions node, 6747 VariableDefinitions node,
5959 Node definition, 6748 Node definition,
5960 FieldElement field, 6749 FieldElement field,
5961 Node initializer, 6750 Node initializer,
5962 arg) { 6751 arg) {
5963 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL, 6752 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_DECL,
5964 element: field, rhs: initializer)); 6753 element: field, rhs: initializer));
5965 if (initializer != null) { 6754 if (initializer != null) {
5966 apply(initializer, arg); 6755 apply(initializer, arg);
5967 } 6756 }
5968 return null;
5969 } 6757 }
5970 6758
5971 @override 6759 @override
5972 visitAbstractGetterDeclaration( 6760 visitAbstractGetterDeclaration(
5973 FunctionExpression node, 6761 FunctionExpression node,
5974 MethodElement getter, 6762 MethodElement getter,
5975 arg) { 6763 arg) {
5976 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_GETTER_DECL, 6764 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_GETTER_DECL,
5977 element: getter)); 6765 element: getter));
5978 return null;
5979 } 6766 }
5980 6767
5981 @override 6768 @override
5982 visitAbstractSetterDeclaration( 6769 visitAbstractSetterDeclaration(
5983 FunctionExpression node, 6770 FunctionExpression node,
5984 MethodElement setter, 6771 MethodElement setter,
5985 NodeList parameters, 6772 NodeList parameters,
5986 arg) { 6773 arg) {
5987 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_SETTER_DECL, 6774 visits.add(new Visit(VisitKind.VISIT_ABSTRACT_SETTER_DECL,
5988 element: setter, parameters: parameters)); 6775 element: setter, parameters: parameters));
5989 applyParameters(parameters, arg); 6776 applyParameters(parameters, arg);
5990 return null;
5991 } 6777 }
5992 6778
5993 @override 6779 @override
5994 visitInstanceGetterDeclaration( 6780 visitInstanceGetterDeclaration(
5995 FunctionExpression node, 6781 FunctionExpression node,
5996 MethodElement getter, 6782 MethodElement getter,
5997 Node body, 6783 Node body,
5998 arg) { 6784 arg) {
5999 visits.add(new Visit(VisitKind.VISIT_INSTANCE_GETTER_DECL, 6785 visits.add(new Visit(VisitKind.VISIT_INSTANCE_GETTER_DECL,
6000 element: getter, body: body)); 6786 element: getter, body: body));
6001 apply(body, arg); 6787 apply(body, arg);
6002 return null;
6003 } 6788 }
6004 6789
6005 @override 6790 @override
6006 visitInstanceSetterDeclaration( 6791 visitInstanceSetterDeclaration(
6007 FunctionExpression node, 6792 FunctionExpression node,
6008 MethodElement setter, 6793 MethodElement setter,
6009 NodeList parameters, 6794 NodeList parameters,
6010 Node body, 6795 Node body,
6011 arg) { 6796 arg) {
6012 visits.add(new Visit(VisitKind.VISIT_INSTANCE_SETTER_DECL, 6797 visits.add(new Visit(VisitKind.VISIT_INSTANCE_SETTER_DECL,
6013 element: setter, parameters: parameters, body: body)); 6798 element: setter, parameters: parameters, body: body));
6014 applyParameters(parameters, arg); 6799 applyParameters(parameters, arg);
6015 apply(body, arg); 6800 apply(body, arg);
6016 return null;
6017 } 6801 }
6018 6802
6019 @override 6803 @override
6020 visitTopLevelGetterDeclaration( 6804 visitTopLevelGetterDeclaration(
6021 FunctionExpression node, 6805 FunctionExpression node,
6022 MethodElement getter, 6806 MethodElement getter,
6023 Node body, 6807 Node body,
6024 arg) { 6808 arg) {
6025 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_DECL, 6809 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_GETTER_DECL,
6026 element: getter, body: body)); 6810 element: getter, body: body));
6027 apply(body, arg); 6811 apply(body, arg);
6028 return null;
6029 } 6812 }
6030 6813
6031 @override 6814 @override
6032 visitTopLevelSetterDeclaration( 6815 visitTopLevelSetterDeclaration(
6033 FunctionExpression node, 6816 FunctionExpression node,
6034 MethodElement setter, 6817 MethodElement setter,
6035 NodeList parameters, 6818 NodeList parameters,
6036 Node body, 6819 Node body,
6037 arg) { 6820 arg) {
6038 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_DECL, 6821 visits.add(new Visit(VisitKind.VISIT_TOP_LEVEL_SETTER_DECL,
6039 element: setter, parameters: parameters, body: body)); 6822 element: setter, parameters: parameters, body: body));
6040 applyParameters(parameters, arg); 6823 applyParameters(parameters, arg);
6041 apply(body, arg); 6824 apply(body, arg);
6042 return null;
6043 } 6825 }
6044 6826
6045 @override 6827 @override
6046 visitStaticGetterDeclaration( 6828 visitStaticGetterDeclaration(
6047 FunctionExpression node, 6829 FunctionExpression node,
6048 MethodElement getter, 6830 MethodElement getter,
6049 Node body, 6831 Node body,
6050 arg) { 6832 arg) {
6051 visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_DECL, 6833 visits.add(new Visit(VisitKind.VISIT_STATIC_GETTER_DECL,
6052 element: getter, body: body)); 6834 element: getter, body: body));
6053 apply(body, arg); 6835 apply(body, arg);
6054 return null;
6055 } 6836 }
6056 6837
6057 @override 6838 @override
6058 visitStaticSetterDeclaration( 6839 visitStaticSetterDeclaration(
6059 FunctionExpression node, 6840 FunctionExpression node,
6060 MethodElement setter, 6841 MethodElement setter,
6061 NodeList parameters, 6842 NodeList parameters,
6062 Node body, 6843 Node body,
6063 arg) { 6844 arg) {
6064 visits.add(new Visit(VisitKind.VISIT_STATIC_SETTER_DECL, 6845 visits.add(new Visit(VisitKind.VISIT_STATIC_SETTER_DECL,
6065 element: setter, parameters: parameters, body: body)); 6846 element: setter, parameters: parameters, body: body));
6066 applyParameters(parameters, arg); 6847 applyParameters(parameters, arg);
6067 apply(body, arg); 6848 apply(body, arg);
6068 return null;
6069 } 6849 }
6070 6850
6071 @override 6851 @override
6072 visitUnresolvedClassConstructorInvoke( 6852 visitUnresolvedClassConstructorInvoke(
6073 NewExpression node, 6853 NewExpression node,
6074 Element constructor, 6854 Element constructor,
6075 MalformedType type, 6855 MalformedType type,
6076 NodeList arguments, 6856 NodeList arguments,
6077 Selector selector, 6857 Selector selector,
6078 arg) { 6858 arg) {
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
6214 } 6994 }
6215 } 6995 }
6216 6996
6217 enum VisitKind { 6997 enum VisitKind {
6218 VISIT_PARAMETER_GET, 6998 VISIT_PARAMETER_GET,
6219 VISIT_PARAMETER_SET, 6999 VISIT_PARAMETER_SET,
6220 VISIT_PARAMETER_INVOKE, 7000 VISIT_PARAMETER_INVOKE,
6221 VISIT_PARAMETER_COMPOUND, 7001 VISIT_PARAMETER_COMPOUND,
6222 VISIT_PARAMETER_PREFIX, 7002 VISIT_PARAMETER_PREFIX,
6223 VISIT_PARAMETER_POSTFIX, 7003 VISIT_PARAMETER_POSTFIX,
7004 VISIT_FINAL_PARAMETER_COMPOUND,
7005 VISIT_FINAL_PARAMETER_PREFIX,
7006 VISIT_FINAL_PARAMETER_POSTFIX,
6224 7007
6225 VISIT_LOCAL_VARIABLE_GET, 7008 VISIT_LOCAL_VARIABLE_GET,
6226 VISIT_LOCAL_VARIABLE_SET, 7009 VISIT_LOCAL_VARIABLE_SET,
6227 VISIT_LOCAL_VARIABLE_INVOKE, 7010 VISIT_LOCAL_VARIABLE_INVOKE,
6228 VISIT_LOCAL_VARIABLE_COMPOUND, 7011 VISIT_LOCAL_VARIABLE_COMPOUND,
6229 VISIT_LOCAL_VARIABLE_PREFIX, 7012 VISIT_LOCAL_VARIABLE_PREFIX,
6230 VISIT_LOCAL_VARIABLE_POSTFIX, 7013 VISIT_LOCAL_VARIABLE_POSTFIX,
6231 VISIT_LOCAL_VARIABLE_DECL, 7014 VISIT_LOCAL_VARIABLE_DECL,
6232 VISIT_LOCAL_CONSTANT_DECL, 7015 VISIT_LOCAL_CONSTANT_DECL,
7016 VISIT_FINAL_LOCAL_VARIABLE_COMPOUND,
7017 VISIT_FINAL_LOCAL_VARIABLE_PREFIX,
7018 VISIT_FINAL_LOCAL_VARIABLE_POSTFIX,
6233 7019
6234 VISIT_LOCAL_FUNCTION_GET, 7020 VISIT_LOCAL_FUNCTION_GET,
6235 VISIT_LOCAL_FUNCTION_INVOKE, 7021 VISIT_LOCAL_FUNCTION_INVOKE,
6236 VISIT_LOCAL_FUNCTION_DECL, 7022 VISIT_LOCAL_FUNCTION_DECL,
6237 VISIT_CLOSURE_DECL, 7023 VISIT_CLOSURE_DECL,
7024 VISIT_LOCAL_FUNCTION_COMPOUND,
7025 VISIT_LOCAL_FUNCTION_PREFIX,
7026 VISIT_LOCAL_FUNCTION_POSTFIX,
6238 7027
6239 VISIT_STATIC_FIELD_GET, 7028 VISIT_STATIC_FIELD_GET,
6240 VISIT_STATIC_FIELD_SET, 7029 VISIT_STATIC_FIELD_SET,
6241 VISIT_STATIC_FIELD_INVOKE, 7030 VISIT_STATIC_FIELD_INVOKE,
6242 VISIT_STATIC_FIELD_COMPOUND, 7031 VISIT_STATIC_FIELD_COMPOUND,
6243 VISIT_STATIC_FIELD_PREFIX, 7032 VISIT_STATIC_FIELD_PREFIX,
6244 VISIT_STATIC_FIELD_POSTFIX, 7033 VISIT_STATIC_FIELD_POSTFIX,
6245 VISIT_STATIC_FIELD_DECL, 7034 VISIT_STATIC_FIELD_DECL,
6246 VISIT_STATIC_CONSTANT_DECL, 7035 VISIT_STATIC_CONSTANT_DECL,
6247 7036
6248 VISIT_STATIC_GETTER_GET, 7037 VISIT_STATIC_GETTER_GET,
6249 VISIT_STATIC_SETTER_SET, 7038 VISIT_STATIC_SETTER_SET,
6250 VISIT_STATIC_GETTER_INVOKE, 7039 VISIT_STATIC_GETTER_INVOKE,
6251 VISIT_STATIC_GETTER_SETTER_COMPOUND, 7040 VISIT_STATIC_GETTER_SETTER_COMPOUND,
6252 VISIT_STATIC_METHOD_SETTER_COMPOUND, 7041 VISIT_STATIC_METHOD_SETTER_COMPOUND,
6253 VISIT_STATIC_GETTER_SETTER_PREFIX, 7042 VISIT_STATIC_GETTER_SETTER_PREFIX,
6254 VISIT_STATIC_GETTER_SETTER_POSTFIX, 7043 VISIT_STATIC_GETTER_SETTER_POSTFIX,
6255 VISIT_STATIC_GETTER_DECL, 7044 VISIT_STATIC_GETTER_DECL,
6256 VISIT_STATIC_SETTER_DECL, 7045 VISIT_STATIC_SETTER_DECL,
7046 VISIT_STATIC_FINAL_FIELD_COMPOUND,
7047 VISIT_STATIC_FINAL_FIELD_POSTFIX,
7048 VISIT_STATIC_FINAL_FIELD_PREFIX,
6257 7049
6258 VISIT_STATIC_FUNCTION_GET, 7050 VISIT_STATIC_FUNCTION_GET,
6259 VISIT_STATIC_FUNCTION_INVOKE, 7051 VISIT_STATIC_FUNCTION_INVOKE,
6260 VISIT_STATIC_FUNCTION_INCOMPATIBLE_INVOKE, 7052 VISIT_STATIC_FUNCTION_INCOMPATIBLE_INVOKE,
6261 VISIT_STATIC_FUNCTION_DECL, 7053 VISIT_STATIC_FUNCTION_DECL,
7054 VISIT_STATIC_METHOD_SETTER_PREFIX,
7055 VISIT_STATIC_METHOD_SETTER_POSTFIX,
7056
7057 VISIT_UNRESOLVED_STATIC_GETTER_COMPOUND,
7058 VISIT_UNRESOLVED_STATIC_SETTER_COMPOUND,
7059 VISIT_STATIC_METHOD_COMPOUND,
7060 VISIT_UNRESOLVED_STATIC_GETTER_PREFIX,
7061 VISIT_UNRESOLVED_STATIC_SETTER_PREFIX,
7062 VISIT_STATIC_METHOD_PREFIX,
7063 VISIT_UNRESOLVED_STATIC_GETTER_POSTFIX,
7064 VISIT_UNRESOLVED_STATIC_SETTER_POSTFIX,
7065 VISIT_STATIC_METHOD_POSTFIX,
6262 7066
6263 VISIT_TOP_LEVEL_FIELD_GET, 7067 VISIT_TOP_LEVEL_FIELD_GET,
6264 VISIT_TOP_LEVEL_FIELD_SET, 7068 VISIT_TOP_LEVEL_FIELD_SET,
6265 VISIT_TOP_LEVEL_FIELD_INVOKE, 7069 VISIT_TOP_LEVEL_FIELD_INVOKE,
6266 VISIT_TOP_LEVEL_FIELD_COMPOUND, 7070 VISIT_TOP_LEVEL_FIELD_COMPOUND,
6267 VISIT_TOP_LEVEL_FIELD_PREFIX, 7071 VISIT_TOP_LEVEL_FIELD_PREFIX,
6268 VISIT_TOP_LEVEL_FIELD_POSTFIX, 7072 VISIT_TOP_LEVEL_FIELD_POSTFIX,
6269 VISIT_TOP_LEVEL_FIELD_DECL, 7073 VISIT_TOP_LEVEL_FIELD_DECL,
6270 VISIT_TOP_LEVEL_CONSTANT_DECL, 7074 VISIT_TOP_LEVEL_CONSTANT_DECL,
7075 VISIT_TOP_LEVEL_FINAL_FIELD_COMPOUND,
7076 VISIT_TOP_LEVEL_FINAL_FIELD_POSTFIX,
7077 VISIT_TOP_LEVEL_FINAL_FIELD_PREFIX,
6271 7078
6272 VISIT_TOP_LEVEL_GETTER_GET, 7079 VISIT_TOP_LEVEL_GETTER_GET,
6273 VISIT_TOP_LEVEL_SETTER_SET, 7080 VISIT_TOP_LEVEL_SETTER_SET,
6274 VISIT_TOP_LEVEL_GETTER_INVOKE, 7081 VISIT_TOP_LEVEL_GETTER_INVOKE,
6275 VISIT_TOP_LEVEL_GETTER_SETTER_COMPOUND, 7082 VISIT_TOP_LEVEL_GETTER_SETTER_COMPOUND,
6276 VISIT_TOP_LEVEL_GETTER_SETTER_PREFIX, 7083 VISIT_TOP_LEVEL_GETTER_SETTER_PREFIX,
6277 VISIT_TOP_LEVEL_GETTER_SETTER_POSTFIX, 7084 VISIT_TOP_LEVEL_GETTER_SETTER_POSTFIX,
6278 VISIT_TOP_LEVEL_GETTER_DECL, 7085 VISIT_TOP_LEVEL_GETTER_DECL,
6279 VISIT_TOP_LEVEL_SETTER_DECL, 7086 VISIT_TOP_LEVEL_SETTER_DECL,
6280 7087
6281 VISIT_TOP_LEVEL_FUNCTION_GET, 7088 VISIT_TOP_LEVEL_FUNCTION_GET,
6282 VISIT_TOP_LEVEL_FUNCTION_INVOKE, 7089 VISIT_TOP_LEVEL_FUNCTION_INVOKE,
6283 VISIT_TOP_LEVEL_FUNCTION_INCOMPATIBLE_INVOKE, 7090 VISIT_TOP_LEVEL_FUNCTION_INCOMPATIBLE_INVOKE,
6284 VISIT_TOP_LEVEL_FUNCTION_DECL, 7091 VISIT_TOP_LEVEL_FUNCTION_DECL,
7092 VISIT_TOP_LEVEL_METHOD_SETTER_COMPOUND,
7093 VISIT_TOP_LEVEL_METHOD_SETTER_PREFIX,
7094 VISIT_TOP_LEVEL_METHOD_SETTER_POSTFIX,
7095
7096 VISIT_UNRESOLVED_TOP_LEVEL_GETTER_COMPOUND,
7097 VISIT_UNRESOLVED_TOP_LEVEL_SETTER_COMPOUND,
7098 VISIT_TOP_LEVEL_METHOD_COMPOUND,
7099 VISIT_UNRESOLVED_TOP_LEVEL_GETTER_PREFIX,
7100 VISIT_UNRESOLVED_TOP_LEVEL_SETTER_PREFIX,
7101 VISIT_TOP_LEVEL_METHOD_PREFIX,
7102 VISIT_UNRESOLVED_TOP_LEVEL_GETTER_POSTFIX,
7103 VISIT_UNRESOLVED_TOP_LEVEL_SETTER_POSTFIX,
7104 VISIT_TOP_LEVEL_METHOD_POSTFIX,
6285 7105
6286 VISIT_DYNAMIC_PROPERTY_GET, 7106 VISIT_DYNAMIC_PROPERTY_GET,
6287 VISIT_DYNAMIC_PROPERTY_SET, 7107 VISIT_DYNAMIC_PROPERTY_SET,
6288 VISIT_DYNAMIC_PROPERTY_INVOKE, 7108 VISIT_DYNAMIC_PROPERTY_INVOKE,
6289 VISIT_DYNAMIC_PROPERTY_COMPOUND, 7109 VISIT_DYNAMIC_PROPERTY_COMPOUND,
6290 VISIT_DYNAMIC_PROPERTY_PREFIX, 7110 VISIT_DYNAMIC_PROPERTY_PREFIX,
6291 VISIT_DYNAMIC_PROPERTY_POSTFIX, 7111 VISIT_DYNAMIC_PROPERTY_POSTFIX,
6292 7112
6293 VISIT_THIS_GET, 7113 VISIT_THIS_GET,
6294 VISIT_THIS_INVOKE, 7114 VISIT_THIS_INVOKE,
6295 7115
6296 VISIT_THIS_PROPERTY_GET, 7116 VISIT_THIS_PROPERTY_GET,
6297 VISIT_THIS_PROPERTY_SET, 7117 VISIT_THIS_PROPERTY_SET,
6298 VISIT_THIS_PROPERTY_INVOKE, 7118 VISIT_THIS_PROPERTY_INVOKE,
6299 VISIT_THIS_PROPERTY_COMPOUND, 7119 VISIT_THIS_PROPERTY_COMPOUND,
6300 VISIT_THIS_PROPERTY_PREFIX, 7120 VISIT_THIS_PROPERTY_PREFIX,
6301 VISIT_THIS_PROPERTY_POSTFIX, 7121 VISIT_THIS_PROPERTY_POSTFIX,
6302 7122
6303 VISIT_SUPER_FIELD_GET, 7123 VISIT_SUPER_FIELD_GET,
6304 VISIT_SUPER_FIELD_SET, 7124 VISIT_SUPER_FIELD_SET,
6305 VISIT_SUPER_FIELD_INVOKE, 7125 VISIT_SUPER_FIELD_INVOKE,
6306 VISIT_SUPER_FIELD_COMPOUND, 7126 VISIT_SUPER_FIELD_COMPOUND,
6307 VISIT_SUPER_FIELD_PREFIX, 7127 VISIT_SUPER_FIELD_PREFIX,
6308 VISIT_SUPER_FIELD_POSTFIX, 7128 VISIT_SUPER_FIELD_POSTFIX,
7129 VISIT_SUPER_FINAL_FIELD_COMPOUND,
7130 VISIT_SUPER_FINAL_FIELD_PREFIX,
7131 VISIT_SUPER_FINAL_FIELD_POSTFIX,
7132 VISIT_SUPER_FIELD_FIELD_COMPOUND,
7133 VISIT_SUPER_FIELD_FIELD_PREFIX,
7134 VISIT_SUPER_FIELD_FIELD_POSTFIX,
6309 7135
6310 VISIT_SUPER_GETTER_GET, 7136 VISIT_SUPER_GETTER_GET,
6311 VISIT_SUPER_SETTER_SET, 7137 VISIT_SUPER_SETTER_SET,
6312 VISIT_SUPER_GETTER_INVOKE, 7138 VISIT_SUPER_GETTER_INVOKE,
6313 VISIT_SUPER_GETTER_SETTER_COMPOUND, 7139 VISIT_SUPER_GETTER_SETTER_COMPOUND,
6314 VISIT_SUPER_GETTER_FIELD_COMPOUND, 7140 VISIT_SUPER_GETTER_FIELD_COMPOUND,
6315 VISIT_SUPER_FIELD_SETTER_COMPOUND, 7141 VISIT_SUPER_FIELD_SETTER_COMPOUND,
6316 VISIT_SUPER_GETTER_SETTER_PREFIX, 7142 VISIT_SUPER_GETTER_SETTER_PREFIX,
6317 VISIT_SUPER_GETTER_FIELD_PREFIX, 7143 VISIT_SUPER_GETTER_FIELD_PREFIX,
6318 VISIT_SUPER_FIELD_SETTER_PREFIX, 7144 VISIT_SUPER_FIELD_SETTER_PREFIX,
6319 VISIT_SUPER_GETTER_SETTER_POSTFIX, 7145 VISIT_SUPER_GETTER_SETTER_POSTFIX,
6320 VISIT_SUPER_GETTER_FIELD_POSTFIX, 7146 VISIT_SUPER_GETTER_FIELD_POSTFIX,
6321 VISIT_SUPER_FIELD_SETTER_POSTFIX, 7147 VISIT_SUPER_FIELD_SETTER_POSTFIX,
6322 7148
6323 VISIT_SUPER_METHOD_GET, 7149 VISIT_SUPER_METHOD_GET,
6324 VISIT_SUPER_METHOD_INVOKE, 7150 VISIT_SUPER_METHOD_INVOKE,
6325 VISIT_SUPER_METHOD_INCOMPATIBLE_INVOKE, 7151 VISIT_SUPER_METHOD_INCOMPATIBLE_INVOKE,
7152 VISIT_SUPER_METHOD_SETTER_COMPOUND,
7153 VISIT_SUPER_METHOD_SETTER_PREFIX,
7154 VISIT_SUPER_METHOD_SETTER_POSTFIX,
7155 VISIT_SUPER_METHOD_COMPOUND,
7156 VISIT_SUPER_METHOD_PREFIX,
7157 VISIT_SUPER_METHOD_POSTFIX,
6326 7158
6327 VISIT_UNRESOLVED_GET, 7159 VISIT_UNRESOLVED_GET,
6328 VISIT_UNRESOLVED_INVOKE, 7160 VISIT_UNRESOLVED_INVOKE,
6329 VISIT_UNRESOLVED_SUPER_GET, 7161 VISIT_UNRESOLVED_SUPER_GET,
6330 VISIT_UNRESOLVED_SUPER_INVOKE, 7162 VISIT_UNRESOLVED_SUPER_INVOKE,
6331 7163
6332 VISIT_BINARY, 7164 VISIT_BINARY,
6333 VISIT_INDEX, 7165 VISIT_INDEX,
6334 VISIT_EQUALS, 7166 VISIT_EQUALS,
6335 VISIT_NOT_EQUALS, 7167 VISIT_NOT_EQUALS,
6336 VISIT_INDEX_PREFIX, 7168 VISIT_INDEX_PREFIX,
6337 VISIT_INDEX_POSTFIX, 7169 VISIT_INDEX_POSTFIX,
6338 7170
6339 VISIT_SUPER_BINARY, 7171 VISIT_SUPER_BINARY,
6340 VISIT_UNRESOLVED_SUPER_BINARY, 7172 VISIT_UNRESOLVED_SUPER_BINARY,
6341 VISIT_SUPER_INDEX, 7173 VISIT_SUPER_INDEX,
6342 VISIT_UNRESOLVED_SUPER_INDEX, 7174 VISIT_UNRESOLVED_SUPER_INDEX,
6343 VISIT_SUPER_EQUALS, 7175 VISIT_SUPER_EQUALS,
6344 VISIT_SUPER_NOT_EQUALS, 7176 VISIT_SUPER_NOT_EQUALS,
6345 VISIT_SUPER_INDEX_PREFIX, 7177 VISIT_SUPER_INDEX_PREFIX,
7178 VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND,
7179 VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND,
7180 VISIT_UNRESOLVED_SUPER_GETTER_PREFIX,
7181 VISIT_UNRESOLVED_SUPER_SETTER_PREFIX,
6346 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX, 7182 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_PREFIX,
6347 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_PREFIX, 7183 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_PREFIX,
6348 VISIT_SUPER_INDEX_POSTFIX, 7184 VISIT_SUPER_INDEX_POSTFIX,
7185 VISIT_UNRESOLVED_SUPER_GETTER_POSTFIX,
7186 VISIT_UNRESOLVED_SUPER_SETTER_POSTFIX,
6349 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX, 7187 VISIT_UNRESOLVED_SUPER_GETTER_INDEX_POSTFIX,
6350 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX, 7188 VISIT_UNRESOLVED_SUPER_SETTER_INDEX_POSTFIX,
6351 7189
7190 VISIT_UNRESOLVED_SUPER_COMPOUND,
7191 VISIT_UNRESOLVED_SUPER_PREFIX,
7192 VISIT_UNRESOLVED_SUPER_POSTFIX,
7193
6352 VISIT_UNARY, 7194 VISIT_UNARY,
6353 VISIT_SUPER_UNARY, 7195 VISIT_SUPER_UNARY,
6354 VISIT_UNRESOLVED_SUPER_UNARY, 7196 VISIT_UNRESOLVED_SUPER_UNARY,
6355 VISIT_NOT, 7197 VISIT_NOT,
6356 7198
6357 VISIT_EXPRESSION_INVOKE, 7199 VISIT_EXPRESSION_INVOKE,
6358 7200
6359 VISIT_CLASS_TYPE_LITERAL_GET, 7201 VISIT_CLASS_TYPE_LITERAL_GET,
6360 VISIT_CLASS_TYPE_LITERAL_SET, 7202 VISIT_CLASS_TYPE_LITERAL_SET,
6361 VISIT_CLASS_TYPE_LITERAL_INVOKE, 7203 VISIT_CLASS_TYPE_LITERAL_INVOKE,
6362 VISIT_CLASS_TYPE_LITERAL_BINARY, 7204 VISIT_CLASS_TYPE_LITERAL_COMPOUND,
6363 ERROR_CLASS_TYPE_LITERAL_COMPOUND, 7205 VISIT_CLASS_TYPE_LITERAL_PREFIX,
6364 ERROR_CLASS_TYPE_LITERAL_PREFIX, 7206 VISIT_CLASS_TYPE_LITERAL_POSTFIX,
6365 ERROR_CLASS_TYPE_LITERAL_POSTFIX,
6366 7207
6367 VISIT_TYPEDEF_TYPE_LITERAL_GET, 7208 VISIT_TYPEDEF_TYPE_LITERAL_GET,
6368 VISIT_TYPEDEF_TYPE_LITERAL_SET, 7209 VISIT_TYPEDEF_TYPE_LITERAL_SET,
6369 VISIT_TYPEDEF_TYPE_LITERAL_INVOKE, 7210 VISIT_TYPEDEF_TYPE_LITERAL_INVOKE,
6370 VISIT_TYPEDEF_TYPE_LITERAL_BINARY, 7211 VISIT_TYPEDEF_TYPE_LITERAL_COMPOUND,
6371 ERROR_TYPEDEF_TYPE_LITERAL_COMPOUND, 7212 VISIT_TYPEDEF_TYPE_LITERAL_PREFIX,
6372 ERROR_TYPEDEF_TYPE_LITERAL_PREFIX, 7213 VISIT_TYPEDEF_TYPE_LITERAL_POSTFIX,
6373 ERROR_TYPEDEF_TYPE_LITERAL_POSTFIX,
6374 7214
6375 VISIT_TYPE_VARIABLE_TYPE_LITERAL_GET, 7215 VISIT_TYPE_VARIABLE_TYPE_LITERAL_GET,
6376 VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET, 7216 VISIT_TYPE_VARIABLE_TYPE_LITERAL_SET,
6377 VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE, 7217 VISIT_TYPE_VARIABLE_TYPE_LITERAL_INVOKE,
6378 VISIT_TYPE_VARIABLE_TYPE_LITERAL_BINARY, 7218 VISIT_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND,
6379 ERROR_TYPE_VARIABLE_TYPE_LITERAL_COMPOUND, 7219 VISIT_TYPE_VARIABLE_TYPE_LITERAL_PREFIX,
6380 ERROR_TYPE_VARIABLE_TYPE_LITERAL_PREFIX, 7220 VISIT_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
6381 ERROR_TYPE_VARIABLE_TYPE_LITERAL_POSTFIX,
6382 7221
6383 VISIT_DYNAMIC_TYPE_LITERAL_GET, 7222 VISIT_DYNAMIC_TYPE_LITERAL_GET,
6384 VISIT_DYNAMIC_TYPE_LITERAL_SET, 7223 VISIT_DYNAMIC_TYPE_LITERAL_SET,
6385 VISIT_DYNAMIC_TYPE_LITERAL_INVOKE, 7224 VISIT_DYNAMIC_TYPE_LITERAL_INVOKE,
6386 VISIT_DYNAMIC_TYPE_LITERAL_BINARY, 7225 VISIT_DYNAMIC_TYPE_LITERAL_COMPOUND,
6387 ERROR_DYNAMIC_TYPE_LITERAL_COMPOUND, 7226 VISIT_DYNAMIC_TYPE_LITERAL_PREFIX,
6388 ERROR_DYNAMIC_TYPE_LITERAL_PREFIX, 7227 VISIT_DYNAMIC_TYPE_LITERAL_POSTFIX,
6389 ERROR_DYNAMIC_TYPE_LITERAL_POSTFIX,
6390 7228
6391 VISIT_INDEX_SET, 7229 VISIT_INDEX_SET,
6392 VISIT_COMPOUND_INDEX_SET, 7230 VISIT_COMPOUND_INDEX_SET,
6393 VISIT_SUPER_INDEX_SET, 7231 VISIT_SUPER_INDEX_SET,
6394 VISIT_UNRESOLVED_SUPER_INDEX_SET, 7232 VISIT_UNRESOLVED_SUPER_INDEX_SET,
6395 VISIT_SUPER_COMPOUND_INDEX_SET, 7233 VISIT_SUPER_COMPOUND_INDEX_SET,
6396 VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET, 7234 VISIT_UNRESOLVED_SUPER_GETTER_COMPOUND_INDEX_SET,
6397 VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND_INDEX_SET, 7235 VISIT_UNRESOLVED_SUPER_SETTER_COMPOUND_INDEX_SET,
6398 7236
6399 VISIT_ASSERT, 7237 VISIT_ASSERT,
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
6431 VISIT_FACTORY_CONSTRUCTOR_DECL, 7269 VISIT_FACTORY_CONSTRUCTOR_DECL,
6432 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL, 7270 VISIT_REDIRECTING_FACTORY_CONSTRUCTOR_DECL,
6433 7271
6434 VISIT_REQUIRED_PARAMETER_DECL, 7272 VISIT_REQUIRED_PARAMETER_DECL,
6435 VISIT_OPTIONAL_PARAMETER_DECL, 7273 VISIT_OPTIONAL_PARAMETER_DECL,
6436 VISIT_NAMED_PARAMETER_DECL, 7274 VISIT_NAMED_PARAMETER_DECL,
6437 VISIT_REQUIRED_INITIALIZING_FORMAL_DECL, 7275 VISIT_REQUIRED_INITIALIZING_FORMAL_DECL,
6438 VISIT_OPTIONAL_INITIALIZING_FORMAL_DECL, 7276 VISIT_OPTIONAL_INITIALIZING_FORMAL_DECL,
6439 VISIT_NAMED_INITIALIZING_FORMAL_DECL, 7277 VISIT_NAMED_INITIALIZING_FORMAL_DECL,
6440 7278
6441 ERROR_UNRESOLVED_POSTFIX, 7279 VISIT_UNRESOLVED_COMPOUND,
7280 VISIT_UNRESOLVED_PREFIX,
7281 VISIT_UNRESOLVED_POSTFIX,
6442 7282
6443 // TODO(johnniwinther): Add tests for more error cases. 7283 // TODO(johnniwinther): Add tests for more error cases.
6444 } 7284 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698