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) { |