Skip to content

Commit

Permalink
Tests for AstRewriteVisitor.
Browse files Browse the repository at this point in the history
[email protected]

Change-Id: I811b2722cb78572bfabdf1fe4dd2c766f128736e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112604
Commit-Queue: Konstantin Shcheglov <[email protected]>
Reviewed-by: Brian Wilkerson <[email protected]>
  • Loading branch information
scheglov authored and [email protected] committed Aug 9, 2019
1 parent 8af17ed commit a244295
Show file tree
Hide file tree
Showing 5 changed files with 404 additions and 13 deletions.
10 changes: 2 additions & 8 deletions pkg/analyzer/lib/src/dart/resolver/ast_rewrite.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
// BSD-style license that can be found in the LICENSE file.

import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/ast_factory.dart';
import 'package:analyzer/dart/ast/standard_ast_factory.dart';
import 'package:analyzer/dart/ast/token.dart';
import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';
import 'package:analyzer/error/listener.dart';
import 'package:analyzer/src/dart/ast/ast_factory.dart';
import 'package:analyzer/src/dart/ast/token.dart';
import 'package:analyzer/src/dart/ast/utilities.dart';
import 'package:analyzer/src/dart/element/type.dart';
Expand Down Expand Up @@ -56,7 +55,6 @@ class AstRewriteVisitor extends ScopedVisitor {
}
Element element = nameScope.lookup(methodName, definingLibrary);
if (element is ClassElement) {
AstFactory astFactory = new AstFactoryImpl();
TypeName typeName = astFactory.typeName(methodName, node.typeArguments);
ConstructorName constructorName =
astFactory.constructorName(typeName, null, null);
Expand All @@ -65,7 +63,6 @@ class AstRewriteVisitor extends ScopedVisitor {
_getKeyword(node), constructorName, node.argumentList);
NodeReplacer.replace(node, instanceCreationExpression);
} else if (element is ExtensionElement) {
AstFactory astFactory = new AstFactoryImpl();
ExtensionOverride extensionOverride = astFactory.extensionOverride(
extensionName: methodName,
typeArguments: node.typeArguments,
Expand All @@ -91,10 +88,10 @@ class AstRewriteVisitor extends ScopedVisitor {
typeArguments,
[element.name, constructorElement.name]);
}
AstFactory astFactory = new AstFactoryImpl();
TypeName typeName = astFactory.typeName(target, null);
ConstructorName constructorName =
astFactory.constructorName(typeName, node.operator, methodName);
// TODO(scheglov) I think we should drop "typeArguments" below.
InstanceCreationExpression instanceCreationExpression =
astFactory.instanceCreationExpression(
_getKeyword(node), constructorName, node.argumentList,
Expand All @@ -103,7 +100,6 @@ class AstRewriteVisitor extends ScopedVisitor {
}
} else if (element is PrefixElement) {
// Possible cases: p.C() or p.C<>()
AstFactory astFactory = new AstFactoryImpl();
Identifier identifier = astFactory.prefixedIdentifier(
astFactory.simpleIdentifier(target.token),
null,
Expand All @@ -120,7 +116,6 @@ class AstRewriteVisitor extends ScopedVisitor {
_getKeyword(node), constructorName, node.argumentList);
NodeReplacer.replace(node, instanceCreationExpression);
} else if (prefixedElement is ExtensionElement) {
AstFactory astFactory = new AstFactoryImpl();
PrefixedIdentifier extensionName =
astFactory.prefixedIdentifier(target, node.operator, methodName);
ExtensionOverride extensionOverride = astFactory.extensionOverride(
Expand All @@ -147,7 +142,6 @@ class AstRewriteVisitor extends ScopedVisitor {
typeArguments,
[element.name, constructorElement.name]);
}
AstFactory astFactory = new AstFactoryImpl();
TypeName typeName = astFactory.typeName(target, typeArguments);
ConstructorName constructorName =
astFactory.constructorName(typeName, node.operator, methodName);
Expand Down
Loading

0 comments on commit a244295

Please sign in to comment.