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

Unified Diff: lib/compiler/implementation/lib/js_helper.dart

Issue 11336011: Revert "Change signature of noSuchMethod to take an InvocationMirror." (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 2 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 | « lib/compiler/implementation/lib/core_patch.dart ('k') | lib/compiler/implementation/ssa/codegen.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: lib/compiler/implementation/lib/js_helper.dart
diff --git a/lib/compiler/implementation/lib/js_helper.dart b/lib/compiler/implementation/lib/js_helper.dart
index 8b575ed07e4b0ff7195d91c770a73c605a743681..5aa6b43cb12a249e1b7d7cc13386c077afe46d3c 100644
--- a/lib/compiler/implementation/lib/js_helper.dart
+++ b/lib/compiler/implementation/lib/js_helper.dart
@@ -353,63 +353,6 @@ class ListIterator<T> implements Iterator<T> {
}
}
-createInvocationMirror(name, internalName, type, arguments, argumentNames) =>
- new JSInvocationMirror(name, internalName, type, arguments, argumentNames);
-
-class JSInvocationMirror implements InvocationMirror {
- static const METHOD = 0;
- static const GETTER = 1;
- static const SETTER = 2;
-
- final String memberName;
- final String _internalName;
- final int _kind;
- final List _arguments;
- final List _namedArgumentNames;
- /** Map from argument name to index in _arguments. */
- Map<String,dynamic> _namedIndices = null;
-
- JSInvocationMirror(this.memberName,
- this._internalName,
- this._kind,
- this._arguments,
- this._namedArgumentNames);
-
- bool get isMethod => _kind == METHOD;
- bool get isGetter => _kind == GETTER;
- bool get isSetter => _kind == SETTER;
- bool get isAccessor => _kind != METHOD;
-
- List get positionalArguments {
- if (isGetter) return null;
- var list = [];
- var argumentCount =
- _arguments.length - _namedArgumentNames.length;
- for (var index = 0 ; index < argumentCount ; index++) {
- list.add(_arguments[index]);
- }
- return list;
- }
-
- Map<String,dynamic> get namedArguments {
- if (isAccessor) return null;
- var map = <String,dynamic>{};
- int namedArgumentCount = _namedArgumentNames.length;
- int namedArgumentsStartIndex = _arguments.length - namedArgumentCount;
- for (int i = 0; i < namedArgumentCount; i++) {
- map[_namedArgumentNames[i]] = _arguments[namedArgumentsStartIndex + i];
- }
- return map;
- }
-
- invokeOn(Object object) {
- List arguments = _arguments;
- if (!isJsArray(arguments)) arguments = new List.from(arguments);
- return JS("var", "#[#].apply(#, #)",
- object, _internalName, object, arguments);
- }
-}
-
class Primitives {
static int hashCodeSeed = 0;
@@ -705,7 +648,7 @@ class Primitives {
String selectorName = 'call\$$argumentCount$buffer';
var jsFunction = JS('var', '#[#]', function, selectorName);
if (jsFunction == null) {
- throw new NoSuchMethodError(function, selectorName, arguments, {});
+ throw new NoSuchMethodError(function, selectorName, arguments);
}
// We bound 'this' to [function] because of how we compile
// closures: escaped local variables are stored and accessed through
@@ -946,7 +889,7 @@ unwrapException(ex) {
type == 'non_object_property_load') {
return new NullPointerException();
} else if (type == 'undefined_method') {
- return new NoSuchMethodError('', name, [], {});
+ return new NoSuchMethodError('', name, []);
}
var ieErrorCode = JS('int', '#.number & 0xffff', ex);
@@ -967,7 +910,7 @@ unwrapException(ex) {
// Object doesn't support property or method 'foo' which sets the error
// code 438 in IE.
// TODO(kasperl): Compute the right name if possible.
- return new NoSuchMethodError('', '<unknown>', [], {});
+ return new NoSuchMethodError('', '<unknown>', []);
}
}
@@ -1434,8 +1377,7 @@ void assertHelper(condition) {
* resolved cannot be found.
*/
void throwNoSuchMethod(obj, name, arguments, expectedArgumentNames) {
- throw new NoSuchMethodError(obj, name, arguments, const {},
- expectedArgumentNames);
+ throw new NoSuchMethodError(obj, name, arguments, expectedArgumentNames);
}
/**
« no previous file with comments | « lib/compiler/implementation/lib/core_patch.dart ('k') | lib/compiler/implementation/ssa/codegen.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698