Files
sdk/pkg/dev_compiler/lib/runtime/dart/_metadata.js
T
Olivier Chafik 3886194414 Generate _runtime.js from dart (https://github.com/dart-lang/dev_compiler/issues/310)
The following part files were ported from the original .js (lib/runtime/dart/_foo.js -> input_sdk/private/foo.dart):
- input_sdk/private/rtti.dart
- input_sdk/private/types.dart
- input_sdk/private/classes.dart
- input_sdk/private/errors.dart
- input_sdk/private/generators.dart
- input_sdk/private/operations.dart
- input_sdk/private/runtime.dart

Notes:
- Introduced genericTypeConstructor intrinsic: `JS('', '#(type)', genericTypeConstructor(List))` generates `core.List$(type)`
- Used new JS quasiquotes everywhere
- Depends on new internal `@JSExportName` annotation to alias symbols like dart.{as, is, const, assert, export, implements, throw, async, dynamic, void} (see https://codereview.chromium.org/1580413002/)

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1530563003 .
2016-01-21 00:45:31 +00:00

59 lines
1.6 KiB
JavaScript

dart_library.library('dart/_metadata', null, /* Imports */[
'dart/_runtime',
'dart/core'
], /* Lazy imports */[
], function(exports, dart, core) {
'use strict';
let dartx = dart.dartx;
class SupportedBrowser extends core.Object {
SupportedBrowser(browserName, minimumVersion) {
if (minimumVersion === void 0) minimumVersion = null;
this.browserName = browserName;
this.minimumVersion = minimumVersion;
}
}
dart.setSignature(SupportedBrowser, {
constructors: () => ({SupportedBrowser: [SupportedBrowser, [core.String], [core.String]]})
});
SupportedBrowser.CHROME = "Chrome";
SupportedBrowser.FIREFOX = "Firefox";
SupportedBrowser.IE = "Internet Explorer";
SupportedBrowser.OPERA = "Opera";
SupportedBrowser.SAFARI = "Safari";
class Experimental extends core.Object {
Experimental() {
}
}
dart.setSignature(Experimental, {
constructors: () => ({Experimental: [Experimental, []]})
});
class DomName extends core.Object {
DomName(name) {
this.name = name;
}
}
dart.setSignature(DomName, {
constructors: () => ({DomName: [DomName, [core.String]]})
});
class DocsEditable extends core.Object {
DocsEditable() {
}
}
dart.setSignature(DocsEditable, {
constructors: () => ({DocsEditable: [DocsEditable, []]})
});
class Unstable extends core.Object {
Unstable() {
}
}
dart.setSignature(Unstable, {
constructors: () => ({Unstable: [Unstable, []]})
});
// Exports:
exports.SupportedBrowser = SupportedBrowser;
exports.Experimental = Experimental;
exports.DomName = DomName;
exports.DocsEditable = DocsEditable;
exports.Unstable = Unstable;
});