Index: pkg/kernel/lib/transformations/argument_extraction_for_redirecting.dart |
diff --git a/pkg/kernel/lib/transformations/argument_extraction_for_redirecting.dart b/pkg/kernel/lib/transformations/argument_extraction_for_redirecting.dart |
deleted file mode 100644 |
index 39cb7e230c674bcf61d301fdfeb58642214170bd..0000000000000000000000000000000000000000 |
--- a/pkg/kernel/lib/transformations/argument_extraction_for_redirecting.dart |
+++ /dev/null |
@@ -1,66 +0,0 @@ |
-// Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file |
-// for details. All rights reserved. Use of this source code is governed by a |
-// BSD-style license that can be found in the LICENSE file. |
- |
-library kernel.transformations.argument_extraction_for_redirecting; |
- |
-import '../ast.dart' |
- show |
- Program, |
- Constructor, |
- RedirectingInitializer, |
- Library, |
- LocalInitializer, |
- VariableDeclaration, |
- VariableGet, |
- Expression, |
- NamedExpression; |
-import '../core_types.dart' show CoreTypes; |
-import '../visitor.dart' show Transformer; |
- |
-Program transformProgram(CoreTypes coreTypes, Program program) { |
- new ArgumentExtractionForRedirecting().visitProgram(program); |
- return program; |
-} |
- |
-void transformLibraries(CoreTypes coreTypes, List<Library> libraries) { |
- var transformer = new ArgumentExtractionForRedirecting(); |
- for (var library in libraries) { |
- transformer.visitLibrary(library); |
- } |
-} |
- |
-class ArgumentExtractionForRedirecting extends Transformer { |
- visitConstructor(Constructor node) { |
- if (node.initializers.length == 1 && |
- node.initializers[0] is RedirectingInitializer) { |
- int index = 0; |
- RedirectingInitializer redirectingInitializer = node.initializers[0]; |
- List<Expression> positionalArguments = |
- redirectingInitializer.arguments.positional; |
- List<NamedExpression> namedArguments = |
- redirectingInitializer.arguments.named; |
- for (int i = 0; i < positionalArguments.length; i++) { |
- Expression argument = positionalArguments[i]; |
- VariableDeclaration extractedArgument = |
- new VariableDeclaration("extracted#$index", initializer: argument); |
- LocalInitializer initializer = new LocalInitializer(extractedArgument) |
- ..parent = node; |
- node.initializers.insert(index++, initializer); |
- positionalArguments[i] = new VariableGet(extractedArgument) |
- ..parent = redirectingInitializer.arguments; |
- } |
- for (int i = 0; i < namedArguments.length; i++) { |
- Expression argument = namedArguments[i].value; |
- VariableDeclaration extractedArgument = |
- new VariableDeclaration("extracted#$index", initializer: argument); |
- LocalInitializer initializer = new LocalInitializer(extractedArgument) |
- ..parent = node; |
- node.initializers.insert(index++, initializer); |
- namedArguments[i].value = new VariableGet(extractedArgument) |
- ..parent = redirectingInitializer.arguments; |
- } |
- } |
- return super.visitConstructor(node); |
- } |
-} |