| Index: lib/runtime/dart/_js_mirrors.js
|
| diff --git a/lib/runtime/dart/_js_mirrors.js b/lib/runtime/dart/_js_mirrors.js
|
| index e9d97229cd45429841850ca94a93fe050e67cff4..0051e8d903bb719ca3e9e7d054be26413772bca2 100644
|
| --- a/lib/runtime/dart/_js_mirrors.js
|
| +++ b/lib/runtime/dart/_js_mirrors.js
|
| @@ -53,6 +53,15 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| _(reflectee) {
|
| this.reflectee = reflectee;
|
| }
|
| + get type() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.type unimplemented"));
|
| + }
|
| + get hasReflectee() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.hasReflectee unimplemented"));
|
| + }
|
| + delegate(invocation) {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.delegate unimplemented"));
|
| + }
|
| getField(symbol) {
|
| let name = getName(symbol);
|
| let field = _dload(this.reflectee, name);
|
| @@ -60,8 +69,8 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| }
|
| setField(symbol, value) {
|
| let name = getName(symbol);
|
| - let field = _dput(this.reflectee, name, value);
|
| - return new JsInstanceMirror._(field);
|
| + _dput(this.reflectee, name, value);
|
| + return new JsInstanceMirror._(value);
|
| }
|
| invoke(symbol, args, namedArgs) {
|
| if (namedArgs === void 0)
|
| @@ -87,6 +96,7 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| dart.setSignature(JsInstanceMirror, {
|
| constructors: () => ({_: [JsInstanceMirror, [core.Object]]}),
|
| methods: () => ({
|
| + delegate: [dart.dynamic, [core.Invocation]],
|
| getField: [mirrors.InstanceMirror, [core.Symbol]],
|
| setField: [mirrors.InstanceMirror, [core.Symbol, core.Object]],
|
| invoke: [mirrors.InstanceMirror, [core.Symbol, core.List], [core.Map$(core.Symbol, dart.dynamic)]],
|
| @@ -121,35 +131,204 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| let instance = new this[_cls](...args);
|
| return new JsInstanceMirror._(instance);
|
| }
|
| + get superinterfaces() {
|
| + let interfaces = this[_cls][dart.implements];
|
| + if (interfaces == null) {
|
| + return dart.list([], mirrors.ClassMirror);
|
| + }
|
| + dart.throw(new core.UnimplementedError("ClassMirror.superinterfaces unimplemented"));
|
| + }
|
| + getField(fieldName) {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.getField unimplemented"));
|
| + }
|
| + invoke(memberName, positionalArguments, namedArguments) {
|
| + if (namedArguments === void 0)
|
| + namedArguments = null;
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.invoke unimplemented"));
|
| + }
|
| + isAssignableTo(other) {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isAssignable unimplemented"));
|
| + }
|
| + isSubclassOf(other) {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isSubclassOf unimplemented"));
|
| + }
|
| + isSubtypeOf(other) {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isSubtypeOf unimplemented"));
|
| + }
|
| + setField(fieldName, value) {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.setField unimplemented"));
|
| + }
|
| + get hasReflectedType() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.hasReflectedType unimplemented"));
|
| + }
|
| + get instanceMembers() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.instanceMembers unimplemented"));
|
| + }
|
| + get isAbstract() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isAbstract unimplemented"));
|
| + }
|
| + get isEnum() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isEnum unimplemented"));
|
| + }
|
| + get isOriginalDeclaration() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isOriginalDeclaration unimplemented"));
|
| + }
|
| + get isPrivate() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isPrivate unimplemented"));
|
| + }
|
| + get isTopLevel() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.isTopLevel unimplemented"));
|
| + }
|
| + get location() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.location unimplemented"));
|
| + }
|
| + get mixin() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.mixin unimplemented"));
|
| + }
|
| + get originalDeclaration() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.originalDeclaration unimplemented"));
|
| + }
|
| + get owner() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.owner unimplemented"));
|
| + }
|
| + get qualifiedName() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.qualifiedName unimplemented"));
|
| + }
|
| + get reflectedType() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.reflectedType unimplemented"));
|
| + }
|
| + get staticMembers() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.staticMembers unimplemented"));
|
| + }
|
| + get superclass() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.superclass unimplemented"));
|
| + }
|
| + get typeArguments() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.typeArguments unimplemented"));
|
| + }
|
| + get typeVariables() {
|
| + return dart.throw(new core.UnimplementedError("ClassMirror.typeVariables unimplemented"));
|
| + }
|
| }
|
| JsClassMirror[dart.implements] = () => [mirrors.ClassMirror];
|
| dart.defineNamedConstructor(JsClassMirror, '_');
|
| dart.setSignature(JsClassMirror, {
|
| constructors: () => ({_: [JsClassMirror, [core.Type]]}),
|
| - methods: () => ({newInstance: [mirrors.InstanceMirror, [core.Symbol, core.List], [core.Map$(core.Symbol, dart.dynamic)]]})
|
| + methods: () => ({
|
| + newInstance: [mirrors.InstanceMirror, [core.Symbol, core.List], [core.Map$(core.Symbol, dart.dynamic)]],
|
| + getField: [mirrors.InstanceMirror, [core.Symbol]],
|
| + invoke: [mirrors.InstanceMirror, [core.Symbol, core.List], [core.Map$(core.Symbol, dart.dynamic)]],
|
| + isAssignableTo: [core.bool, [mirrors.TypeMirror]],
|
| + isSubclassOf: [core.bool, [mirrors.ClassMirror]],
|
| + isSubtypeOf: [core.bool, [mirrors.TypeMirror]],
|
| + setField: [mirrors.InstanceMirror, [core.Symbol, core.Object]]
|
| + })
|
| });
|
| class JsTypeMirror extends core.Object {
|
| _(reflectedType) {
|
| this.reflectedType = reflectedType;
|
| + this.hasReflectedType = true;
|
| + }
|
| + isAssignableTo(other) {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.isAssignable unimplemented"));
|
| + }
|
| + isSubtypeOf(other) {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.isSubtypeOf unimplemented"));
|
| + }
|
| + get isOriginalDeclaration() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.isOriginalDeclaration unimplemented"));
|
| + }
|
| + get isPrivate() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.isPrivate unimplemented"));
|
| + }
|
| + get isTopLevel() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.isTopLevel unimplemented"));
|
| + }
|
| + get location() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.location unimplemented"));
|
| + }
|
| + get metadata() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.metadata unimplemented"));
|
| + }
|
| + get originalDeclaration() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.originalDeclaration unimplemented"));
|
| + }
|
| + get owner() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.owner unimplemented"));
|
| + }
|
| + get qualifiedName() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.qualifiedName unimplemented"));
|
| + }
|
| + get simpleName() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.simpleName unimplemented"));
|
| + }
|
| + get typeArguments() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.typeArguments unimplemented"));
|
| + }
|
| + get typeVariables() {
|
| + return dart.throw(new core.UnimplementedError("TypeMirror.typeVariables unimplemented"));
|
| }
|
| }
|
| JsTypeMirror[dart.implements] = () => [mirrors.TypeMirror];
|
| dart.defineNamedConstructor(JsTypeMirror, '_');
|
| dart.setSignature(JsTypeMirror, {
|
| - constructors: () => ({_: [JsTypeMirror, [core.Type]]})
|
| + constructors: () => ({_: [JsTypeMirror, [core.Type]]}),
|
| + methods: () => ({
|
| + isAssignableTo: [core.bool, [mirrors.TypeMirror]],
|
| + isSubtypeOf: [core.bool, [mirrors.TypeMirror]]
|
| + })
|
| });
|
| let _name = Symbol('_name');
|
| class JsParameterMirror extends core.Object {
|
| - _(name, t) {
|
| - this.metadata = dart.list([], mirrors.InstanceMirror);
|
| + _(name, t, annotations) {
|
| this[_name] = name;
|
| this.type = new JsTypeMirror._(t);
|
| + this.metadata = core.List$(mirrors.InstanceMirror).from(annotations[dartx.map](dart.fn(a => new JsInstanceMirror._(a), JsInstanceMirror, [dart.dynamic])));
|
| + }
|
| + get defaultValue() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.defaultValues unimplemented"));
|
| + }
|
| + get hasDefaultValue() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.hasDefaultValue unimplemented"));
|
| + }
|
| + get isConst() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.isConst unimplemented"));
|
| + }
|
| + get isFinal() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.isFinal unimplemented"));
|
| + }
|
| + get isNamed() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.isNamed unimplemented"));
|
| + }
|
| + get isOptional() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.isOptional unimplemented"));
|
| + }
|
| + get isPrivate() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.isPrivate unimplemented"));
|
| + }
|
| + get isStatic() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.isStatic unimplemented"));
|
| + }
|
| + get isTopLevel() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.isTopLevel unimplemented"));
|
| + }
|
| + get location() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.location unimplemented"));
|
| + }
|
| + get owner() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.owner unimplemented"));
|
| + }
|
| + get qualifiedName() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.qualifiedName unimplemented"));
|
| + }
|
| + get simpleName() {
|
| + return dart.throw(new core.UnimplementedError("ParameterMirror.simpleName unimplemented"));
|
| }
|
| }
|
| JsParameterMirror[dart.implements] = () => [mirrors.ParameterMirror];
|
| dart.defineNamedConstructor(JsParameterMirror, '_');
|
| dart.setSignature(JsParameterMirror, {
|
| - constructors: () => ({_: [JsParameterMirror, [core.String, core.Type]]})
|
| + constructors: () => ({_: [JsParameterMirror, [core.String, core.Type, core.List]]})
|
| });
|
| let _method = Symbol('_method');
|
| let _params = Symbol('_params');
|
| @@ -177,16 +356,81 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
|
| let params = core.List$(mirrors.ParameterMirror).new(dart.notNull(args[dartx.length]) + dart.notNull(opts[dartx.length]));
|
| for (let i = 0; dart.notNull(i) < dart.notNull(args[dartx.length]); i = dart.notNull(i) + 1) {
|
| let type = args[dartx.get](i);
|
| - let param = new JsParameterMirror._('', dart.as(type, core.Type));
|
| + let metadata = dart.dindex(dart.dload(ftype, 'metadata'), i);
|
| + let param = new JsParameterMirror._('', dart.as(type, core.Type), dart.as(metadata, core.List));
|
| params[dartx.set](i, param);
|
| }
|
| for (let i = 0; dart.notNull(i) < dart.notNull(opts[dartx.length]); i = dart.notNull(i) + 1) {
|
| let type = opts[dartx.get](i);
|
| - let param = new JsParameterMirror._('', dart.as(type, core.Type));
|
| + let metadata = dart.dindex(dart.dload(ftype, 'metadata'), dart.notNull(args[dartx.length]) + dart.notNull(i));
|
| + let param = new JsParameterMirror._('', dart.as(type, core.Type), dart.as(metadata, core.List));
|
| params[dartx.set](dart.notNull(i) + dart.notNull(args[dartx.length]), param);
|
| }
|
| return params;
|
| }
|
| + get isAbstract() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isAbstract unimplemented"));
|
| + }
|
| + get isConstConstructor() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isConstConstructor unimplemented"));
|
| + }
|
| + get isConstructor() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isConstructor unimplemented"));
|
| + }
|
| + get isFactoryConstructor() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isFactoryConstructor unimplemented"));
|
| + }
|
| + get isGenerativeConstructor() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isGenerativeConstructor unimplemented"));
|
| + }
|
| + get isGetter() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isGetter unimplemented"));
|
| + }
|
| + get isOperator() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isOperator unimplemented"));
|
| + }
|
| + get isPrivate() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isPrivate unimplemented"));
|
| + }
|
| + get isRedirectingConstructor() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isRedirectingConstructor unimplemented"));
|
| + }
|
| + get isRegularMethod() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isRegularMethod unimplemented"));
|
| + }
|
| + get isSetter() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isSetter unimplemented"));
|
| + }
|
| + get isStatic() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isStatic unimplemented"));
|
| + }
|
| + get isSynthetic() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isSynthetic unimplemented"));
|
| + }
|
| + get isTopLevel() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.isTopLevel unimplemented"));
|
| + }
|
| + get location() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.location unimplemented"));
|
| + }
|
| + get metadata() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.metadata unimplemented"));
|
| + }
|
| + get owner() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.owner unimplemented"));
|
| + }
|
| + get qualifiedName() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.qualifiedName unimplemented"));
|
| + }
|
| + get returnType() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.returnType unimplemented"));
|
| + }
|
| + get simpleName() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.simpleName unimplemented"));
|
| + }
|
| + get source() {
|
| + return dart.throw(new core.UnimplementedError("MethodMirror.source unimplemented"));
|
| + }
|
| }
|
| JsMethodMirror[dart.implements] = () => [mirrors.MethodMirror];
|
| dart.defineNamedConstructor(JsMethodMirror, '_');
|
|
|