| 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 "package:expect/expect.dart"; | 5 import "package:expect/expect.dart"; |
| 6 import 'dart:async'; | 6 import 'dart:async'; |
| 7 import "package:async_helper/async_helper.dart"; | 7 import "package:async_helper/async_helper.dart"; |
| 8 import 'dart:collection'; | 8 import 'dart:collection'; |
| 9 | 9 |
| 10 import "package:compiler/src/resolution/resolution.dart"; | 10 import "package:compiler/src/resolution/resolution.dart"; |
| (...skipping 802 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 813 MockCompiler.create((MockCompiler compiler) { | 813 MockCompiler.create((MockCompiler compiler) { |
| 814 compiler.parseScript("""enum Enum {} | 814 compiler.parseScript("""enum Enum {} |
| 815 main() { Enum e; }"""); | 815 main() { Enum e; }"""); |
| 816 FunctionElement mainElement = compiler.mainApp.find(MAIN); | 816 FunctionElement mainElement = compiler.mainApp.find(MAIN); |
| 817 compiler.resolver.resolve(mainElement); | 817 compiler.resolver.resolve(mainElement); |
| 818 Expect.equals(0, compiler.warnings.length, | 818 Expect.equals(0, compiler.warnings.length, |
| 819 'Unexpected warnings: ${compiler.warnings}'); | 819 'Unexpected warnings: ${compiler.warnings}'); |
| 820 Expect.equals(0, compiler.errors.length, | 820 Expect.equals(0, compiler.errors.length, |
| 821 'Unexpected errors: ${compiler.errors}'); | 821 'Unexpected errors: ${compiler.errors}'); |
| 822 }, enableEnums: true), | 822 }, enableEnums: true), |
| 823 |
| 823 MockCompiler.create((MockCompiler compiler) { | 824 MockCompiler.create((MockCompiler compiler) { |
| 824 compiler.parseScript("""enum Enum {} | 825 compiler.parseScript("""enum Enum {} |
| 825 main() { Enum e = Enum.A; }"""); | 826 main() { Enum e = Enum.A; }"""); |
| 826 FunctionElement mainElement = compiler.mainApp.find(MAIN); | 827 FunctionElement mainElement = compiler.mainApp.find(MAIN); |
| 827 compiler.resolver.resolve(mainElement); | 828 compiler.resolver.resolve(mainElement); |
| 828 Expect.equals(1, compiler.warnings.length, | 829 Expect.equals(1, compiler.warnings.length, |
| 829 'Unexpected warnings: ${compiler.warnings}'); | 830 'Unexpected warnings: ${compiler.warnings}'); |
| 830 Expect.equals(MessageKind.MEMBER_NOT_FOUND, | 831 Expect.equals(MessageKind.MEMBER_NOT_FOUND, |
| 831 compiler.warnings[0].message.kind); | 832 compiler.warnings[0].message.kind); |
| 832 Expect.equals(0, compiler.errors.length, | 833 Expect.equals(0, compiler.errors.length, |
| 833 'Unexpected errors: ${compiler.errors}'); | 834 'Unexpected errors: ${compiler.errors}'); |
| 834 }, enableEnums: true), | 835 }, enableEnums: true), |
| 836 |
| 835 MockCompiler.create((MockCompiler compiler) { | 837 MockCompiler.create((MockCompiler compiler) { |
| 836 compiler.parseScript("""enum Enum { A } | 838 compiler.parseScript("""enum Enum { A } |
| 837 main() { Enum e = Enum.A; }"""); | 839 main() { Enum e = Enum.A; }"""); |
| 838 FunctionElement mainElement = compiler.mainApp.find(MAIN); | 840 FunctionElement mainElement = compiler.mainApp.find(MAIN); |
| 839 compiler.resolver.resolve(mainElement); | 841 compiler.resolver.resolve(mainElement); |
| 840 Expect.equals(0, compiler.warnings.length, | 842 Expect.equals(0, compiler.warnings.length, |
| 841 'Unexpected warnings: ${compiler.warnings}'); | 843 'Unexpected warnings: ${compiler.warnings}'); |
| 842 Expect.equals(0, compiler.errors.length, | 844 Expect.equals(0, compiler.errors.length, |
| 843 'Unexpected errors: ${compiler.errors}'); | 845 'Unexpected errors: ${compiler.errors}'); |
| 844 }, enableEnums: true), | 846 }, enableEnums: true), |
| 847 |
| 845 MockCompiler.create((MockCompiler compiler) { | 848 MockCompiler.create((MockCompiler compiler) { |
| 846 compiler.parseScript("""enum Enum { A } | 849 compiler.parseScript("""enum Enum { A } |
| 847 main() { Enum e = Enum.B; }"""); | 850 main() { Enum e = Enum.B; }"""); |
| 848 FunctionElement mainElement = compiler.mainApp.find(MAIN); | 851 FunctionElement mainElement = compiler.mainApp.find(MAIN); |
| 849 compiler.resolver.resolve(mainElement); | 852 compiler.resolver.resolve(mainElement); |
| 850 Expect.equals(1, compiler.warnings.length, | 853 Expect.equals(1, compiler.warnings.length, |
| 851 'Unexpected warnings: ${compiler.warnings}'); | 854 'Unexpected warnings: ${compiler.warnings}'); |
| 852 Expect.equals(MessageKind.MEMBER_NOT_FOUND, | 855 Expect.equals(MessageKind.MEMBER_NOT_FOUND, |
| 853 compiler.warnings[0].message.kind); | 856 compiler.warnings[0].message.kind); |
| 854 Expect.equals(0, compiler.errors.length, | 857 Expect.equals(0, compiler.errors.length, |
| 855 'Unexpected errors: ${compiler.errors}'); | 858 'Unexpected errors: ${compiler.errors}'); |
| 856 }, enableEnums: true), | 859 }, enableEnums: true), |
| 860 |
| 857 MockCompiler.create((MockCompiler compiler) { | 861 MockCompiler.create((MockCompiler compiler) { |
| 858 compiler.parseScript("""enum Enum { A } | 862 compiler.parseScript("""enum Enum { A } |
| 859 main() { List values = Enum.values; }"""); | 863 main() { List values = Enum.values; }"""); |
| 860 FunctionElement mainElement = compiler.mainApp.find(MAIN); | 864 FunctionElement mainElement = compiler.mainApp.find(MAIN); |
| 861 compiler.resolver.resolve(mainElement); | 865 compiler.resolver.resolve(mainElement); |
| 862 Expect.equals(0, compiler.warnings.length, | 866 Expect.equals(0, compiler.warnings.length, |
| 863 'Unexpected warnings: ${compiler.warnings}'); | 867 'Unexpected warnings: ${compiler.warnings}'); |
| 864 Expect.equals(0, compiler.errors.length, | 868 Expect.equals(0, compiler.errors.length, |
| 865 'Unexpected errors: ${compiler.errors}'); | 869 'Unexpected errors: ${compiler.errors}'); |
| 866 }, enableEnums: true), | 870 }, enableEnums: true), |
| 871 |
| 872 MockCompiler.create((MockCompiler compiler) { |
| 873 compiler.parseScript("""enum Enum {} |
| 874 main() { new Enum(0, ''); }"""); |
| 875 FunctionElement mainElement = compiler.mainApp.find(MAIN); |
| 876 compiler.resolver.resolve(mainElement); |
| 877 Expect.equals(0, compiler.warnings.length, |
| 878 'Unexpected warnings: ${compiler.warnings}'); |
| 879 Expect.equals(1, compiler.errors.length, |
| 880 'Unexpected errors: ${compiler.errors}'); |
| 881 Expect.equals(MessageKind.CANNOT_INSTANTIATE_ENUM, |
| 882 compiler.errors[0].message.kind); |
| 883 }, enableEnums: true), |
| 884 |
| 885 MockCompiler.create((MockCompiler compiler) { |
| 886 compiler.parseScript("""enum Enum {} |
| 887 main() { const Enum(0, ''); }"""); |
| 888 FunctionElement mainElement = compiler.mainApp.find(MAIN); |
| 889 compiler.resolver.resolve(mainElement); |
| 890 Expect.equals(0, compiler.warnings.length, |
| 891 'Unexpected warnings: ${compiler.warnings}'); |
| 892 Expect.equals(1, compiler.errors.length, |
| 893 'Unexpected errors: ${compiler.errors}'); |
| 894 Expect.equals(MessageKind.CANNOT_INSTANTIATE_ENUM, |
| 895 compiler.errors[0].message.kind); |
| 896 }, enableEnums: true), |
| 867 ]); | 897 ]); |
| 868 } | 898 } |
| 869 | 899 |
| 870 Future testInitializers() { | 900 Future testInitializers() { |
| 871 return Future.forEach([ | 901 return Future.forEach([ |
| 872 () { | 902 () { |
| 873 String script = | 903 String script = |
| 874 """class A { | 904 """class A { |
| 875 int foo; int bar; | 905 int foo; int bar; |
| 876 A() : this.foo = 1, bar = 2; | 906 A() : this.foo = 1, bar = 2; |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1125 }"""; | 1155 }"""; |
| 1126 asyncTest(() => compileScript(script2).then((compiler) { | 1156 asyncTest(() => compileScript(script2).then((compiler) { |
| 1127 expect(compiler, | 1157 expect(compiler, |
| 1128 [MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS], | 1158 [MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS], |
| 1129 [MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_CONSTRUCTOR, | 1159 [MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_CONSTRUCTOR, |
| 1130 MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_CONSTRUCTOR, | 1160 MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_CONSTRUCTOR, |
| 1131 MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_FIELD, | 1161 MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_FIELD, |
| 1132 MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_FIELD]); | 1162 MessageKind.CONST_CONSTRUCTOR_WITH_NONFINAL_FIELDS_FIELD]); |
| 1133 })); | 1163 })); |
| 1134 } | 1164 } |
| OLD | NEW |