Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(184)

Unified Diff: pkg/compiler/lib/src/resolution/members.dart

Issue 2466353002: Revert "More functionality in kernel_impact." and "Compute NativeBehavior for foreign functions." (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/compiler/lib/src/resolution/enum_creator.dart ('k') | pkg/compiler/lib/src/resolution/registry.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 c009b7a6fefa6a02c3bdcc38e246a253ccc9d55b..86465be722e11a3ce3460b1ccc53dc890a6471ac 100644
--- a/pkg/compiler/lib/src/resolution/members.dart
+++ b/pkg/compiler/lib/src/resolution/members.dart
@@ -456,9 +456,14 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
resolver.constantCompiler.compileConstant(parameter);
});
});
- registry.registerCheckedModeCheck(functionSignature.returnType);
+ if (!functionSignature.returnType.isDynamic) {
+ registry.registerTypeUse(
+ new TypeUse.checkedModeCheck(functionSignature.returnType));
+ }
functionSignature.forEachParameter((ParameterElement element) {
- registry.registerCheckedModeCheck(element.type);
+ if (!element.type.isDynamic) {
+ registry.registerTypeUse(new TypeUse.checkedModeCheck(element.type));
+ }
});
}
@@ -2350,8 +2355,6 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
if (result.kind == ResultKind.PREFIX) {
return handlePrefixSend(node, name, result);
} else if (node.isConditional) {
- registry.registerConstantLiteral(new NullConstantExpression());
- registry.registerDynamicUse(new DynamicUse(Selectors.equals, null));
return handleDynamicAccessSemantics(
node, name, new DynamicAccess.ifNotNullProperty(name));
} else {
@@ -2385,8 +2388,6 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
if (result.kind == ResultKind.PREFIX) {
return handlePrefixSendSet(node, name, result);
} else if (node.isConditional) {
- registry.registerConstantLiteral(new NullConstantExpression());
- registry.registerDynamicUse(new DynamicUse(Selectors.equals, null));
return handleDynamicUpdateSemantics(
node, name, null, new DynamicAccess.ifNotNullProperty(name));
} else {
@@ -4079,8 +4080,8 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
DartType type = typeResolver.resolveTypeAnnotation(this, node,
malformedIsError: malformedIsError,
deferredIsMalformed: deferredIsMalformed);
- if (registerCheckedModeCheck) {
- registry.registerCheckedModeCheck(type);
+ if (registerCheckedModeCheck && !type.isDynamic) {
+ registry.registerTypeUse(new TypeUse.checkedModeCheck(type));
}
return type;
}
@@ -4606,11 +4607,10 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
}
if (cases.isNotEmpty && switchCase.statements.isNotEmpty) {
Node last = switchCase.statements.last;
- if (last.asReturn() == null &&
- last.asBreakStatement() == null &&
+ if (last.asBreakStatement() == null &&
last.asContinueStatement() == null &&
- (last.asExpressionStatement() == null ||
- last.asExpressionStatement().expression.asThrow() == null)) {
+ last.asThrow() == null &&
+ last.asReturn() == null) {
registry.registerFeature(Feature.FALL_THROUGH_ERROR);
}
}
« no previous file with comments | « pkg/compiler/lib/src/resolution/enum_creator.dart ('k') | pkg/compiler/lib/src/resolution/registry.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698