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

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

Issue 1182053010: Revert "Split TypedSelector into Selector and TypeMask." (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 months 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/js_emitter/program_builder.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 5e5bf539312d8f6531e3ce998525d105ba7e5716..a647bdda9f96d64ca6314101ee0af41a5937327a 100644
--- a/pkg/compiler/lib/src/resolution/members.dart
+++ b/pkg/compiler/lib/src/resolution/members.dart
@@ -574,8 +574,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
// We still need to register the invocation, because we might
// call [:super.noSuchMethod:] which calls
// [JSInvocationMirror._invokeOn].
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
registry.registerSuperNoSuchMethod();
}
} else if (Elements.isUnresolved(resolvedReceiver.element)) {
@@ -950,7 +949,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
}
// We still need to register the invocation, because we might
// call [:super.noSuchMethod:] which calls [JSInvocationMirror._invokeOn].
- registry.registerDynamicInvocation(new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
registry.registerSuperNoSuchMethod();
}
return computeSuperAccessSemantics(node, target);
@@ -1078,7 +1077,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
} else {
ResolutionResult expressionResult = visitExpression(expression);
semantics = new DynamicAccess.dynamicProperty(expression);
- registry.registerDynamicInvocation(new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
if (expressionResult.isConstant) {
bool isValidConstant;
@@ -1253,7 +1252,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
} else {
ResolutionResult leftResult = visitExpression(left);
ResolutionResult rightResult = visitExpression(right);
- registry.registerDynamicInvocation(new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
semantics = new DynamicAccess.dynamicProperty(left);
if (leftResult.isConstant && rightResult.isConstant) {
@@ -1385,7 +1384,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
// TODO(johnniwinther): Remove this when all information goes through the
// [SendStructure].
registry.setSelector(node, selector);
- registry.registerDynamicInvocation(new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
registry.registerSendStructure(node,
new InvokeStructure(new AccessSemantics.expression(), selector));
return const NoneResult();
@@ -1435,8 +1434,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
// TODO(johnniwinther): Handle invalid this access as an
// [AccessSemantics].
if (checkThisAccess(node)) {
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
registry.registerSendStructure(node,
new InvokeStructure(accessSemantics, selector));
}
@@ -1472,8 +1470,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
superMethod.computeSignature(compiler);
if (!callStructure.signatureApplies(superMethod)) {
registry.registerThrowNoSuchMethod();
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
registry.registerSuperNoSuchMethod();
isIncompatibleInvoke = true;
} else {
@@ -1485,8 +1482,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case AccessKind.SUPER_GETTER:
registry.registerStaticUse(semantics.element);
selector = callStructure.callSelector;
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
break;
case AccessKind.SUPER_SETTER:
case AccessKind.UNRESOLVED_SUPER:
@@ -1712,15 +1708,13 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
if (node.isCall) {
CallStructure callStructure = resolveArguments(node.argumentsNode);
selector = new Selector(SelectorKind.CALL, name, callStructure);
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
sendStructure = new InvokeStructure(semantics, selector);
} else {
assert(invariant(node, node.isPropertyAccess));
selector = new Selector(
SelectorKind.GETTER, name, CallStructure.NO_ARGS);
- registry.registerDynamicGetter(
- new UniverseSelector(selector, null));
+ registry.registerDynamicGetter(selector);
sendStructure = new GetStructure(semantics, selector);
}
registry.registerSendStructure(node, sendStructure);
@@ -1804,15 +1798,13 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
if (node.isCall) {
CallStructure callStructure = resolveArguments(node.argumentsNode);
selector = new Selector(SelectorKind.CALL, name, callStructure);
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
sendStructure = new InvokeStructure(accessSemantics, selector);
} else {
assert(invariant(node, node.isPropertyAccess));
selector = new Selector(
SelectorKind.GETTER, name, CallStructure.NO_ARGS);
- registry.registerDynamicGetter(
- new UniverseSelector(selector, null));
+ registry.registerDynamicGetter(selector);
sendStructure = new GetStructure(accessSemantics, selector);
}
// TODO(johnniwinther): Remove this when all information goes through
@@ -1880,8 +1872,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
function.computeSignature(compiler);
if (!callStructure.signatureApplies(function)) {
registry.registerThrowNoSuchMethod();
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
isIncompatibleInvoke = true;
}
break;
@@ -1890,8 +1881,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case AccessKind.LOCAL_VARIABLE:
case AccessKind.FINAL_LOCAL_VARIABLE:
selector = callStructure.callSelector;
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
break;
default:
internalError(node,
@@ -1956,8 +1946,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
method.computeSignature(compiler);
if (!callStructure.signatureApplies(method)) {
registry.registerThrowNoSuchMethod();
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
isIncompatibleInvoke = true;
} else {
registry.registerStaticUse(semantics.element);
@@ -1972,8 +1961,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
case AccessKind.TOPLEVEL_GETTER:
registry.registerStaticUse(semantics.element);
selector = callStructure.callSelector;
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
break;
case AccessKind.STATIC_SETTER:
case AccessKind.TOPLEVEL_SETTER:
@@ -2196,8 +2184,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
// we need to register that fact that we may be calling a closure
// with the same arguments.
Selector call = new Selector.callClosureFrom(selector);
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(call);
} else if (target.impliesType) {
// We call 'call()' on a Type instance returned from the reference to a
// class or typedef literal. We do not need to register this call as a
@@ -2372,8 +2359,7 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
// the ++ and -- ones. Also, if op= form is used, include op itself.
void registerBinaryOperator(String name) {
Selector binop = new Selector.binaryOperator(name);
- registry.registerDynamicInvocation(
- new UniverseSelector(binop, null));
+ registry.registerDynamicInvocation(binop);
registry.setOperatorSelectorInComplexSendSet(node, binop);
}
if (identical(source, '++')) {
@@ -2394,14 +2380,11 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
void registerSend(Selector selector, Element target) {
if (target == null || target.isInstanceMember) {
if (selector.isGetter) {
- registry.registerDynamicGetter(
- new UniverseSelector(selector, null));
+ registry.registerDynamicGetter(selector);
} else if (selector.isSetter) {
- registry.registerDynamicSetter(
- new UniverseSelector(selector, null));
+ registry.registerDynamicSetter(selector);
} else {
- registry.registerDynamicInvocation(
- new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
}
} else if (Elements.isStaticOrTopLevel(target)) {
// Avoid registration of type variables since they are not analyzable but
@@ -3028,17 +3011,15 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
registerImplicitInvocation(String name, int arity) {
Selector selector = new Selector.call(name, null, arity);
- registry.registerDynamicInvocation(new UniverseSelector(selector, null));
+ registry.registerDynamicInvocation(selector);
}
ResolutionResult visitAsyncForIn(AsyncForIn node) {
registry.registerAsyncForIn(node);
registry.setCurrentSelector(node, compiler.currentSelector);
- registry.registerDynamicGetter(
- new UniverseSelector(compiler.currentSelector, null));
+ registry.registerDynamicGetter(compiler.currentSelector);
registry.setMoveNextSelector(node, compiler.moveNextSelector);
- registry.registerDynamicInvocation(
- new UniverseSelector(compiler.moveNextSelector, null));
+ registry.registerDynamicInvocation(compiler.moveNextSelector);
visit(node.expression);
@@ -3051,14 +3032,11 @@ class ResolverVisitor extends MappingVisitor<ResolutionResult> {
ResolutionResult visitSyncForIn(SyncForIn node) {
registry.registerSyncForIn(node);
registry.setIteratorSelector(node, compiler.iteratorSelector);
- registry.registerDynamicGetter(
- new UniverseSelector(compiler.iteratorSelector, null));
+ registry.registerDynamicGetter(compiler.iteratorSelector);
registry.setCurrentSelector(node, compiler.currentSelector);
- registry.registerDynamicGetter(
- new UniverseSelector(compiler.currentSelector, null));
+ registry.registerDynamicGetter(compiler.currentSelector);
registry.setMoveNextSelector(node, compiler.moveNextSelector);
- registry.registerDynamicInvocation(
- new UniverseSelector(compiler.moveNextSelector, null));
+ registry.registerDynamicInvocation(compiler.moveNextSelector);
visit(node.expression);
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/program_builder.dart ('k') | pkg/compiler/lib/src/resolution/registry.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698