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

Side by Side Diff: lib/runtime/dart/_js_mirrors.js

Issue 1700153002: Wrapperless dart:html and friends (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: A couple more tweaks Created 4 years, 10 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 unified diff | Download patch
« no previous file with comments | « lib/runtime/dart/_js_helper.js ('k') | lib/runtime/dart/_runtime.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 dart_library.library('dart/_js_mirrors', null, /* Imports */[ 1 dart_library.library('dart/_js_mirrors', null, /* Imports */[
2 'dart/_runtime', 2 'dart/_runtime',
3 'dart/_internal', 3 'dart/_internal',
4 'dart/core', 4 'dart/core',
5 'dart/mirrors' 5 'dart/mirrors'
6 ], /* Lazy imports */[ 6 ], /* Lazy imports */[
7 ], function(exports, dart, _internal, core, mirrors) { 7 ], function(exports, dart, _internal, core, mirrors) {
8 'use strict'; 8 'use strict';
9 let dartx = dart.dartx; 9 let dartx = dart.dartx;
10 function getName(symbol) { 10 function getName(symbol) {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 let name = getName(symbol); 70 let name = getName(symbol);
71 if (namedArgs != null) { 71 if (namedArgs != null) {
72 args = core.List.from(args); 72 args = core.List.from(args);
73 args[dartx.add](this[_toJsMap](namedArgs)); 73 args[dartx.add](this[_toJsMap](namedArgs));
74 } 74 }
75 let result = _dsend(this.reflectee, name, args); 75 let result = _dsend(this.reflectee, name, args);
76 return new JsInstanceMirror._(result); 76 return new JsInstanceMirror._(result);
77 } 77 }
78 [_toJsMap](map) { 78 [_toJsMap](map) {
79 let obj = {}; 79 let obj = {};
80 map.forEach(dart.fn((key, value) => { 80 map[dartx.forEach](dart.fn((key, value) => {
81 obj[getName(key)] = value; 81 obj[getName(key)] = value;
82 }, dart.void, [core.Symbol, dart.dynamic])); 82 }, dart.void, [core.Symbol, dart.dynamic]));
83 return obj; 83 return obj;
84 } 84 }
85 } 85 }
86 JsInstanceMirror[dart.implements] = () => [mirrors.InstanceMirror]; 86 JsInstanceMirror[dart.implements] = () => [mirrors.InstanceMirror];
87 dart.defineNamedConstructor(JsInstanceMirror, '_'); 87 dart.defineNamedConstructor(JsInstanceMirror, '_');
88 dart.setSignature(JsInstanceMirror, { 88 dart.setSignature(JsInstanceMirror, {
89 constructors: () => ({_: [JsInstanceMirror, [core.Object]]}), 89 constructors: () => ({_: [JsInstanceMirror, [core.Object]]}),
90 methods: () => ({ 90 methods: () => ({
(...skipping 15 matching lines...) Expand all
106 return this[_declarations]; 106 return this[_declarations];
107 } 107 }
108 _(cls) { 108 _(cls) {
109 this[_cls] = cls; 109 this[_cls] = cls;
110 this.simpleName = core.Symbol.new(cls.name); 110 this.simpleName = core.Symbol.new(cls.name);
111 this[_metadata] = null; 111 this[_metadata] = null;
112 this[_declarations] = null; 112 this[_declarations] = null;
113 let fn = this[_cls][dart.metadata]; 113 let fn = this[_cls][dart.metadata];
114 this[_metadata] = fn == null ? dart.list([], mirrors.InstanceMirror) : cor e.List$(mirrors.InstanceMirror).from(dart.as(dart.dsend(dart.dcall(fn), 'map', d art.fn(i => new JsInstanceMirror._(i), JsInstanceMirror, [dart.dynamic])), core. Iterable)); 114 this[_metadata] = fn == null ? dart.list([], mirrors.InstanceMirror) : cor e.List$(mirrors.InstanceMirror).from(dart.as(dart.dsend(dart.dcall(fn), 'map', d art.fn(i => new JsInstanceMirror._(i), JsInstanceMirror, [dart.dynamic])), core. Iterable));
115 this[_declarations] = core.Map$(core.Symbol, mirrors.MethodMirror).new(); 115 this[_declarations] = core.Map$(core.Symbol, mirrors.MethodMirror).new();
116 this[_declarations].set(this.simpleName, new JsMethodMirror._(this, this[_ cls])); 116 this[_declarations][dartx.set](this.simpleName, new JsMethodMirror._(this, this[_cls]));
117 } 117 }
118 newInstance(constructorName, args, namedArgs) { 118 newInstance(constructorName, args, namedArgs) {
119 if (namedArgs === void 0) namedArgs = null; 119 if (namedArgs === void 0) namedArgs = null;
120 dart.assert(getName(constructorName) == ""); 120 dart.assert(getName(constructorName) == "");
121 dart.assert(namedArgs == null || dart.notNull(namedArgs.isEmpty)); 121 dart.assert(namedArgs == null || dart.notNull(namedArgs[dartx.isEmpty]));
122 let instance = new this[_cls](...args); 122 let instance = new this[_cls](...args);
123 return new JsInstanceMirror._(instance); 123 return new JsInstanceMirror._(instance);
124 } 124 }
125 get superinterfaces() { 125 get superinterfaces() {
126 let interfaceThunk = this[_cls][dart.implements]; 126 let interfaceThunk = this[_cls][dart.implements];
127 if (interfaceThunk == null) { 127 if (interfaceThunk == null) {
128 return dart.list([], mirrors.ClassMirror); 128 return dart.list([], mirrors.ClassMirror);
129 } else { 129 } else {
130 let interfaces = dart.as(dart.dcall(interfaceThunk), core.List$(core.Typ e)); 130 let interfaces = dart.as(dart.dcall(interfaceThunk), core.List$(core.Typ e));
131 return interfaces[dartx.map](dart.fn(t => new JsClassMirror._(t), JsClas sMirror, [core.Type]))[dartx.toList](); 131 return interfaces[dartx.map](dart.fn(t => new JsClassMirror._(t), JsClas sMirror, [core.Type]))[dartx.toList]();
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 exports.getName = getName; 438 exports.getName = getName;
439 exports.getSymbol = getSymbol; 439 exports.getSymbol = getSymbol;
440 exports.reflect = reflect; 440 exports.reflect = reflect;
441 exports.reflectType = reflectType; 441 exports.reflectType = reflectType;
442 exports.JsInstanceMirror = JsInstanceMirror; 442 exports.JsInstanceMirror = JsInstanceMirror;
443 exports.JsClassMirror = JsClassMirror; 443 exports.JsClassMirror = JsClassMirror;
444 exports.JsTypeMirror = JsTypeMirror; 444 exports.JsTypeMirror = JsTypeMirror;
445 exports.JsParameterMirror = JsParameterMirror; 445 exports.JsParameterMirror = JsParameterMirror;
446 exports.JsMethodMirror = JsMethodMirror; 446 exports.JsMethodMirror = JsMethodMirror;
447 }); 447 });
OLDNEW
« no previous file with comments | « lib/runtime/dart/_js_helper.js ('k') | lib/runtime/dart/_runtime.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698