mirror of
https://github.com/dart-lang/sdk
synced 2024-10-03 09:10:10 +00:00
Remove CompileMode
Change-Id: I7622231c3c81152236d671324fa58816c540d5b4 Reviewed-on: https://dart-review.googlesource.com/53941 Reviewed-by: Sigmund Cherem <sigmund@google.com>
This commit is contained in:
parent
27ae11e4d8
commit
8e885f4393
|
@ -89,17 +89,17 @@ main() {
|
|||
// { a: true, }. Make sure this doesn't happen again.
|
||||
RegExp danglingComma = new RegExp(r',[ \n]*}');
|
||||
|
||||
Future runTests(CompileMode compileMode) async {
|
||||
Future runTests({bool useKernel}) async {
|
||||
for (String test in [TEST_ONE, TEST_TWO, TEST_THREE, TEST_FOUR]) {
|
||||
String generated = await compileAll(test, compileMode: compileMode);
|
||||
String generated = await compileAll(test, useKernel: useKernel);
|
||||
Expect.isFalse(danglingComma.hasMatch(generated));
|
||||
}
|
||||
}
|
||||
|
||||
asyncTest(() async {
|
||||
print('--test from ast---------------------------------------------------');
|
||||
await runTests(CompileMode.memory);
|
||||
await runTests(useKernel: false);
|
||||
print('--test from kernel------------------------------------------------');
|
||||
await runTests(CompileMode.kernel);
|
||||
await runTests(useKernel: true);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -63,45 +63,45 @@ main() {
|
|||
}
|
||||
""";
|
||||
|
||||
twoClasses(CompileMode compileMode) async {
|
||||
String generated = await compileAll(TEST_ONE, compileMode: compileMode);
|
||||
twoClasses({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST_ONE, useKernel: useKernel);
|
||||
Expect.isTrue(generated.contains(new RegExp('A: {[ \n]*"\\^": "Object;"')));
|
||||
Expect.isTrue(generated.contains(new RegExp('B: {[ \n]*"\\^": "Object;"')));
|
||||
}
|
||||
|
||||
subClass(CompileMode compileMode) async {
|
||||
subClass({bool useKernel}) async {
|
||||
checkOutput(String generated) {
|
||||
Expect.isTrue(generated.contains(new RegExp('A: {[ \n]*"\\^": "Object;"')));
|
||||
Expect.isTrue(generated.contains(new RegExp('B: {[ \n]*"\\^": "A;"')));
|
||||
}
|
||||
|
||||
checkOutput(await compileAll(TEST_TWO, compileMode: compileMode));
|
||||
checkOutput(await compileAll(TEST_THREE, compileMode: compileMode));
|
||||
checkOutput(await compileAll(TEST_TWO, useKernel: useKernel));
|
||||
checkOutput(await compileAll(TEST_THREE, useKernel: useKernel));
|
||||
}
|
||||
|
||||
fieldTest(CompileMode compileMode) async {
|
||||
String generated = await compileAll(TEST_FOUR, compileMode: compileMode);
|
||||
fieldTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST_FOUR, useKernel: useKernel);
|
||||
Expect.isTrue(generated
|
||||
.contains(new RegExp('B: {[ \n]*"\\^": "A;y,z,x",[ \n]*static:')));
|
||||
}
|
||||
|
||||
constructor1(CompileMode compileMode) async {
|
||||
String generated = await compileAll(TEST_FIVE, compileMode: compileMode);
|
||||
constructor1({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST_FIVE, useKernel: useKernel);
|
||||
Expect.isTrue(generated.contains(new RegExp(r"new [$A-Z]+\.A\(a\);")));
|
||||
}
|
||||
|
||||
main() {
|
||||
runTests(CompileMode compileMode) async {
|
||||
await twoClasses(compileMode);
|
||||
await subClass(compileMode);
|
||||
await fieldTest(compileMode);
|
||||
await constructor1(compileMode);
|
||||
runTests({bool useKernel}) async {
|
||||
await twoClasses(useKernel: useKernel);
|
||||
await subClass(useKernel: useKernel);
|
||||
await fieldTest(useKernel: useKernel);
|
||||
await constructor1(useKernel: useKernel);
|
||||
}
|
||||
|
||||
asyncTest(() async {
|
||||
print('--test from ast---------------------------------------------------');
|
||||
await runTests(CompileMode.memory);
|
||||
await runTests(useKernel: false);
|
||||
print('--test from kernel------------------------------------------------');
|
||||
await runTests(CompileMode.kernel);
|
||||
await runTests(useKernel: true);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -36,18 +36,18 @@ main() {
|
|||
// we just verify that their members are in the correct order.
|
||||
RegExp regexp = new RegExp(r"foo\$0?:(.|\n)*bar\$0:(.|\n)*gee\$0:");
|
||||
|
||||
runTests(CompileMode compileMode) async {
|
||||
String generated1 = await compileAll(TEST_ONE, compileMode: compileMode);
|
||||
runTests({bool useKernel}) async {
|
||||
String generated1 = await compileAll(TEST_ONE, useKernel: useKernel);
|
||||
Expect.isTrue(regexp.hasMatch(generated1));
|
||||
|
||||
String generated2 = await compileAll(TEST_TWO, compileMode: compileMode);
|
||||
String generated2 = await compileAll(TEST_TWO, useKernel: useKernel);
|
||||
Expect.isTrue(regexp.hasMatch(generated2));
|
||||
}
|
||||
|
||||
asyncTest(() async {
|
||||
print('--test from ast---------------------------------------------------');
|
||||
await runTests(CompileMode.memory);
|
||||
await runTests(useKernel: false);
|
||||
print('--test from kernel------------------------------------------------');
|
||||
await runTests(CompileMode.kernel);
|
||||
await runTests(useKernel: true);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -58,10 +58,9 @@ Future closureInvocation({bool useKernel, bool minify, String prefix}) async {
|
|||
|
||||
// Make sure that the bailout version does not introduce a second version of
|
||||
// the closure.
|
||||
Future closureBailout(CompileMode compileMode,
|
||||
{bool minify, String prefix}) async {
|
||||
Future closureBailout({bool useKernel, bool minify, String prefix}) async {
|
||||
String generated =
|
||||
await compileAll(TEST_BAILOUT, compileMode: compileMode, minify: minify);
|
||||
await compileAll(TEST_BAILOUT, useKernel: useKernel, minify: minify);
|
||||
RegExp regexp = new RegExp("$prefix\\\$0:${minify ? "" : " "}function");
|
||||
Iterator<Match> matches = regexp.allMatches(generated).iterator;
|
||||
checkNumberOfMatches(matches, 1);
|
||||
|
@ -72,10 +71,8 @@ main() {
|
|||
await closureInvocation(
|
||||
useKernel: useKernel, minify: false, prefix: "call");
|
||||
await closureInvocation(useKernel: useKernel, minify: true, prefix: "");
|
||||
CompileMode compileMode =
|
||||
useKernel ? CompileMode.kernel : CompileMode.memory;
|
||||
await closureBailout(compileMode, minify: false, prefix: "call");
|
||||
await closureBailout(compileMode, minify: true, prefix: "");
|
||||
await closureBailout(useKernel: useKernel, minify: false, prefix: "call");
|
||||
await closureBailout(useKernel: useKernel, minify: true, prefix: "");
|
||||
}
|
||||
|
||||
asyncTest(() async {
|
||||
|
|
|
@ -18,8 +18,7 @@ foo(a) {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST, useKernel: useKernel);
|
||||
Expect.isFalse(generated.contains('return 42'), 'dead code not eliminated');
|
||||
}
|
||||
|
||||
|
|
|
@ -39,9 +39,7 @@ main() {
|
|||
|
||||
main() {
|
||||
runTests({bool useKernel}) async {
|
||||
CompileMode compileMode =
|
||||
useKernel ? CompileMode.kernel : CompileMode.memory;
|
||||
String generated1 = await compileAll(TEST1, compileMode: compileMode);
|
||||
String generated1 = await compileAll(TEST1, useKernel: useKernel);
|
||||
// Direct call through field.
|
||||
Expect.isTrue(generated1.contains(r'this._fun.call$1(zzz)'));
|
||||
// No stub.
|
||||
|
@ -49,7 +47,7 @@ main() {
|
|||
// No call to stub.
|
||||
Expect.isFalse(generated1.contains(r'_fun$1('));
|
||||
|
||||
String generated2 = await compileAll(TEST2, compileMode: compileMode);
|
||||
String generated2 = await compileAll(TEST2, useKernel: useKernel);
|
||||
// No call through field.
|
||||
Expect.isFalse(generated2.contains(r'this._fun.call$1(zzz)'));
|
||||
// Call through stub.
|
||||
|
|
|
@ -20,8 +20,7 @@ main() {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST_GUIDE,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST_GUIDE, useKernel: useKernel);
|
||||
Expect.isTrue(generated.contains("42"));
|
||||
Expect.isFalse(generated.contains("TITLE"));
|
||||
}
|
||||
|
|
|
@ -21,13 +21,10 @@ main() { return x; }
|
|||
|
||||
main() {
|
||||
runTests({bool useKernel}) async {
|
||||
CompileMode compileMode =
|
||||
useKernel ? CompileMode.kernel : CompileMode.memory;
|
||||
|
||||
String generated1 = await compileAll(TEST_NULL0, compileMode: compileMode);
|
||||
String generated1 = await compileAll(TEST_NULL0, useKernel: useKernel);
|
||||
Expect.isTrue(generated1.contains("null"));
|
||||
|
||||
String generated2 = await compileAll(TEST_NULL1, compileMode: compileMode);
|
||||
String generated2 = await compileAll(TEST_NULL1, useKernel: useKernel);
|
||||
Expect.isTrue(generated2.contains("null"));
|
||||
}
|
||||
|
||||
|
|
|
@ -91,9 +91,8 @@ main() {
|
|||
|
||||
runTests({bool useKernel}) async {
|
||||
test(String code, Function f) async {
|
||||
String generated = await compileAll(code,
|
||||
disableInlining: true,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated =
|
||||
await compileAll(code, disableInlining: true, useKernel: useKernel);
|
||||
Expect.isTrue(f(generated));
|
||||
}
|
||||
|
||||
|
|
|
@ -41,21 +41,18 @@ main() {
|
|||
|
||||
main() {
|
||||
runTests({bool useKernel}) async {
|
||||
CompileMode compileMode =
|
||||
useKernel ? CompileMode.kernel : CompileMode.memory;
|
||||
|
||||
String generated1 =
|
||||
await compileAll(SHOULD_NOT_BE_BOXED_TEST, compileMode: compileMode);
|
||||
await compileAll(SHOULD_NOT_BE_BOXED_TEST, useKernel: useKernel);
|
||||
Expect.isTrue(generated1.contains('main_closure(i)'),
|
||||
'for-loop variable should not have been boxed');
|
||||
|
||||
String generated2 =
|
||||
await compileAll(SHOULD_BE_BOXED_TEST, compileMode: compileMode);
|
||||
await compileAll(SHOULD_BE_BOXED_TEST, useKernel: useKernel);
|
||||
Expect.isFalse(generated2.contains('main_closure(i)'),
|
||||
'for-loop variable should have been boxed');
|
||||
|
||||
String generated3 =
|
||||
await compileAll(ONLY_UPDATE_LOOP_VAR_TEST, compileMode: compileMode);
|
||||
await compileAll(ONLY_UPDATE_LOOP_VAR_TEST, useKernel: useKernel);
|
||||
Expect.isFalse(generated3.contains('main_closure(i)'),
|
||||
'for-loop variable should have been boxed');
|
||||
Expect.isFalse(generated3.contains(', _box_0.b = 3,'),
|
||||
|
|
|
@ -127,20 +127,17 @@ main() {
|
|||
checkNumberOfMatches(new RegExp("shr").allMatches(generated).iterator, 1);
|
||||
});
|
||||
|
||||
CompileMode compileMode =
|
||||
useKernel ? CompileMode.kernel : CompileMode.memory;
|
||||
|
||||
await compileAll(TEST_FIVE, compileMode: compileMode).then((generated) {
|
||||
await compileAll(TEST_FIVE, useKernel: useKernel).then((generated) {
|
||||
checkNumberOfMatches(
|
||||
new RegExp("get\\\$foo").allMatches(generated).iterator, 1);
|
||||
});
|
||||
await compileAll(TEST_SIX, compileMode: compileMode).then((generated) {
|
||||
await compileAll(TEST_SIX, useKernel: useKernel).then((generated) {
|
||||
Expect.isTrue(generated.contains('for (t1 = a.field === 54; t1;)'));
|
||||
});
|
||||
await compileAll(TEST_SEVEN, compileMode: compileMode).then((generated) {
|
||||
await compileAll(TEST_SEVEN, useKernel: useKernel).then((generated) {
|
||||
Expect.isTrue(generated.contains('for (t1 = a.field === 54; t1;)'));
|
||||
});
|
||||
await compileAll(TEST_EIGHT, compileMode: compileMode).then((generated) {
|
||||
await compileAll(TEST_EIGHT, useKernel: useKernel).then((generated) {
|
||||
Expect.isTrue(generated.contains('for (; i < t1; ++i)'));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -24,8 +24,7 @@ main() {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST1,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST1, useKernel: useKernel);
|
||||
// Check that we're using the index operator on the object returned
|
||||
// by the A factory.
|
||||
Expect.isTrue(generated.contains('[0] = 42'));
|
||||
|
|
|
@ -90,7 +90,7 @@ main() {
|
|||
""";
|
||||
|
||||
checkRangeError(String test, {bool hasRangeError}) async {
|
||||
String generated = await compileAll(test, compileMode: CompileMode.memory);
|
||||
String generated = await compileAll(test, useKernel: false);
|
||||
Expect.equals(
|
||||
hasRangeError,
|
||||
generated.contains('ioore'),
|
||||
|
|
|
@ -69,29 +69,24 @@ main() {
|
|||
}
|
||||
|
||||
main() {
|
||||
asyncTest(() async {
|
||||
String generated1 =
|
||||
await compileAll(TEST1, compileMode: CompileMode.memory);
|
||||
runTests({bool useKernel}) async {
|
||||
bool useKernel = false;
|
||||
String generated1 = await compileAll(TEST1, useKernel: useKernel);
|
||||
Expect.isTrue(generated1.contains('if (typeof t1'));
|
||||
|
||||
String generated2 =
|
||||
await compileAll(TEST2, compileMode: CompileMode.memory);
|
||||
String generated2 = await compileAll(TEST2, useKernel: useKernel);
|
||||
Expect.isTrue(generated2.contains('if (typeof t1'));
|
||||
|
||||
String generated3 =
|
||||
await compileAll(TEST3, compileMode: CompileMode.memory);
|
||||
String generated3 = await compileAll(TEST3, useKernel: useKernel);
|
||||
Expect.isTrue(generated3.contains('if (typeof t1'));
|
||||
|
||||
String generated4 =
|
||||
await compileAll(TEST4, compileMode: CompileMode.memory);
|
||||
String generated4 = await compileAll(TEST4, useKernel: useKernel);
|
||||
Expect.isTrue(generated4.contains('if (typeof t1'));
|
||||
|
||||
String generated5 =
|
||||
await compileAll(TEST5, compileMode: CompileMode.memory);
|
||||
String generated5 = await compileAll(TEST5, useKernel: useKernel);
|
||||
Expect.isFalse(generated5.contains('iae'));
|
||||
|
||||
String generated6 =
|
||||
await compileAll(TEST6, compileMode: CompileMode.memory);
|
||||
String generated6 = await compileAll(TEST6, useKernel: useKernel);
|
||||
Expect.isFalse(generated6.contains('iae'));
|
||||
|
||||
var memberInvocations = const <String>[
|
||||
|
@ -105,9 +100,7 @@ main() {
|
|||
];
|
||||
for (String member in memberInvocations) {
|
||||
String generated = await compileAll(generateTest('$member'),
|
||||
expectedErrors: 0,
|
||||
expectedWarnings: 0,
|
||||
compileMode: CompileMode.memory);
|
||||
expectedErrors: 0, expectedWarnings: 0, useKernel: useKernel);
|
||||
Expect.isTrue(
|
||||
generated.contains('+ 42'),
|
||||
"Missing '+ 42' code for invocation '$member':\n"
|
||||
|
@ -123,5 +116,12 @@ main() {
|
|||
"Unexpected 'if (t1 == null)' code for invocation '$member':\n"
|
||||
"$generated");*/
|
||||
}
|
||||
}
|
||||
|
||||
asyncTest(() async {
|
||||
print('--test from ast---------------------------------------------------');
|
||||
await runTests(useKernel: false);
|
||||
print('--test from kernel------------------------------------------------');
|
||||
await runTests(useKernel: true);
|
||||
});
|
||||
}
|
||||
|
|
|
@ -236,9 +236,8 @@ void main() {
|
|||
main() {
|
||||
runTests({bool useKernel}) async {
|
||||
test(String code, String expected) async {
|
||||
String generated = await compileAll(code,
|
||||
disableInlining: false,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated =
|
||||
await compileAll(code, disableInlining: false, useKernel: useKernel);
|
||||
Expect.isTrue(
|
||||
generated.contains(expected),
|
||||
"Generated code didn't contain '$expected'.\n"
|
||||
|
|
|
@ -19,8 +19,7 @@ main() {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST, useKernel: useKernel);
|
||||
|
||||
Expect.isTrue(generated
|
||||
.contains(new RegExp('A: {[ \n]*"\\^": "Object;",[ \n]*static:')));
|
||||
|
|
|
@ -23,8 +23,7 @@ main() {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(CODE,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(CODE, useKernel: useKernel);
|
||||
RegExp regexp = new RegExp(r'A\$0: function');
|
||||
Iterator<Match> matches = regexp.allMatches(generated).iterator;
|
||||
checkNumberOfMatches(matches, 1);
|
||||
|
|
|
@ -17,8 +17,7 @@ main() {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(CODE,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(CODE, useKernel: useKernel);
|
||||
RegExp regexp = new RegExp(r'\A: {[ \n]*"\^": "[A-Za-z]+;"');
|
||||
Iterator<Match> matches = regexp.allMatches(generated).iterator;
|
||||
checkNumberOfMatches(matches, 1);
|
||||
|
|
|
@ -30,8 +30,7 @@ baz(a) {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST, useKernel: useKernel);
|
||||
RegExp regexp = new RegExp('foo\\\$1\\\$a: function');
|
||||
Iterator<Match> matches = regexp.allMatches(generated).iterator;
|
||||
checkNumberOfMatches(matches, 1);
|
||||
|
|
|
@ -18,8 +18,7 @@ main() {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST1,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST1, useKernel: useKernel);
|
||||
Expect.isFalse(generated.contains('foo.length'));
|
||||
}
|
||||
|
||||
|
|
|
@ -24,8 +24,7 @@ main() {
|
|||
|
||||
void main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST, useKernel: useKernel);
|
||||
Expect.isTrue(generated.contains('return c + c;'),
|
||||
"Expected generated code to contain 'return c + c;':\n$generated");
|
||||
}
|
||||
|
|
|
@ -51,8 +51,7 @@ main() {
|
|||
|
||||
void main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST, useKernel: useKernel);
|
||||
if (generated.contains(r'=== true')) {
|
||||
print(generated);
|
||||
Expect.fail("missing elision of '=== true'");
|
||||
|
|
|
@ -10,8 +10,8 @@ import '../compiler_helper.dart';
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String code = await compileAll(r'''main() { print(main); }''',
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String code =
|
||||
await compileAll(r'''main() { print(main); }''', useKernel: useKernel);
|
||||
// At some point, we will have to closurize global functions
|
||||
// differently, at which point this test will break. Then it is time
|
||||
// to implement a way to call a Dart closure from JS foreign
|
||||
|
|
|
@ -9,7 +9,7 @@ import '../compiler_helper.dart';
|
|||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String code = await compileAll(r'''main() { return "foo" + "bar"; }''',
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
useKernel: useKernel);
|
||||
Expect.isTrue(!code.contains(r'$add'));
|
||||
}
|
||||
|
||||
|
|
|
@ -8,17 +8,14 @@ import '../compiler_helper.dart';
|
|||
|
||||
main() {
|
||||
runTests({bool useKernel}) async {
|
||||
CompileMode compileMode =
|
||||
useKernel ? CompileMode.kernel : CompileMode.memory;
|
||||
|
||||
String code1 = await compileAll(
|
||||
r'''main() { return "${2}${true}${'a'}${3.14}"; }''',
|
||||
compileMode: compileMode);
|
||||
useKernel: useKernel);
|
||||
Expect.isTrue(code1.contains(r'2truea3.14'));
|
||||
|
||||
String code2 = await compileAll(
|
||||
r'''main() { return "foo ${new Object()}"; }''',
|
||||
compileMode: compileMode);
|
||||
useKernel: useKernel);
|
||||
Expect.isFalse(code2.contains(r'$add'));
|
||||
}
|
||||
|
||||
|
|
|
@ -27,8 +27,7 @@ use(x) {
|
|||
|
||||
main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST_ONE,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST_ONE, useKernel: useKernel);
|
||||
Expect.isFalse(generated.contains('Tarantula!'), "failed to remove 'foo'");
|
||||
Expect.isTrue(generated.contains('Coelacanth!'));
|
||||
}
|
||||
|
|
|
@ -27,8 +27,7 @@ main() {
|
|||
|
||||
void main() {
|
||||
runTest({bool useKernel}) async {
|
||||
String generated = await compileAll(TEST,
|
||||
compileMode: useKernel ? CompileMode.kernel : CompileMode.memory);
|
||||
String generated = await compileAll(TEST, useKernel: useKernel);
|
||||
Expect.isTrue(generated.contains('return 42'));
|
||||
Expect.isTrue(generated.contains('return 54'));
|
||||
Expect.isFalse(generated.contains('return 68'));
|
||||
|
|
|
@ -36,20 +36,17 @@ main() {
|
|||
|
||||
main() {
|
||||
runTests({bool useKernel}) async {
|
||||
CompileMode compileMode =
|
||||
useKernel ? CompileMode.kernel : CompileMode.memory;
|
||||
|
||||
// Test that we know the type of captured, non-mutated variables.
|
||||
String generated1 = await compileAll(TEST1, compileMode: compileMode);
|
||||
String generated1 = await compileAll(TEST1, useKernel: useKernel);
|
||||
Expect.isTrue(generated1.contains('+ 87'));
|
||||
|
||||
// Test that we know the type of captured, mutated variables.
|
||||
String generated2 = await compileAll(TEST2, compileMode: compileMode);
|
||||
String generated2 = await compileAll(TEST2, useKernel: useKernel);
|
||||
Expect.isTrue(generated2.contains('+ 87'));
|
||||
|
||||
// Test that we know when types of a captured, mutated variable
|
||||
// conflict.
|
||||
String generated3 = await compileAll(TEST3, compileMode: compileMode);
|
||||
String generated3 = await compileAll(TEST3, useKernel: useKernel);
|
||||
Expect.isFalse(generated3.contains('+ 87'));
|
||||
}
|
||||
|
||||
|
|
|
@ -39,8 +39,6 @@ import 'memory_compiler.dart';
|
|||
import 'output_collector.dart';
|
||||
export 'output_collector.dart';
|
||||
|
||||
enum CompileMode { memory, kernel }
|
||||
|
||||
/// Compile [code] and returns either the code for [methodName] or, if
|
||||
/// [returnAll] is true, the code for the entire program.
|
||||
///
|
||||
|
@ -112,11 +110,12 @@ Future<String> compileAll(String code,
|
|||
bool minify: false,
|
||||
int expectedErrors,
|
||||
int expectedWarnings,
|
||||
CompileMode compileMode: CompileMode.memory}) async {
|
||||
bool useKernel: false}) async {
|
||||
OutputCollector outputCollector = new OutputCollector();
|
||||
DiagnosticCollector diagnosticCollector = new DiagnosticCollector();
|
||||
if (coreSource != null) {
|
||||
throw new UnsupportedError('coreSource is not supported for $compileMode');
|
||||
throw new UnsupportedError(
|
||||
'coreSource is not supported for useKernel=$useKernel');
|
||||
}
|
||||
List<String> options = <String>[];
|
||||
if (disableInlining) {
|
||||
|
@ -128,8 +127,8 @@ Future<String> compileAll(String code,
|
|||
if (minify) {
|
||||
options.add(Flags.minify);
|
||||
}
|
||||
if (compileMode == CompileMode.kernel) {
|
||||
options.add(Flags.useKernel);
|
||||
if (!useKernel) {
|
||||
options.add(Flags.useOldFrontend);
|
||||
}
|
||||
CompilationResult result = await runCompiler(
|
||||
memorySourceFiles: {'main.dart': code},
|
||||
|
|
Loading…
Reference in a new issue