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

Unified Diff: pkg/kernel/test/baseline_strong_mode_test.dart

Issue 2645733004: Run tree shaking in strong-mode baseline tests. (Closed)
Patch Set: Created 3 years, 11 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 | « no previous file | pkg/kernel/testcases/input/unused_methods.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/kernel/test/baseline_strong_mode_test.dart
diff --git a/pkg/kernel/test/baseline_strong_mode_test.dart b/pkg/kernel/test/baseline_strong_mode_test.dart
index a252bff1e8a565a3ea11b459486150018b884ef0..00ffcf0650d0489f65a9727e72cda524f6099d3b 100644
--- a/pkg/kernel/test/baseline_strong_mode_test.dart
+++ b/pkg/kernel/test/baseline_strong_mode_test.dart
@@ -7,6 +7,7 @@ import 'package:kernel/kernel.dart';
import 'package:kernel/transformations/insert_covariance_checks.dart';
import 'package:kernel/transformations/insert_type_checks.dart';
import 'package:kernel/transformations/mixin_full_resolution.dart';
+import 'package:kernel/transformations/treeshaker.dart';
import 'package:kernel/type_checker.dart';
import 'package:path/path.dart' as pathlib;
@@ -31,6 +32,8 @@ class StrongModeTest extends TestTarget {
new TestTypeChecker(
errors, new CoreTypes(program), new ClassHierarchy(program))
.checkProgram(program);
+ new TreeShaker(program, strongMode: true).transform(program);
+ program.accept(new TreeShakerCheck());
return errors;
}
}
@@ -62,6 +65,16 @@ class TestTypeChecker extends TypeChecker {
}
}
+class TreeShakerCheck extends RecursiveVisitor {
+ visitStringLiteral(StringLiteral node) {
+ if (node.value.toLowerCase() == 'unused') {
+ throw 'Code not tree-shaken at ${node.location}.\n'
+ 'The string literal $node is used to indicate that the code is '
+ 'expected to be removed by strong-mode tree shaking';
+ }
+ }
+}
+
void main() {
runBaselineTests('strong-mode', new StrongModeTest());
}
« no previous file with comments | « no previous file | pkg/kernel/testcases/input/unused_methods.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698