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

Unified Diff: tests/compiler/dart2js/kernel/impact_test.dart

Issue 2329403003: More features handled in kernel impact. (Closed)
Patch Set: Fix analyze_test_test. Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/compiler/dart2js/analyze_test_test.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/compiler/dart2js/kernel/impact_test.dart
diff --git a/tests/compiler/dart2js/kernel/impact_test.dart b/tests/compiler/dart2js/kernel/impact_test.dart
index f184f21ff577846804794dfc156bfc2cd442be44..2621782c06573fe116eee4c20bd33fef445d8f4e 100644
--- a/tests/compiler/dart2js/kernel/impact_test.dart
+++ b/tests/compiler/dart2js/kernel/impact_test.dart
@@ -39,12 +39,25 @@ main() {
testNonEmptyMapLiteral();
testNot();
testUnaryMinus();
+ testConditional();
+ testPostInc(null);
+ testPostDec(null);
+ testPreInc(null);
+ testPreDec(null);
testIfThen();
testIfThenElse();
testTopLevelInvoke();
testTopLevelInvokeTyped();
testTopLevelField();
testTopLevelFieldTyped();
+ testDynamicInvoke(null);
+ testDynamicGet(null);
+ testDynamicSet(null);
+ testLocalWithInitializer();
+ testInvokeIndex(null);
+ testInvokeIndexSet(null);
+ testAssert();
+ testAssertWithMessage();
}
testEmpty() {}
@@ -67,6 +80,11 @@ testEmptyMapLiteralConstant() => const {};
testNonEmptyMapLiteral() => {0: true};
testNot() => !false;
testUnaryMinus() => -1;
+testConditional() => true ? 1 : '';
+testPostInc(o) => o++;
+testPostDec(o) => o--;
+testPreInc(o) => ++o;
+testPreDec(o) => --o;
testIfThen() {
if (false) return 42;
return 1;
@@ -112,6 +130,30 @@ var topLevelField;
testTopLevelField() => topLevelField;
int topLevelFieldTyped;
testTopLevelFieldTyped() => topLevelFieldTyped;
+testDynamicInvoke(o) {
+ o.f1(0);
+ o.f2(1);
+ o.f3(2, 3);
+ o.f4(4, 5, 6);
+ o.f5(7);
+ o.f6(8, b: 9);
+ o.f7(10, c: 11);
+ o.f8(12, b: 13, c: 14);
+ o.f9(15, c: 16, b: 17);
+}
+testDynamicGet(o) => o.foo;
+testDynamicSet(o) => o.foo = 42;
+testLocalWithInitializer() {
+ var l = 42;
+}
+testInvokeIndex(o) => o[42];
+testInvokeIndexSet(o) => o[42] = null;
+testAssert() {
+ assert(true);
+}
+testAssertWithMessage() {
+ assert(true, 'ok');
+}
'''
};
@@ -122,11 +164,21 @@ main(List<String> args) {
Compiler compiler = compilerFor(
entryPoint: entryPoint,
memorySourceFiles: SOURCE,
- options: [Flags.analyzeOnly, Flags.useKernel]);
+ options:
+ [Flags.analyzeAll, Flags.useKernel, Flags.enableAssertMessage]);
compiler.resolution.retainCachesForTesting = true;
await compiler.run(entryPoint);
- compiler.mainApp
- .forEachLocalMember((element) => checkElement(compiler, element));
+ checkLibrary(compiler, compiler.mainApp);
+ });
+}
+
+void checkLibrary(Compiler compiler, LibraryElement library) {
+ library.forEachLocalMember((AstElement element) {
+ if (element.isClass) {
+ // TODO(johnniwinther): Handle class members.
+ } else {
+ checkElement(compiler, element);
+ }
});
}
« no previous file with comments | « tests/compiler/dart2js/analyze_test_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698