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

Unified Diff: dart/sdk/lib/_internal/compiler/implementation/universe/universe.dart

Issue 103863004: Revert "Generate tear-off closures dynamically." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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
Index: dart/sdk/lib/_internal/compiler/implementation/universe/universe.dart
diff --git a/dart/sdk/lib/_internal/compiler/implementation/universe/universe.dart b/dart/sdk/lib/_internal/compiler/implementation/universe/universe.dart
index 9475947540f1841c2f17f4f445dc151c1e3b968e..8e9d50615742e89fb4871c53f5868c93c9e61418 100644
--- a/dart/sdk/lib/_internal/compiler/implementation/universe/universe.dart
+++ b/dart/sdk/lib/_internal/compiler/implementation/universe/universe.dart
@@ -186,27 +186,15 @@ class Selector {
factory Selector.fromElement(Element element, Compiler compiler) {
String name = element.name;
if (element.isFunction()) {
+ int arity = element.asFunctionElement().requiredParameterCount(compiler);
if (name == '[]') {
return new Selector.index();
} else if (name == '[]=') {
return new Selector.indexSet();
- }
- FunctionSignature signature =
- element.asFunctionElement().computeSignature(compiler);
- int arity = signature.parameterCount;
- List<String> namedArguments = null;
- if (signature.optionalParametersAreNamed) {
- namedArguments =
- signature.orderedOptionalParameters.map((e) => e.name).toList();
- }
- if (Elements.operatorNameToIdentifier(name) != name) {
- // Operators cannot have named arguments, however, that doesn't prevent
- // a user from declaring such an operator.
- return new Selector(
- SelectorKind.OPERATOR, name, null, arity, namedArguments);
+ } else if (Elements.operatorNameToIdentifier(name) != name) {
+ return new Selector(SelectorKind.OPERATOR, name, null, arity);
} else {
- return new Selector.call(
- name, element.getLibrary(), arity, namedArguments);
+ return new Selector.call(name, element.getLibrary(), arity);
}
} else if (element.isSetter()) {
return new Selector.setter(name, element.getLibrary());
@@ -214,9 +202,6 @@ class Selector {
return new Selector.getter(name, element.getLibrary());
} else if (element.isField()) {
return new Selector.getter(name, element.getLibrary());
- } else {
- throw new SpannableAssertionFailure(
- element, "Can't get selector from $element");
}
}
@@ -605,8 +590,6 @@ class Selector {
Selector extendIfReachesAll(Compiler compiler) {
return new TypedSelector(compiler.typesTask.dynamicType, this);
}
-
- Selector toCallSelector() => new Selector.callClosureFrom(this);
}
class TypedSelector extends Selector {

Powered by Google App Engine
This is Rietveld 408576698