Skip to content

Commit

Permalink
Add --modules=node support
Browse files Browse the repository at this point in the history
- Force import order in all sdk files + simplify module builders
- Stub a node_test.sh with hello world + DeltaBlue (to be expanded to language tests in a followup change)
- Use global_ from dart:_runtime in html lib
- Better export for symbols that node chokes upon: throw, const, void, implements, export... (define as throw_ locally, with proper local resolution, then export as throw).
- Cleanup node module builder

BUG=
[email protected]

Review URL: https://codereview.chromium.org/1633003002 .
  • Loading branch information
ochafik committed Jan 29, 2016
1 parent b56617b commit edaf069
Show file tree
Hide file tree
Showing 33 changed files with 2,710 additions and 248 deletions.
1 change: 1 addition & 0 deletions pkg/dev_compiler/.travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ before_install:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
before_script:
- nvm install 5.5.0
- npm install
script:
- ./tool/presubmit.sh && ./tool/coverage.sh
20 changes: 9 additions & 11 deletions pkg/dev_compiler/lib/runtime/dart/_debugger.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ dart_library.library('dart/_debugger', null, /* Imports */[
},
set _devtoolsFormatter(_) {}
});
function typeof$(object) {
function _typeof(object) {
return typeof object;
}
dart.fn(typeof$, core.String, [dart.dynamic]);
function instanceof$(object, clazz) {
dart.fn(_typeof, core.String, [dart.dynamic]);
function _instanceof(object, clazz) {
return object instanceof clazz;
}
dart.fn(instanceof$, core.bool, [dart.dynamic, dart.dynamic]);
dart.fn(_instanceof, core.bool, [dart.dynamic, dart.dynamic]);
function getOwnPropertyNames(object) {
return dart.as(dart.list(Object.getOwnPropertyNames(object), core.String), core.List$(core.String));
}
Expand All @@ -45,14 +45,14 @@ dart_library.library('dart/_debugger', null, /* Imports */[
names: ['getProperty', 'setProperty']
});
function isRegularDartObject(object) {
if (typeof$(object) == 'function') return false;
return instanceof$(object, core.Object);
if (_typeof(object) == 'function') return false;
return _instanceof(object, core.Object);
}
dart.fn(isRegularDartObject, core.bool, [dart.dynamic]);
function getObjectTypeName(object) {
let realRuntimeType = dart.realRuntimeType(object);
if (realRuntimeType == null) {
if (typeof$(object) == 'function') {
if (_typeof(object) == 'function') {
return '[[Raw JavaScript Function]]';
}
return '<Error getting type name>';
Expand Down Expand Up @@ -217,7 +217,7 @@ dart_library.library('dart/_debugger', null, /* Imports */[
let nameSpan = new JsonMLElement('span');
nameSpan.createTextChild(child.name != null ? dart.notNull(child.name) + ': ' : '');
nameSpan.setStyle('color: rgb(136, 19, 145);');
if (typeof$(child.value) == 'object' || typeof$(child.value) == 'function') {
if (_typeof(child.value) == 'object' || _typeof(child.value) == 'function') {
nameSpan.addStyle("padding-left: 13px;");
li.appendChild(nameSpan);
let objectTag = li.createObjectTag(child.value);
Expand Down Expand Up @@ -354,7 +354,7 @@ dart_library.library('dart/_debugger', null, /* Imports */[
});
class FunctionFormatter extends Formatter {
accept(object) {
if (typeof$(object) != 'function') return false;
if (_typeof(object) != 'function') return false;
return dart.realRuntimeType(object) != null;
}
hasChildren(object) {
Expand Down Expand Up @@ -537,8 +537,6 @@ dart_library.library('dart/_debugger', null, /* Imports */[
dart.fn(registerDevtoolsFormatter);
// Exports:
exports.skipDartConfig = skipDartConfig;
exports.typeof = typeof$;
exports.instanceof = instanceof$;
exports.getOwnPropertyNames = getOwnPropertyNames;
exports.getOwnPropertySymbols = getOwnPropertySymbols;
exports.JSNative = JSNative;
Expand Down
9 changes: 4 additions & 5 deletions pkg/dev_compiler/lib/runtime/dart/_js_mirrors.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
}
dart.fn(reflectType, mirrors.TypeMirror, [core.Type]);
const _dart = dart;
const _metadata = _dart.metadata;
function _dload(obj, name) {
return _dart.dload(obj, name);
}
Expand Down Expand Up @@ -96,23 +95,23 @@ dart_library.library('dart/_js_mirrors', null, /* Imports */[
[_toJsMap]: [dart.dynamic, [core.Map$(core.Symbol, dart.dynamic)]]
})
});
const _metadata$ = Symbol('_metadata');
const _metadata = Symbol('_metadata');
const _declarations = Symbol('_declarations');
const _cls = Symbol('_cls');
class JsClassMirror extends core.Object {
get metadata() {
return this[_metadata$];
return this[_metadata];
}
get declarations() {
return this[_declarations];
}
_(cls) {
this[_cls] = cls;
this.simpleName = core.Symbol.new(cls.name);
this[_metadata$] = null;
this[_metadata] = null;
this[_declarations] = null;
let fn = this[_cls][dart.metadata];
this[_metadata$] = fn == null ? dart.list([], mirrors.InstanceMirror) : core.List$(mirrors.InstanceMirror).from(dart.as(dart.dsend(dart.dcall(fn), 'map', dart.fn(i => new JsInstanceMirror._(i), JsInstanceMirror, [dart.dynamic])), core.Iterable));
this[_metadata] = fn == null ? dart.list([], mirrors.InstanceMirror) : core.List$(mirrors.InstanceMirror).from(dart.as(dart.dsend(dart.dcall(fn), 'map', dart.fn(i => new JsInstanceMirror._(i), JsInstanceMirror, [dart.dynamic])), core.Iterable));
this[_declarations] = core.Map$(core.Symbol, mirrors.MethodMirror).new();
this[_declarations].set(this.simpleName, new JsMethodMirror._(this, this[_cls]));
}
Expand Down
Loading

0 comments on commit edaf069

Please sign in to comment.