| Index: pkg/compiler/lib/src/resolution/members.dart
|
| diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart
|
| index 0f1da5a453f3b9d1bc53c2195905165f4a9dc493..eeefd28cf273bcf647da5b7380ab19a90ec9fe7b 100644
|
| --- a/pkg/compiler/lib/src/resolution/members.dart
|
| +++ b/pkg/compiler/lib/src/resolution/members.dart
|
| @@ -413,7 +413,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| TypeResult visitTypeAnnotation(TypeAnnotation node) {
|
| DartType type = resolveTypeAnnotation(node);
|
| if (inCheckContext) {
|
| - registry.registerIsCheck(type);
|
| + registry.registerCheckedModeCheck(type);
|
| }
|
| return new TypeResult(type);
|
| }
|
| @@ -499,7 +499,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| });
|
| if (inCheckContext) {
|
| functionParameters.forEachParameter((ParameterElement element) {
|
| - registry.registerIsCheck(element.type);
|
| + registry.registerCheckedModeCheck(element.type);
|
| });
|
| }
|
| }
|
| @@ -1189,7 +1189,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
|
|
| Node typeNode = node.arguments.head;
|
| DartType type = resolveTypeAnnotation(typeNode);
|
| - registry.registerAsCheck(type);
|
| + registry.registerAsCast(type);
|
| registry.registerSendStructure(node, new AsStructure(type));
|
| return const NoneResult();
|
| }
|
| @@ -1951,7 +1951,6 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| } else {
|
| semantics = new StaticAccess.typeParameterTypeLiteral(element);
|
| }
|
| - registry.registerTypeVariableExpression(element);
|
|
|
| registry.useElement(node, element);
|
| registry.registerTypeLiteral(node, element.type);
|
| @@ -2004,14 +2003,10 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| MessageKind.ASSIGNING_TYPE, const {});
|
| }
|
|
|
| - if (node.isComplex) {
|
| - // We read the type variable before trying write to it.
|
| - registry.registerTypeVariableExpression(element);
|
| - }
|
| -
|
| // TODO(23998): Remove this when all information goes through
|
| // the [SendStructure].
|
| registry.useElement(node, error);
|
| + // TODO(johnniwinther): Register only on read?
|
| registry.registerTypeLiteral(node, element.type);
|
| registry.registerThrowNoSuchMethod();
|
| semantics = new StaticAccess.typeParameterTypeLiteral(element);
|
| @@ -4007,7 +4002,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| this, node, malformedIsError: malformedIsError,
|
| deferredIsMalformed: deferredIsMalformed);
|
| if (inCheckContext) {
|
| - registry.registerIsCheck(type);
|
| + registry.registerCheckedModeCheck(type);
|
| registry.registerRequiredType(type, enclosingElement);
|
| }
|
| return type;
|
| @@ -4047,8 +4042,11 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| } else {
|
| listType = coreTypes.listType();
|
| }
|
| - registry.setType(node, listType);
|
| - registry.registerInstantiatedType(listType);
|
| + registry.registerLiteralList(
|
| + node,
|
| + listType,
|
| + isConstant: node.isConst,
|
| + isEmpty: node.elements.isEmpty);
|
| registry.registerRequiredType(listType, enclosingElement);
|
| if (node.isConst) {
|
| List<ConstantExpression> constantExpressions = <ConstantExpression>[];
|
| @@ -4368,7 +4366,11 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
|
| MessageKind.TYPE_VARIABLE_IN_CONSTANT);
|
| isValidAsConstant = false;
|
| }
|
| - registry.registerMapLiteral(node, mapType, node.isConst);
|
| + registry.registerMapLiteral(
|
| + node,
|
| + mapType,
|
| + isConstant: node.isConst,
|
| + isEmpty: node.entries.isEmpty);
|
| registry.registerRequiredType(mapType, enclosingElement);
|
| if (node.isConst) {
|
|
|
|
|