| Index: sdk/lib/_internal/compiler/implementation/dart_backend/placeholder_collector.dart
|
| diff --git a/sdk/lib/_internal/compiler/implementation/dart_backend/placeholder_collector.dart b/sdk/lib/_internal/compiler/implementation/dart_backend/placeholder_collector.dart
|
| index 93262f8a178fce7b3124af69a839a76a986a2954..24859f4358a7b7a3c3f0cdab8da7715518357a2c 100644
|
| --- a/sdk/lib/_internal/compiler/implementation/dart_backend/placeholder_collector.dart
|
| +++ b/sdk/lib/_internal/compiler/implementation/dart_backend/placeholder_collector.dart
|
| @@ -365,8 +365,14 @@ class PlaceholderCollector extends Visitor {
|
| Element constructor = treeElements[send];
|
| assert(constructor != null);
|
| assert(send.receiver == null);
|
| - if (!Elements.isErroneousElement(constructor) &&
|
| - !Elements.isMalformedElement(constructor)) {
|
| +
|
| + // For constructors that refer to malformed class types retrieve
|
| + // class type like it is done in [ SsaBuilder.visitNewSend ].
|
| + if (type.kind == TypeKind.MALFORMED_TYPE) {
|
| + type = constructor.getEnclosingClass().thisType;
|
| + }
|
| +
|
| + if (!Elements.isUnresolved(constructor)) {
|
| makeConstructorPlaceholder(node.send.selector, constructor, type);
|
| // TODO(smok): Should this be in visitNamedArgument?
|
| // Field names can be exposed as names of optional arguments, e.g.
|
|
|