Index: lib/runtime/dart_sdk.js |
diff --git a/lib/runtime/dart_sdk.js b/lib/runtime/dart_sdk.js |
index 89aa138130ea3f845aca09352acc821947d33dfd..1e2d45a6872eeb3936267e7786530acaced04cdb 100644 |
--- a/lib/runtime/dart_sdk.js |
+++ b/lib/runtime/dart_sdk.js |
@@ -837,8 +837,8 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
dart.defineNamedConstructor = function(clazz, name) { |
let proto = clazz.prototype; |
let initMethod = proto[name]; |
- let ctor = function() { |
- return initMethod.apply(this, arguments); |
+ let ctor = function(...args) { |
+ initMethod.apply(this, args); |
}; |
ctor.prototype = proto; |
dart.defineProperty(clazz, name, {value: ctor, configurable: true}); |
@@ -934,6 +934,16 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
derived.prototype[dart._extensionType] = derived; |
derived.prototype.__proto__ = base.prototype; |
}; |
+ dart.callableClass = function(callableCtor, classExpr) { |
+ callableCtor.prototype = classExpr.prototype; |
+ callableCtor.prototype.constructor = callableCtor; |
+ callableCtor.__proto__ = classExpr.__proto__; |
+ return callableCtor; |
+ }; |
+ dart.defineNamedConstructorCallable = function(clazz, name, ctor) { |
+ ctor.prototype = clazz.prototype; |
+ dart.defineProperty(clazz, name, {value: ctor, configurable: true}); |
+ }; |
dart.throwCastError = function(object, actual, type) { |
dart.throw(new _js_helper.CastErrorImplementation(object, dart.typeName(actual), dart.typeName(type))); |
}; |