| 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());
|
| }
|
|
|