| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'dart:async'; | 5 import 'dart:async'; |
| 6 import "package:expect/expect.dart"; | 6 import "package:expect/expect.dart"; |
| 7 import "package:async_helper/async_helper.dart"; | 7 import "package:async_helper/async_helper.dart"; |
| 8 import '../../../sdk/lib/_internal/compiler/implementation/source_file.dart'; | 8 import '../../../sdk/lib/_internal/compiler/implementation/source_file.dart'; |
| 9 import '../../../sdk/lib/_internal/compiler/implementation/types/types.dart'; | 9 import '../../../sdk/lib/_internal/compiler/implementation/types/types.dart'; |
| 10 import '../../../sdk/lib/_internal/compiler/implementation/inferrer/concrete_typ
es_inferrer.dart'; | 10 import '../../../sdk/lib/_internal/compiler/implementation/inferrer/concrete_typ
es_inferrer.dart'; |
| 11 | 11 |
| 12 import "parser_helper.dart"; | 12 import "parser_helper.dart"; |
| 13 import "compiler_helper.dart"; | 13 import "compiler_helper.dart"; |
| 14 import "type_mask_test_helper.dart"; |
| 14 import 'dart:mirrors'; | 15 import 'dart:mirrors'; |
| 15 | 16 |
| 16 /** | 17 /** |
| 17 * Finds the node corresponding to the last occurence of the substring | 18 * Finds the node corresponding to the last occurence of the substring |
| 18 * [: identifier; :] in the program represented by the visited AST. | 19 * [: identifier; :] in the program represented by the visited AST. |
| 19 */ | 20 */ |
| 20 class VariableFinderVisitor extends Visitor { | 21 class VariableFinderVisitor extends Visitor { |
| 21 final String identifier; | 22 final String identifier; |
| 22 Node result; | 23 Node result; |
| 23 | 24 |
| (...skipping 1540 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1564 } | 1565 } |
| 1565 | 1566 |
| 1566 Expect.equals(convert(singleton(a).union(singleton(b))), | 1567 Expect.equals(convert(singleton(a).union(singleton(b))), |
| 1567 new TypeMask.nonNullSubclass(a)); | 1568 new TypeMask.nonNullSubclass(a)); |
| 1568 | 1569 |
| 1569 Expect.equals( | 1570 Expect.equals( |
| 1570 convert(singleton(a).union(singleton(b)).union(nullSingleton)), | 1571 convert(singleton(a).union(singleton(b)).union(nullSingleton)), |
| 1571 new TypeMask.subclass(a)); | 1572 new TypeMask.subclass(a)); |
| 1572 | 1573 |
| 1573 Expect.equals( | 1574 Expect.equals( |
| 1574 convert(singleton(b).union(singleton(d))).simplify(result.compiler), | 1575 simplify(convert(singleton(b).union(singleton(d))), result.compiler), |
| 1575 new TypeMask.nonNullSubtype(a)); | 1576 new TypeMask.nonNullSubtype(a)); |
| 1576 }); | 1577 }); |
| 1577 } | 1578 } |
| 1578 | 1579 |
| 1579 testSelectors() { | 1580 testSelectors() { |
| 1580 final String source = r""" | 1581 final String source = r""" |
| 1581 // ABC <--- A | 1582 // ABC <--- A |
| 1582 // `- BC <--- B | 1583 // `- BC <--- B |
| 1583 // `- C | 1584 // `- C |
| 1584 | 1585 |
| (...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2097 testClosures10, | 2098 testClosures10, |
| 2098 testClosures11, | 2099 testClosures11, |
| 2099 testClosures12, | 2100 testClosures12, |
| 2100 testRefinement, | 2101 testRefinement, |
| 2101 testDefaultArguments, | 2102 testDefaultArguments, |
| 2102 testSuperConstructorCall, | 2103 testSuperConstructorCall, |
| 2103 testSuperConstructorCall2, | 2104 testSuperConstructorCall2, |
| 2104 testSuperConstructorCall3, | 2105 testSuperConstructorCall3, |
| 2105 ], (f) => f())); | 2106 ], (f) => f())); |
| 2106 } | 2107 } |
| OLD | NEW |