| Index: pkg/compiler/lib/src/ssa/kernel_impact.dart
|
| diff --git a/pkg/compiler/lib/src/ssa/kernel_impact.dart b/pkg/compiler/lib/src/ssa/kernel_impact.dart
|
| index ed0516763a300dba1a5bab37077c4d496bfc0ffb..4149291e819c35b3db4d9ef124976c027a06b6b6 100644
|
| --- a/pkg/compiler/lib/src/ssa/kernel_impact.dart
|
| +++ b/pkg/compiler/lib/src/ssa/kernel_impact.dart
|
| @@ -221,13 +221,12 @@ class KernelImpactBuilder extends ir.Visitor {
|
| void handleNew(ir.InvocationExpression node, ir.Member target) {
|
| _visitArguments(node.arguments);
|
| Element element = astAdapter.getElement(target).declaration;
|
| - impactBuilder.registerStaticUse(new StaticUse.constructorInvoke(
|
| - element, astAdapter.getCallStructure(node.arguments)));
|
| ClassElement cls = astAdapter.getElement(target.enclosingClass);
|
| List<DartType> typeArguments =
|
| astAdapter.getDartTypes(node.arguments.types);
|
| - impactBuilder.registerTypeUse(
|
| - new TypeUse.instantiation(new InterfaceType(cls, typeArguments)));
|
| + InterfaceType type = new InterfaceType(cls, typeArguments);
|
| + impactBuilder.registerStaticUse(new StaticUse.typedConstructorInvoke(
|
| + element, astAdapter.getCallStructure(node.arguments), type));
|
| if (typeArguments.any((DartType type) => !type.isDynamic)) {
|
| impactBuilder.registerFeature(Feature.TYPE_VARIABLE_BOUNDS_CHECK);
|
| }
|
|
|