Index: lib/runtime/dart_runtime.js |
diff --git a/lib/runtime/dart_runtime.js b/lib/runtime/dart_runtime.js |
index 5761a8e897ef533aa8424e37297e0b2fbffbfb5e..200d187f7e01a6436d27ab56f7eb53e6aa172304 100644 |
--- a/lib/runtime/dart_runtime.js |
+++ b/lib/runtime/dart_runtime.js |
@@ -20,27 +20,6 @@ var dart, _js_helper, _js_primitives; |
return getOwnPropertyNames(obj).concat(getOwnPropertySymbols(obj)); |
} |
- // Adapted from Angular.js |
- let FN_ARGS = /^function\s*[^\(]*\(\s*([^\)]*)\)/m; |
- let FN_ARG_SPLIT = /,/; |
- let FN_ARG = /^\s*(_?)(\S+?)\1\s*$/; |
- let STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; |
- |
- function formalParameterList(fn) { |
Jennifer Messerly
2015/05/29 23:02:20
dead code
vsm
2015/05/29 23:07:37
We may want this for parameter mirrors - otherwise
|
- let fnText,argDecl; |
- let args=[]; |
- fnText = fn.toString().replace(STRIP_COMMENTS, ''); |
- argDecl = fnText.match(FN_ARGS); |
- |
- let r = argDecl[1].split(FN_ARG_SPLIT); |
- for (let arg of r) { |
- arg.replace(FN_ARG, function(all, underscore, name){ |
- args.push(name); |
- }); |
- } |
- return args; |
- } |
- |
function dload(obj, field) { |
field = _canonicalFieldName(obj, field); |
if (_getMethodType(obj, field) !== void 0) { |
@@ -126,7 +105,7 @@ var dart, _js_helper, _js_primitives; |
// TODO(vsm): This should record / check the receiver type |
// as well. E.g., only look for core.$map if the receiver |
// is an Iterable. |
- 'map': () => core.$map, |
+ 'map': () => core.$map |
}; |
// TODO(leafp): Integrate this with the eventual proper extension |
@@ -572,10 +551,10 @@ var dart, _js_helper, _js_primitives; |
if (arguments.length == 1) { |
// No type arguments, it's all dynamic |
let len = closure.length; |
- function build() { |
+ let build = () => { |
let args = Array.apply(null, new Array(len)).map(() => core.Object); |
return functionType(core.Object, args); |
- } |
+ }; |
// We could be called before Object is defined. |
if (core.Object === void 0) return fn(closure, build); |
t = build(); |
@@ -1021,8 +1000,7 @@ var dart, _js_helper, _js_primitives; |
if (sigObj === void 0) return void 0; |
let parts = sigObj[name]; |
if (parts === void 0) return void 0; |
- let sig = functionType.apply(null, parts); |
- return sig; |
Jennifer Messerly
2015/05/29 23:02:21
it doesn't like unnecessary locals
|
+ return functionType.apply(null, parts); |
} |
/// Get the type of a constructor from a class using the stored signature |
@@ -1036,8 +1014,7 @@ var dart, _js_helper, _js_primitives; |
if (sigCtor === void 0) return void 0; |
let parts = sigCtor[name]; |
if (parts === void 0) return void 0; |
- let sig = functionType.apply(null, parts); |
- return sig; |
+ return functionType.apply(null, parts); |
} |
dart.classGetConstructorType = _getConstructorType; |
@@ -1047,7 +1024,7 @@ var dart, _js_helper, _js_primitives; |
/// TODO(leafp): Consider caching the tearoff on the object? |
function bind(obj, name) { |
let f = obj[name].bind(obj); |
- let sig = _getMethodType(obj, name) |
+ let sig = _getMethodType(obj, name); |
assert(sig); |
setRuntimeType(f, sig); |
return f; |
@@ -1076,11 +1053,10 @@ var dart, _js_helper, _js_primitives; |
// Set the lazily computed runtime type field on static methods |
function _setStaticTypes(f, names) { |
for (let name of names) { |
- function getT() { |
+ defineProperty(f[name], _runtimeType, { get: function() { |
let parts = f[_staticSig][name]; |
return functionType.apply(null, parts); |
- }; |
- defineProperty(f[name], _runtimeType, {get : getT}); |
+ }}); |
} |
} |
@@ -1107,7 +1083,7 @@ var dart, _js_helper, _js_primitives; |
_setMethodSignature(f, methods); |
_setStaticSignature(f, statics); |
_setStaticTypes(f, names); |
- }; |
+ } |
dart.setSignature = setSignature; |
let _value = Symbol('_value'); |
@@ -1290,13 +1266,13 @@ var dart, _js_helper, _js_primitives; |
let result = _split.apply(this, arguments); |
dart.setType(result, core.List$(core.String)); |
return result; |
- } |
+ }; |
String.prototype.get = function(i) { |
return this[i]; |
- } |
+ }; |
String.prototype.codeUnitAt = function(i) { |
return this.charCodeAt(i); |
- } |
+ }; |
String.prototype.replaceAllMapped = function(from, cb) { |
return this.replace(from.multiple, function() { |
// Remove offset & string from the result array |
@@ -1305,7 +1281,7 @@ var dart, _js_helper, _js_primitives; |
// The callback receives match, p1, ..., pn |
return cb(matches); |
}); |
- } |
+ }; |
String.prototype['+'] = function(arg) { return this.valueOf() + arg; }; |
Boolean.prototype['!'] = function() { return !this.valueOf(); }; |