OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 simple_types_inferrer; | 5 library simple_types_inferrer; |
6 | 6 |
7 import '../closure.dart' show ClosureClassMap, ClosureScope; | 7 import '../closure.dart' show ClosureClassMap, ClosureScope; |
8 import '../constants/values.dart' show ConstantValue, IntConstantValue; | 8 import '../constants/values.dart' show ConstantValue, IntConstantValue; |
9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir show Node; | 9 import '../cps_ir/cps_ir_nodes.dart' as cps_ir show Node; |
10 import '../dart_types.dart' | 10 import '../dart_types.dart' |
(...skipping 1678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1689 T visitTopLevelGetterInvoke( | 1689 T visitTopLevelGetterInvoke( |
1690 ast.Send node, | 1690 ast.Send node, |
1691 FunctionElement getter, | 1691 FunctionElement getter, |
1692 ast.NodeList arguments, | 1692 ast.NodeList arguments, |
1693 CallStructure callStructure, | 1693 CallStructure callStructure, |
1694 _) { | 1694 _) { |
1695 return handleStaticFieldOrGetterInvoke(node, getter); | 1695 return handleStaticFieldOrGetterInvoke(node, getter); |
1696 } | 1696 } |
1697 | 1697 |
1698 @override | 1698 @override |
1699 T visitStaticSetterInvoke( | |
1700 ast.Send node, | |
1701 MethodElement setter, | |
1702 ast.NodeList arguments, | |
1703 CallStructure callStructure, | |
1704 _) { | |
1705 return handleInvalidStaticInvoke(node); | |
1706 } | |
1707 | |
1708 @override | |
1709 T visitTopLevelSetterInvoke( | |
1710 ast.Send node, | |
1711 MethodElement setter, | |
1712 ast.NodeList arguments, | |
1713 CallStructure callStructure, | |
1714 _) { | |
1715 return handleInvalidStaticInvoke(node); | |
1716 } | |
1717 | |
1718 @override | |
1719 T visitUnresolvedInvoke( | 1699 T visitUnresolvedInvoke( |
1720 ast.Send node, | 1700 ast.Send node, |
1721 Element element, | 1701 Element element, |
1722 ast.NodeList arguments, | 1702 ast.NodeList arguments, |
1723 Selector selector, | 1703 Selector selector, |
1724 _) { | 1704 _) { |
1725 return handleInvalidStaticInvoke(node); | 1705 return handleInvalidStaticInvoke(node); |
1726 } | 1706 } |
1727 | 1707 |
1728 T handleForeignSend(ast.Send node, Element element) { | 1708 T handleForeignSend(ast.Send node, Element element) { |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1884 | 1864 |
1885 @override | 1865 @override |
1886 T visitTopLevelGetterGet( | 1866 T visitTopLevelGetterGet( |
1887 ast.Send node, | 1867 ast.Send node, |
1888 FunctionElement getter, | 1868 FunctionElement getter, |
1889 _) { | 1869 _) { |
1890 return handleStaticGetterGet(node, getter); | 1870 return handleStaticGetterGet(node, getter); |
1891 } | 1871 } |
1892 | 1872 |
1893 @override | 1873 @override |
1894 T visitStaticSetterGet( | |
1895 ast.Send node, | |
1896 MethodElement setter, | |
1897 _) { | |
1898 return types.dynamicType; | |
1899 } | |
1900 | |
1901 @override | |
1902 T visitTopLevelSetterGet( | |
1903 ast.Send node, | |
1904 MethodElement setter, | |
1905 _) { | |
1906 return types.dynamicType; | |
1907 } | |
1908 | |
1909 @override | |
1910 T visitUnresolvedGet( | 1874 T visitUnresolvedGet( |
1911 ast.Send node, | 1875 ast.Send node, |
1912 Element element, | 1876 Element element, |
1913 _) { | 1877 _) { |
1914 return types.dynamicType; | 1878 return types.dynamicType; |
1915 } | 1879 } |
1916 | 1880 |
1917 /// Handle .call invocation on [closure]. | 1881 /// Handle .call invocation on [closure]. |
1918 T handleCallInvoke(ast.Send node, T closure) { | 1882 T handleCallInvoke(ast.Send node, T closure) { |
1919 ArgumentsTypes arguments = analyzeArguments(node.arguments); | 1883 ArgumentsTypes arguments = analyzeArguments(node.arguments); |
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2195 Selector currentSelector = elements.getCurrentSelector(node); | 2159 Selector currentSelector = elements.getCurrentSelector(node); |
2196 Selector moveNextSelector = elements.getMoveNextSelector(node); | 2160 Selector moveNextSelector = elements.getMoveNextSelector(node); |
2197 | 2161 |
2198 T iteratorType = handleDynamicSend(node, iteratorSelector, expressionType, | 2162 T iteratorType = handleDynamicSend(node, iteratorSelector, expressionType, |
2199 new ArgumentsTypes<T>.empty()); | 2163 new ArgumentsTypes<T>.empty()); |
2200 | 2164 |
2201 return handleForInLoop(node, iteratorType, currentSelector, | 2165 return handleForInLoop(node, iteratorType, currentSelector, |
2202 moveNextSelector); | 2166 moveNextSelector); |
2203 } | 2167 } |
2204 } | 2168 } |
OLD | NEW |