Version 1.12.0-dev.4.0
Merge commit '0bf80c919bfa22c9535eac5e6175ae01476720c5' into dev
diff --git a/.gitignore b/.gitignore
index effef47..8672f82 100644
--- a/.gitignore
+++ b/.gitignore
@@ -56,6 +56,7 @@
# Pub generated "packages" directories and files
packages
pubspec.lock
+.packages
# Local pub storage
.pub
diff --git a/AUTHORS b/AUTHORS
index 567d6fa..27c9033 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -32,3 +32,4 @@
Anders Holmgren <andersmholmgren@gmail.com>
K. Alex Gann <k.alexgann@gmail.com>
Kenneth Endfinger <kaendfinger@gmail.com>
+Cristian Almstrand <cristian.almstrand@gmail.com>
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bb3f571..8383615 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,19 @@
### Core library changes
+* `dart:async`
+ * `StreamController` added setters for the `onListen`, `onPause`, `onResume`
+ and `onCancel` callbacks.
+
+* `dart:convert`
+ * `LineSplitter` added a `split` static method returning an `Iterable`.
+
+* `dart:core`
+ * `Uri` class now perform path normalization when a URI is created.
+ This removes most `..` and `.` sequences from the URI path.
+ Purely relative paths (no scheme or authority) are allowed to retain
+ some leading "dot" segments.
+
* `dart:html`
* `NodeTreeSanitizer` added the `const trusted` field. It can be used
instead of defining a `NullTreeSanitizer` class when calling
@@ -19,27 +32,57 @@
* Pub
- * Pub will now generate a ".packages" file in addition to the "packages"
- directory when running `pub get` or similar operations, per the
- [package spec proposal][]. Pub now has a `--no-package-symlinks` flag that
- will stop "packages" directories from being generated at all.
+ * `pub run` and `pub global run`
- * When `pub publish` finds a violation, it will emit a non-zero exit code.
+ * Faster start time for executables that don't import transformed code.
- * `pub run` starts up faster for executables that don't import transformed
- code.
+ * Binstubs for globally-activated executables are now written in the system
+ encoding, rather than always in `UTF-8`. To update existing executables,
+ run `pub cache repair`.
- * An issue where HTTP requests were sometimes made even though `--offline` was
- passed to `pub get` or `pub upgrade` has been fixed.
+ * `pub get` and `pub upgrade`
- * A bug with `--offline` that caused an unhelpful error message has been
- fixed.
+ * Pub will now generate a ".packages" file in addition to the "packages"
+ directory when running `pub get` or similar operations, per the
+ [package spec proposal][]. Pub now has a `--no-package-symlinks` flag that
+ will stop "packages" directories from being generated at all.
- * A crashing bug involving transformers that only apply to non-public code has
- been fixed.
+ * An issue where HTTP requests were sometimes made even though `--offline`
+ was passed has been fixed.
+
+ * A bug with `--offline` that caused an unhelpful error message has been
+ fixed.
+
+ * Pub will no longer time out when a package takes a long time to download.
+
+ * `pub publish`
+
+ * Pub will emit a non-zero exit code when it finds a violation while
+ publishing.
+
+ * `.gitignore` files will be respected even if the package isn't at the top
+ level of the Git repository.
+
+ * Barback integration
+
+ * A crashing bug involving transformers that only apply to non-public code
+ has been fixed.
+
+ * A stack overflow caused by a transformer being run multiple times on the
+ package that defines it has been fixed.
+
+ * A transformer that tries to read a non-existent asset in another package
+ will now be re-run if that asset is later created.
[package spec proposal]: https://github.com/lrhn/dep-pkgspec
+## 1.11.2
+
+### Core library changes
+
+* Fix a bug where `WebSocket.close()` would crash if called after
+ `WebSocket.cancel()`.
+
## 1.11.1
### Tool changes
@@ -54,6 +97,8 @@
* `dart:core`
* `Iterable` added an `empty` constructor.
[dcf0286](https://github.com/dart-lang/sdk/commit/dcf0286f5385187a68ce9e66318d3bf19abf454b)
+ * `Iterable` can now be extended directly. An alternative to extending
+ `IterableBase` from `dart:collection`.
* `List` added an `unmodifiable` constructor.
[r45334](https://code.google.com/p/dart/source/detail?r=45334)
* `Map` added an `unmodifiable` constructor.
diff --git a/DEPS b/DEPS
index ee3e737..50369e4 100644
--- a/DEPS
+++ b/DEPS
@@ -38,10 +38,10 @@
# Revisions of /third_party/* dependencies.
"7zip_rev" : "@19997",
- "analyzer_cli_rev" : "@5069b75f6ccef59b2ba4e2c382bc000037290125",
+ "analyzer_cli_rev" : "@7436b45b160f99e806bef2aafd1e971e1aedfc4d",
"args_tag": "@0.13.0",
"async_tag": "@1.2.0",
- "barback_rev" : "@29ee90dbcf77cfd64632fa2797a4c8a4f29a4b51",
+ "barback_tag" : "@0.15.2+5",
"charcode_tag": "@1.1.0",
"chrome_rev" : "@19997",
"clang_rev" : "@28450",
@@ -49,7 +49,7 @@
"collection_rev": "@1da9a07f32efa2ba0c391b289e2037391e31da0e",
"crypto_rev" : "@2df57a1e26dd88e8d0614207d4b062c73209917d",
"csslib_tag" : "@0.12.0",
- "dartdoc_tag" : "@v0.0.3",
+ "dartdoc_tag" : "@v0.1.0+5",
"dart_services_rev" : "@7aea2574e6f3924bf409a80afb8ad52aa2be4f97",
"dart_style_tag": "@0.1.8+1",
"dev_compiler_rev": "@0.1.1",
@@ -77,15 +77,15 @@
"nss_rev": "@87b96db4268293187d7cf741907a6d5d1d8080e0",
"oauth2_rev": "@1bff41f4d54505c36f2d1a001b83b8b745c452f5",
"observe_rev": "@eee2b8ec34236fa46982575fbccff84f61202ac6",
- "observatory_pub_packages_rev": "@45565",
+ "observatory_pub_packages_rev": "@cdc4b3d4c15b9c0c8e7702dff127b440afbb7485",
"package_config_tag": "@0.1.1",
"path_tag": "@1.3.6",
"petitparser_rev" : "@37878",
"ply_rev": "@604b32590ffad5cbb82e4afef1d305512d06ae93",
"plugin_tag": "@0.1.0",
"pool_rev": "@e454b4b54d2987e8d2f0fbd3ac519641ada9bd0f",
- "pub_rev": "@072c5d85f4741bd4eede3eb8d309669b887e3c54",
- "pub_cache_tag": "@v0.0.1+2",
+ "pub_rev": "@bc776a2e1364b5004d8e2601b2bafb8f93c6a396",
+ "pub_cache_tag": "@v0.1.0",
"pub_semver_tag": "@1.2.1",
"quiver_tag": "@0.21.4",
"scheduled_test_tag": "@0.12.1+2",
@@ -170,9 +170,6 @@
Var("third_party") + "/petitparser" + Var("petitparser_rev"),
Var("dart_root") + "/third_party/WebCore":
Var("third_party") + "/WebCore" + Var("WebCore_rev"),
- Var("dart_root") + "/third_party/observatory_pub_packages":
- Var("third_party") + "/observatory_pub_packages" +
- Var("observatory_pub_packages_rev"),
Var("dart_root") + "/third_party/dart-services":
(Var("github_mirror") % "dart-services") +
@@ -183,9 +180,9 @@
Var("dart_root") + "/third_party/pkg/args":
(Var("github_mirror") % "args") + Var("args_tag"),
Var("dart_root") + "/third_party/pkg/async":
- "https://github.com/dart-lang/async.git" + Var("async_tag"),
+ (Var("github_mirror") % "async") + Var("async_tag"),
Var("dart_root") + "/third_party/pkg/barback":
- (Var("github_mirror") % "barback") + Var("barback_rev"),
+ (Var("github_mirror") % "barback") + Var("barback_tag"),
Var("dart_root") + "/third_party/pkg/charcode":
(Var("github_mirror") % "charcode") + Var("charcode_tag"),
Var("dart_root") + "/third_party/pkg/cli_util":
@@ -241,6 +238,9 @@
(Var("github_mirror") % "oauth2") + Var("oauth2_rev"),
Var("dart_root") + "/third_party/pkg/observe":
(Var("github_mirror") % "observe") + Var("observe_rev"),
+ Var("dart_root") + "/third_party/observatory_pub_packages":
+ (Var("github_mirror") % "observatory_pub_packages")
+ + Var("observatory_pub_packages_rev"),
Var("dart_root") + "/third_party/pkg/package_config":
(Var("github_mirror") % "package_config") +
Var("package_config_tag"),
@@ -253,7 +253,7 @@
Var("dart_root") + "/third_party/pkg/pub_semver":
(Var("github_mirror") % "pub_semver") + Var("pub_semver_tag"),
Var("dart_root") + "/third_party/pkg/pub":
- ("https://github.com/dart-lang/pub.git") + Var("pub_rev"),
+ (Var("github_mirror") % "pub") + Var("pub_rev"),
Var("dart_root") + "/third_party/pkg/pub_cache":
(Var("github_mirror") % "pub_cache") + Var("pub_cache_tag"),
Var("dart_root") + "/third_party/pkg/quiver":
@@ -278,7 +278,7 @@
Var("dart_root") + "/third_party/pkg/source_span":
(Var("github_mirror") % "source_span") + Var("source_span_tag"),
Var("dart_root") + "/third_party/pkg/source_map_stack_trace":
- "https://github.com/dart-lang/source_map_stack_trace.git" +
+ (Var("github_mirror") % "source_map_stack_trace") +
Var("source_map_stack_trace_tag"),
Var("dart_root") + "/third_party/pkg/stack_trace":
(Var("github_mirror") % "stack_trace") + Var("stack_trace_tag"),
diff --git a/pkg/analysis_server/doc/api.html b/pkg/analysis_server/doc/api.html
index 38a28ab..8d2995c 100644
--- a/pkg/analysis_server/doc/api.html
+++ b/pkg/analysis_server/doc/api.html
@@ -43,7 +43,7 @@
</style></head>
<body>
<h1>Analysis Server API Specification</h1>
- <h1 style="color:#999999">Version 1.7.0</h1>
+ <h1 style="color:#999999">Version 1.9.0</h1>
<p>
This document contains a specification of the API provided by the
analysis server. The API in this document is currently under
@@ -384,6 +384,8 @@
+
+
@@ -506,6 +508,10 @@
Return library dependency information for use in client-side indexing
and package URI resolution.
</p>
+ <p>
+ Clients that are only using the libraries field should consider using the
+ analyzedFiles notification instead.
+ </p>
<h4>Returns</h4><dl><dt class="field"><b><i>libraries ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd>
@@ -705,6 +711,30 @@
or the empty map is specified, that indicates that the
normal pubspec.yaml mechanism should always be used.
</p>
+ </dd></dl></dd><dt class="request"><a name="request_analysis.setGeneralSubscriptions">analysis.setGeneralSubscriptions</a> (<a href="#request_analysis.setGeneralSubscriptions">#</a>)</dt><dd><div class="box"><pre>request: {
+ "id": String
+ "method": "analysis.setGeneralSubscriptions"
+ "params": {
+ "<b>subscriptions</b>": List<<a href="#type_GeneralAnalysisService">GeneralAnalysisService</a>>
+ }
+}</pre><br><pre>response: {
+ "id": String
+ "error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a>
+}</pre></div>
+ <p>
+ Subscribe for general services (that is, services that are not
+ specific to individual files). All previous subscriptions are replaced
+ by the given set of services.
+ </p>
+ <p>
+ It is an error if any of the elements in the list are not valid
+ services. If there is an error, then the current subscriptions will
+ remain unchanged.
+ </p>
+
+ <h4>Parameters</h4><dl><dt class="field"><b><i>subscriptions ( List<<a href="#type_GeneralAnalysisService">GeneralAnalysisService</a>> )</i></b></dt><dd>
+
+ <p>A list of the services being subscribed to.</p>
</dd></dl></dd><dt class="request"><a name="request_analysis.setPriorityFiles">analysis.setPriorityFiles</a> (<a href="#request_analysis.setPriorityFiles">#</a>)</dt><dd><div class="box"><pre>request: {
"id": String
"method": "analysis.setPriorityFiles"
@@ -757,11 +787,11 @@
"error": <span style="color:#999999">optional</span> <a href="#type_RequestError">RequestError</a>
}</pre></div>
<p>
- Subscribe for services. All previous subscriptions are
- replaced by the current set of subscriptions. If a given
- service is not included as a key in the map then no files
- will be subscribed to the service, exactly as if the service
- had been included in the map with an explicit empty list of
+ Subscribe for services that are specific to individual files.
+ All previous subscriptions are replaced by the current set of
+ subscriptions. If a given service is not included as a key in the map
+ then no files will be subscribed to the service, exactly as if the
+ service had been included in the map with an explicit empty list of
files.
</p>
<p>
@@ -849,7 +879,27 @@
<p>
The options that are to be used to control analysis.
</p>
- </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification"><a name="notification_analysis.errors">analysis.errors</a> (<a href="#notification_analysis.errors">#</a>)</dt><dd><div class="box"><pre>notification: {
+ </dd></dl></dd></dl><h3>Notifications</h3><dl><dt class="notification"><a name="notification_analysis.analyzedFiles">analysis.analyzedFiles</a> (<a href="#notification_analysis.analyzedFiles">#</a>)</dt><dd><div class="box"><pre>notification: {
+ "event": "analysis.analyzedFiles"
+ "params": {
+ "<b>directories</b>": List<<a href="#type_FilePath">FilePath</a>>
+ }
+}</pre></div>
+ <p>
+ Reports the paths of the files that are being analyzed.
+ </p>
+ <p>
+ This notification is not subscribed to by default. Clients can
+ subscribe by including the value <tt>"ANALYZED_FILES"</tt> in the list
+ of services passed in an analysis.setGeneralSubscriptions request.
+ </p>
+
+ <h4>Parameters</h4><dl><dt class="field"><b><i>directories ( List<<a href="#type_FilePath">FilePath</a>> )</i></b></dt><dd>
+
+ <p>
+ A list of the paths of the files that are being analyzed.
+ </p>
+ </dd></dl></dd><dt class="notification"><a name="notification_analysis.errors">analysis.errors</a> (<a href="#notification_analysis.errors">#</a>)</dt><dd><div class="box"><pre>notification: {
"event": "analysis.errors"
"params": {
"<b>file</b>": <a href="#type_FilePath">FilePath</a>
@@ -2150,6 +2200,7 @@
+
<dl><dt class="typeDefinition"><a name="type_AddContentOverlay">AddContentOverlay: object</a></dt><dd>
<p>
A directive to begin overlaying the contents of a file. The
@@ -2283,11 +2334,17 @@
</p>
</dd></dl></dd><dt class="typeDefinition"><a name="type_AnalysisService">AnalysisService: String</a></dt><dd>
<p>
- An enumeration of the services provided by the analysis
- domain.
+ An enumeration of the services provided by the analysis domain that
+ are related to a specific list of files.
</p>
- <dl><dt class="value">FOLDING</dt><dt class="value">HIGHLIGHTS</dt><dt class="value">INVALIDATE</dt><dt class="value">NAVIGATION</dt><dt class="value">OCCURRENCES</dt><dt class="value">OUTLINE</dt><dt class="value">OVERRIDES</dt></dl></dd><dt class="typeDefinition"><a name="type_AnalysisStatus">AnalysisStatus: object</a></dt><dd>
+ <dl><dt class="value">FOLDING</dt><dt class="value">HIGHLIGHTS</dt><dt class="value">INVALIDATE</dt><dd>
+
+ <p>
+ This service is not currently implemented and will become a
+ GeneralAnalysisService in a future release.
+ </p>
+ </dd><dt class="value">NAVIGATION</dt><dt class="value">OCCURRENCES</dt><dt class="value">OUTLINE</dt><dt class="value">OVERRIDES</dt></dl></dd><dt class="typeDefinition"><a name="type_AnalysisStatus">AnalysisStatus: object</a></dt><dd>
<p>
An indication of the current state of analysis.
</p>
@@ -2633,7 +2690,13 @@
<p>
The length of the region to be folded.
</p>
- </dd></dl></dd><dt class="typeDefinition"><a name="type_HighlightRegion">HighlightRegion: object</a></dt><dd>
+ </dd></dl></dd><dt class="typeDefinition"><a name="type_GeneralAnalysisService">GeneralAnalysisService: String</a></dt><dd>
+ <p>
+ An enumeration of the services provided by the analysis domain that are
+ general in nature (that is, are not specific to some list of files).
+ </p>
+
+ <dl><dt class="value">ANALYZED_FILES</dt></dl></dd><dt class="typeDefinition"><a name="type_HighlightRegion">HighlightRegion: object</a></dt><dd>
<p>
A description of a region that could have special highlighting
associated with it.
@@ -2660,7 +2723,154 @@
applied to files.
</p>
- <dl><dt class="value">ANNOTATION</dt><dt class="value">BUILT_IN</dt><dt class="value">CLASS</dt><dt class="value">COMMENT_BLOCK</dt><dt class="value">COMMENT_DOCUMENTATION</dt><dt class="value">COMMENT_END_OF_LINE</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">DIRECTIVE</dt><dt class="value">DYNAMIC_TYPE</dt><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dt class="value">FIELD_STATIC</dt><dt class="value">FUNCTION</dt><dt class="value">FUNCTION_DECLARATION</dt><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER_DECLARATION</dt><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PREFIX</dt><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class="value">LOCAL_VARIABLE</dt><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">METHOD</dt><dt class="value">METHOD_DECLARATION</dt><dt class="value">METHOD_DECLARATION_STATIC</dt><dt class="value">METHOD_STATIC</dt><dt class="value">PARAMETER</dt><dt class="value">SETTER_DECLARATION</dt><dt class="value">TOP_LEVEL_VARIABLE</dt><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAMETER</dt></dl></dd><dt class="typeDefinition"><a name="type_HoverInformation">HoverInformation: object</a></dt><dd>
+ <dl><dt class="value">ANNOTATION</dt><dt class="value">BUILT_IN</dt><dt class="value">CLASS</dt><dt class="value">COMMENT_BLOCK</dt><dt class="value">COMMENT_DOCUMENTATION</dt><dt class="value">COMMENT_END_OF_LINE</dt><dt class="value">CONSTRUCTOR</dt><dt class="value">DIRECTIVE</dt><dt class="value">DYNAMIC_TYPE</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">DYNAMIC_LOCAL_VARIABLE_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">DYNAMIC_PARAMETER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">DYNAMIC_PARAMETER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">ENUM</dt><dt class="value">ENUM_CONSTANT</dt><dt class="value">FIELD</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">FIELD_STATIC</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">FUNCTION</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">FUNCTION_DECLARATION</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">FUNCTION_TYPE_ALIAS</dt><dt class="value">GETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">IDENTIFIER_DEFAULT</dt><dt class="value">IMPORT_PREFIX</dt><dt class="value">INSTANCE_FIELD_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INSTANCE_FIELD_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INSTANCE_GETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INSTANCE_GETTER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INSTANCE_METHOD_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INSTANCE_METHOD_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INSTANCE_SETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INSTANCE_SETTER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">INVALID_STRING_ESCAPE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">KEYWORD</dt><dt class="value">LABEL</dt><dt class="value">LIBRARY_NAME</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">LITERAL_BOOLEAN</dt><dt class="value">LITERAL_DOUBLE</dt><dt class="value">LITERAL_INTEGER</dt><dt class="value">LITERAL_LIST</dt><dt class="value">LITERAL_MAP</dt><dt class="value">LITERAL_STRING</dt><dt class="value">LOCAL_FUNCTION_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">LOCAL_FUNCTION_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">LOCAL_VARIABLE</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">LOCAL_VARIABLE_DECLARATION</dt><dt class="value">LOCAL_VARIABLE_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">METHOD</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">METHOD_DECLARATION</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">METHOD_DECLARATION_STATIC</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">METHOD_STATIC</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">PARAMETER</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">SETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_VARIABLE</dt><dd>
+
+ <p>Only for version 1 of highlight.</p>
+ </dd><dt class="value">PARAMETER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">PARAMETER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">STATIC_FIELD_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">STATIC_GETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">STATIC_GETTER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">STATIC_METHOD_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">STATIC_METHOD_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">STATIC_SETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">STATIC_SETTER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_FUNCTION_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_FUNCTION_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_GETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_GETTER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_SETTER_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_SETTER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TOP_LEVEL_VARIABLE_DECLARATION</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">TYPE_NAME_DYNAMIC</dt><dt class="value">TYPE_PARAMETER</dt><dt class="value">UNRESOLVED_INSTANCE_MEMBER_REFERENCE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd><dt class="value">VALID_STRING_ESCAPE</dt><dd>
+
+ <p>Only for version 2 of highlight.</p>
+ </dd></dl></dd><dt class="typeDefinition"><a name="type_HoverInformation">HoverInformation: object</a></dt><dd>
<p>
The hover information associated with a specific location.
</p>
diff --git a/pkg/analysis_server/lib/completion/completion_core.dart b/pkg/analysis_server/lib/completion/completion_core.dart
index 691ab89..39d6a83 100644
--- a/pkg/analysis_server/lib/completion/completion_core.dart
+++ b/pkg/analysis_server/lib/completion/completion_core.dart
@@ -45,7 +45,8 @@
AnalysisContext get context;
/**
- * The offset within the source at which the completion is being requested.
+ * Return the offset within the source at which the completion is being
+ * requested.
*/
int get offset;
diff --git a/pkg/analysis_server/lib/completion/completion_dart.dart b/pkg/analysis_server/lib/completion/completion_dart.dart
index daeba77..ee21567 100644
--- a/pkg/analysis_server/lib/completion/completion_dart.dart
+++ b/pkg/analysis_server/lib/completion/completion_dart.dart
@@ -6,6 +6,8 @@
import 'package:analysis_server/completion/completion_core.dart';
import 'package:analyzer/src/generated/ast.dart';
+import 'package:analyzer/src/generated/engine.dart';
+import 'package:analyzer/src/generated/source.dart';
/**
* An object used to produce completions for a specific error within a Dart
@@ -17,9 +19,30 @@
abstract class DartCompletionContributor extends CompletionContributor {
@override
CompletionResult computeSuggestions(CompletionRequest request) {
- // TODO(brianwilkerson) Implement this by getting the information required
- // to create a DartCompletionRequest and calling:
- // return internalComputeSuggestions(dartRequest);
+ if (request is DartCompletionRequest) {
+ return internalComputeSuggestions(request);
+ }
+ AnalysisContext context = request.context;
+ Source source = request.source;
+ List<Source> libraries = context.getLibrariesContaining(source);
+ if (libraries.length < 1) {
+ return null;
+ }
+// CompilationUnit unit =
+// context.getResolvedCompilationUnit2(source, libraries[0]);
+// bool isResolved = true;
+// if (unit == null) {
+// // TODO(brianwilkerson) Implement a method for getting a parsed
+// // compilation unit without parsing the unit if it hasn't been parsed.
+// unit = context.getParsedCompilationUnit(source);
+// if (unit == null) {
+// return null;
+// }
+// isResolved = false;
+// }
+// DartCompletionRequest dartRequest =
+// new DartCompletionRequestImpl(request, unit, isResolved);
+// return internalComputeSuggestions(dartRequest);
return null;
}
@@ -42,7 +65,7 @@
bool get isResolved;
/**
- * The compilation unit in which the completion was requested.
+ * Return the compilation unit in which the completion was requested.
*/
CompilationUnit get unit;
@@ -52,7 +75,7 @@
//DartCompletionCache get cache;
/**
- * The completion target. This determines what part of the parse tree
+ * Return the completion target. This determines what part of the parse tree
* will receive the newly inserted text.
*/
//CompletionTarget get target;
diff --git a/pkg/analysis_server/lib/src/analysis_server.dart b/pkg/analysis_server/lib/src/analysis_server.dart
index 7f135d2..57fd203 100644
--- a/pkg/analysis_server/lib/src/analysis_server.dart
+++ b/pkg/analysis_server/lib/src/analysis_server.dart
@@ -35,6 +35,7 @@
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
import 'package:analyzer/src/generated/utilities_general.dart';
+import 'package:package_config/packages.dart';
import 'package:plugin/plugin.dart';
typedef void OptionUpdater(AnalysisOptionsImpl options);
@@ -72,7 +73,7 @@
* The version of the analysis server. The value should be replaced
* automatically during the build.
*/
- static final String VERSION = '1.7.0';
+ static final String VERSION = '1.9.0';
/**
* The number of milliseconds to perform operations before inserting
@@ -82,6 +83,11 @@
static int performOperationDelayFreqency = 25;
/**
+ * The options of this server instance.
+ */
+ AnalysisServerOptions options;
+
+ /**
* The channel from which requests are received and to which responses should
* be sent.
*/
@@ -108,10 +114,10 @@
final ServerPlugin serverPlugin;
/**
- * [ContextManager] which handles the mapping from analysis roots
- * to context directories.
+ * The [ContextManager] that handles the mapping from analysis roots to
+ * context directories.
*/
- ServerContextManager contextDirectoryManager;
+ ServerContextManager contextManager;
/**
* A flag indicating whether the server is running. When false, contexts
@@ -164,6 +170,12 @@
Set<ServerService> serverServices = new HashSet<ServerService>();
/**
+ * A set of the [GeneralAnalysisService]s to send notifications for.
+ */
+ Set<GeneralAnalysisService> generalAnalysisServices =
+ new HashSet<GeneralAnalysisService>();
+
+ /**
* A table mapping [AnalysisService]s to the file paths for which these
* notifications should be sent.
*/
@@ -251,9 +263,21 @@
List<Plugin> userDefinedPlugins;
/**
+ * If the "analysis.analyzedFiles" notification is currently being subscribed
+ * to (see [generalAnalysisServices]), and at least one such notification has
+ * been sent since the subscription was enabled, the set of analyzed files
+ * that was delivered in the most recently sent notification. Otherwise
+ * `null`.
+ */
+ Set<String> prevAnalyzedFiles;
+
+ /**
* Initialize a newly created server to receive requests from and send
* responses to the given [channel].
*
+ * If a [contextManager] is provided, then the [packageResolverProvider] will
+ * be ignored.
+ *
* If [rethrowExceptions] is true, then any exceptions thrown by analysis are
* propagated up the call stack. The default is true to allow analysis
* exceptions to show up in unit tests, but it should be set to false when
@@ -261,23 +285,31 @@
*/
AnalysisServer(this.channel, this.resourceProvider,
OptimizingPubPackageMapProvider packageMapProvider, Index _index,
- this.serverPlugin, AnalysisServerOptions analysisServerOptions,
- this.defaultSdk, this.instrumentationService,
- {ResolverProvider packageResolverProvider: null,
+ this.serverPlugin, this.options, this.defaultSdk,
+ this.instrumentationService, {ContextManager contextManager: null,
+ ResolverProvider packageResolverProvider: null,
this.rethrowExceptions: true})
: index = _index,
searchEngine = _index != null ? createSearchEngine(_index) : null {
_performance = performanceDuringStartup;
operationQueue = new ServerOperationQueue();
- contextDirectoryManager = new ServerContextManager(this, resourceProvider,
- packageResolverProvider, packageMapProvider, instrumentationService);
- contextDirectoryManager.defaultOptions.incremental = true;
- contextDirectoryManager.defaultOptions.incrementalApi =
- analysisServerOptions.enableIncrementalResolutionApi;
- contextDirectoryManager.defaultOptions.incrementalValidation =
- analysisServerOptions.enableIncrementalResolutionValidation;
- contextDirectoryManager.defaultOptions.generateImplicitErrors = false;
- _noErrorNotification = analysisServerOptions.noErrorNotification;
+ if (contextManager == null) {
+ contextManager = new ServerContextManager(this, resourceProvider,
+ packageResolverProvider, packageMapProvider, instrumentationService);
+ AnalysisOptionsImpl analysisOptions =
+ (contextManager as ServerContextManager).defaultOptions;
+ analysisOptions.incremental = true;
+ analysisOptions.incrementalApi = options.enableIncrementalResolutionApi;
+ analysisOptions.incrementalValidation =
+ options.enableIncrementalResolutionValidation;
+ analysisOptions.generateImplicitErrors = false;
+ } else if (contextManager is! ServerContextManager) {
+ // TODO(brianwilkerson) Remove this when the interface is complete.
+ throw new StateError(
+ 'The contextManager must be an instance of ServerContextManager');
+ }
+ this.contextManager = contextManager;
+ _noErrorNotification = options.noErrorNotification;
AnalysisEngine.instance.logger = new AnalysisLogger();
_onAnalysisStartedController = new StreamController.broadcast();
_onFileAnalyzedController = new StreamController.broadcast();
@@ -321,7 +353,7 @@
* The stream that is notified when contexts are added or removed.
*/
Stream<ContextsChangedEvent> get onContextsChanged =>
- contextDirectoryManager.onContextsChanged;
+ contextManager.onContextsChanged;
/**
* The stream that is notified when a single file has been analyzed.
@@ -374,7 +406,7 @@
* analyzed.
*/
void fileAnalyzed(ChangeNotice notice) {
- if (contextDirectoryManager.isInAnalysisRoot(notice.source.fullName)) {
+ if (contextManager.isInAnalysisRoot(notice.source.fullName)) {
_onFileAnalyzedController.add(notice);
}
}
@@ -465,14 +497,15 @@
{
AnalysisContext containingContext = getContainingContext(path);
if (containingContext != null) {
- Source source =
- ContextManager.createSourceInContext(containingContext, file);
+ Source source = AbstractContextManager.createSourceInContext(
+ containingContext, file);
return new ContextSourcePair(containingContext, source);
}
}
// try to find a context that analysed the file
for (AnalysisContext context in folderMap.values) {
- Source source = ContextManager.createSourceInContext(context, file);
+ Source source =
+ AbstractContextManager.createSourceInContext(context, file);
SourceKind kind = context.getKindOf(source);
if (kind != SourceKind.UNKNOWN) {
return new ContextSourcePair(context, source);
@@ -747,6 +780,10 @@
ServerPerformanceStatistics.intertask.makeCurrent();
_schedulePerformOperation();
} else {
+ if (generalAnalysisServices
+ .contains(GeneralAnalysisService.ANALYZED_FILES)) {
+ sendAnalysisNotificationAnalyzedFiles(this);
+ }
sendStatusNotification(null);
if (_onAnalysisCompleteCompleter != null) {
_onAnalysisCompleteCompleter.complete();
@@ -772,7 +809,7 @@
}
// Instruct the contextDirectoryManager to rebuild all contexts from
// scratch.
- contextDirectoryManager.refresh(roots);
+ contextManager.refresh(roots);
}
/**
@@ -834,7 +871,15 @@
if (stackTrace != null) {
stackTraceString = stackTrace.toString();
} else {
- stackTraceString = 'null stackTrace';
+ try {
+ throw 'ignored';
+ } catch (ignored, stackTrace) {
+ stackTraceString = stackTrace.toString();
+ }
+ if (stackTraceString == null) {
+ // This code should be unreachable.
+ stackTraceString = 'null stackTrace';
+ }
}
// send the notification
channel.sendNotification(
@@ -877,8 +922,7 @@
void setAnalysisRoots(String requestId, List<String> includedPaths,
List<String> excludedPaths, Map<String, String> packageRoots) {
try {
- contextDirectoryManager.setRoots(
- includedPaths, excludedPaths, packageRoots);
+ contextManager.setRoots(includedPaths, excludedPaths, packageRoots);
} on UnimplementedError catch (e) {
throw new RequestFailure(
new Response.unsupportedFeature(requestId, e.message));
@@ -937,6 +981,25 @@
}
/**
+ * Implementation for `analysis.setGeneralSubscriptions`.
+ */
+ void setGeneralAnalysisSubscriptions(
+ List<GeneralAnalysisService> subscriptions) {
+ Set<GeneralAnalysisService> newServices = subscriptions.toSet();
+ if (newServices.contains(GeneralAnalysisService.ANALYZED_FILES) &&
+ !generalAnalysisServices
+ .contains(GeneralAnalysisService.ANALYZED_FILES) &&
+ isAnalysisComplete()) {
+ sendAnalysisNotificationAnalyzedFiles(this);
+ } else if (!newServices.contains(GeneralAnalysisService.ANALYZED_FILES) &&
+ generalAnalysisServices
+ .contains(GeneralAnalysisService.ANALYZED_FILES)) {
+ prevAnalyzedFiles = null;
+ }
+ generalAnalysisServices = newServices;
+ }
+
+ /**
* Set the priority files to the given [files].
*/
void setPriorityFiles(String requestId, List<String> files) {
@@ -962,7 +1025,8 @@
Uri uri = context.sourceFactory.restoreUri(source);
if (uri.scheme != 'file') {
preferredContext = context;
- source = ContextManager.createSourceInContext(context, resource);
+ source = AbstractContextManager.createSourceInContext(
+ context, resource);
break;
}
}
@@ -1009,8 +1073,7 @@
* absolute path.
*/
bool shouldSendErrorsNotificationFor(String file) {
- return !_noErrorNotification &&
- contextDirectoryManager.isInAnalysisRoot(file);
+ return !_noErrorNotification && contextManager.isInAnalysisRoot(file);
}
void shutdown() {
@@ -1157,11 +1220,13 @@
optionUpdater(options);
});
context.analysisOptions = options;
+ // TODO(brianwilkerson) As far as I can tell, this doesn't cause analysis
+ // to be scheduled for this context.
});
//
// Update the defaults used to create new contexts.
//
- AnalysisOptionsImpl options = contextDirectoryManager.defaultOptions;
+ AnalysisOptionsImpl options = contextManager.defaultOptions;
optionUpdaters.forEach((OptionUpdater optionUpdater) {
optionUpdater(options);
});
@@ -1175,8 +1240,7 @@
Set<AnalysisContext> contexts = new HashSet<AnalysisContext>();
resources.forEach((Resource resource) {
if (resource is Folder) {
- contexts
- .addAll(contextDirectoryManager.contextsInAnalysisRoot(resource));
+ contexts.addAll(contextManager.contextsInAnalysisRoot(resource));
}
});
return contexts;
@@ -1239,38 +1303,11 @@
bool enableIncrementalResolutionValidation = false;
bool noErrorNotification = false;
bool noIndex = false;
+ bool useAnalysisHighlight2 = false;
String fileReadMode = 'as-is';
}
/**
- * A [ContextsChangedEvent] indicate what contexts were added or removed.
- *
- * No context should be added to the event more than once. It does not make
- * sense, for example, for a context to be both added and removed.
- */
-class ContextsChangedEvent {
-
- /**
- * The contexts that were added to the server.
- */
- final List<AnalysisContext> added;
-
- /**
- * The contexts that were changed.
- */
- final List<AnalysisContext> changed;
-
- /**
- * The contexts that were removed from the server.
- */
- final List<AnalysisContext> removed;
-
- ContextsChangedEvent({this.added: AnalysisContext.EMPTY_LIST,
- this.changed: AnalysisContext.EMPTY_LIST,
- this.removed: AnalysisContext.EMPTY_LIST});
-}
-
-/**
* Information about a file - an [AnalysisContext] that analyses the file,
* and the [Source] representing the file in this context.
*/
@@ -1300,7 +1337,7 @@
PriorityChangeEvent(this.firstSource);
}
-class ServerContextManager extends ContextManager {
+class ServerContextManager extends AbstractContextManager {
final AnalysisServer analysisServer;
/**
@@ -1330,12 +1367,13 @@
_onContextsChangedController.stream;
@override
- AnalysisContext addContext(Folder folder, UriResolver packageUriResolver) {
+ AnalysisContext addContext(
+ Folder folder, UriResolver packageUriResolver, Packages packages) {
InternalAnalysisContext context =
AnalysisEngine.instance.createAnalysisContext();
context.contentCache = analysisServer.overlayState;
analysisServer.folderMap[folder] = context;
- context.sourceFactory = _createSourceFactory(packageUriResolver);
+ context.sourceFactory = _createSourceFactory(packageUriResolver, packages);
context.analysisOptions = new AnalysisOptionsImpl.from(defaultOptions);
_onContextsChangedController
.add(new ContextsChangedEvent(added: [context]));
@@ -1408,9 +1446,9 @@
@override
void updateContextPackageUriResolver(
- Folder contextFolder, UriResolver packageUriResolver) {
+ Folder contextFolder, UriResolver packageUriResolver, Packages packages) {
AnalysisContext context = analysisServer.folderMap[contextFolder];
- context.sourceFactory = _createSourceFactory(packageUriResolver);
+ context.sourceFactory = _createSourceFactory(packageUriResolver, packages);
_onContextsChangedController
.add(new ContextsChangedEvent(changed: [context]));
analysisServer.schedulePerformAnalysisOperation(context);
@@ -1426,9 +1464,10 @@
/**
* Set up a [SourceFactory] that resolves packages using the given
- * [packageUriResolver].
+ * [packageUriResolver] and [packages] resolution strategy.
*/
- SourceFactory _createSourceFactory(UriResolver packageUriResolver) {
+ SourceFactory _createSourceFactory(
+ UriResolver packageUriResolver, Packages packages) {
UriResolver dartResolver = new DartUriResolver(analysisServer.defaultSdk);
UriResolver resourceResolver = new ResourceUriResolver(resourceProvider);
List<UriResolver> resolvers = [];
@@ -1442,7 +1481,7 @@
resolvers.add(packageUriResolver);
}
resolvers.add(resourceResolver);
- return new SourceFactory(resolvers);
+ return new SourceFactory(resolvers, packages);
}
}
diff --git a/pkg/analysis_server/lib/src/computer/computer_highlights2.dart b/pkg/analysis_server/lib/src/computer/computer_highlights2.dart
new file mode 100644
index 0000000..f89d278
--- /dev/null
+++ b/pkg/analysis_server/lib/src/computer/computer_highlights2.dart
@@ -0,0 +1,770 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library computer.highlights2;
+
+import 'package:analysis_server/src/protocol.dart' hide Element;
+import 'package:analyzer/src/generated/ast.dart';
+import 'package:analyzer/src/generated/element.dart';
+import 'package:analyzer/src/generated/scanner.dart';
+
+/**
+ * A computer for [HighlightRegion]s in a Dart [CompilationUnit].
+ */
+class DartUnitHighlightsComputer2 {
+ final CompilationUnit _unit;
+
+ final List<HighlightRegion> _regions = <HighlightRegion>[];
+
+ DartUnitHighlightsComputer2(this._unit);
+
+ /**
+ * Returns the computed highlight regions, not `null`.
+ */
+ List<HighlightRegion> compute() {
+ _unit.accept(new _DartUnitHighlightsComputerVisitor2(this));
+ _addCommentRanges();
+ return _regions;
+ }
+
+ void _addCommentRanges() {
+ Token token = _unit.beginToken;
+ while (token != null && token.type != TokenType.EOF) {
+ Token commentToken = token.precedingComments;
+ while (commentToken != null) {
+ HighlightRegionType highlightType = null;
+ if (commentToken.type == TokenType.MULTI_LINE_COMMENT) {
+ if (commentToken.lexeme.startsWith('/**')) {
+ highlightType = HighlightRegionType.COMMENT_DOCUMENTATION;
+ } else {
+ highlightType = HighlightRegionType.COMMENT_BLOCK;
+ }
+ }
+ if (commentToken.type == TokenType.SINGLE_LINE_COMMENT) {
+ highlightType = HighlightRegionType.COMMENT_END_OF_LINE;
+ }
+ if (highlightType != null) {
+ _addRegion_token(commentToken, highlightType);
+ }
+ commentToken = commentToken.next;
+ }
+ token = token.next;
+ }
+ }
+
+ void _addIdentifierRegion(SimpleIdentifier node) {
+ if (_addIdentifierRegion_keyword(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_class(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_constructor(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_dynamicLocal(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_getterSetterDeclaration(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_field(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_function(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_functionTypeAlias(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_importPrefix(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_label(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_localVariable(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_method(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_parameter(node)) {
+ return;
+ }
+ if (_addIdentifierRegion_typeParameter(node)) {
+ return;
+ }
+ _addRegion_node(node, HighlightRegionType.IDENTIFIER_DEFAULT);
+ }
+
+ void _addIdentifierRegion_annotation(Annotation node) {
+ ArgumentList arguments = node.arguments;
+ if (arguments == null) {
+ _addRegion_node(node, HighlightRegionType.ANNOTATION);
+ } else {
+ _addRegion_nodeStart_tokenEnd(
+ node, arguments.beginToken, HighlightRegionType.ANNOTATION);
+ _addRegion_token(arguments.endToken, HighlightRegionType.ANNOTATION);
+ }
+ }
+
+ bool _addIdentifierRegion_class(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! ClassElement) {
+ return false;
+ }
+ ClassElement classElement = element;
+ // prepare type
+ HighlightRegionType type;
+ if (classElement.isEnum) {
+ type = HighlightRegionType.ENUM;
+ } else {
+ type = HighlightRegionType.CLASS;
+ }
+ // add region
+ return _addRegion_node(node, type);
+ }
+
+ bool _addIdentifierRegion_constructor(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! ConstructorElement) {
+ return false;
+ }
+ return _addRegion_node(node, HighlightRegionType.CONSTRUCTOR);
+ }
+
+ bool _addIdentifierRegion_dynamicLocal(SimpleIdentifier node) {
+ // no propagated type
+ if (node.propagatedType != null) {
+ return false;
+ }
+ // has dynamic static type
+ DartType staticType = node.staticType;
+ if (staticType == null || !staticType.isDynamic) {
+ return false;
+ }
+ // OK
+ Element element = node.staticElement;
+ if (element is LocalVariableElement) {
+ HighlightRegionType type = node.inDeclarationContext()
+ ? HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_DECLARATION
+ : HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_REFERENCE;
+ return _addRegion_node(node, type);
+ }
+ if (element is ParameterElement) {
+ HighlightRegionType type = node.inDeclarationContext()
+ ? HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION
+ : HighlightRegionType.DYNAMIC_PARAMETER_REFERENCE;
+ return _addRegion_node(node, type);
+ }
+ return false;
+ }
+
+ bool _addIdentifierRegion_field(SimpleIdentifier node) {
+ Element element = node.bestElement;
+ if (element is FieldFormalParameterElement) {
+ element = (element as FieldFormalParameterElement).field;
+ }
+ // prepare type
+ HighlightRegionType type;
+ if (element is FieldElement) {
+ Element enclosingElement = element.enclosingElement;
+ if (enclosingElement is ClassElement && enclosingElement.isEnum) {
+ type = HighlightRegionType.ENUM_CONSTANT;
+ } else if (element.isStatic) {
+ type = HighlightRegionType.STATIC_FIELD_DECLARATION;
+ } else {
+ type = node.inDeclarationContext()
+ ? HighlightRegionType.INSTANCE_FIELD_DECLARATION
+ : HighlightRegionType.INSTANCE_FIELD_REFERENCE;
+ }
+ } else if (element is TopLevelVariableElement) {
+ type = HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION;
+ }
+ if (element is PropertyAccessorElement) {
+ PropertyAccessorElement accessor = element;
+ Element enclosingElement = element.enclosingElement;
+ if (accessor.variable is TopLevelVariableElement) {
+ type = accessor.isGetter
+ ? HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE
+ : HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE;
+ } else if (enclosingElement is ClassElement && enclosingElement.isEnum) {
+ type = HighlightRegionType.ENUM_CONSTANT;
+ } else if (accessor.isStatic) {
+ type = accessor.isGetter
+ ? HighlightRegionType.STATIC_GETTER_REFERENCE
+ : HighlightRegionType.STATIC_SETTER_REFERENCE;
+ } else {
+ type = accessor.isGetter
+ ? HighlightRegionType.INSTANCE_GETTER_REFERENCE
+ : HighlightRegionType.INSTANCE_SETTER_REFERENCE;
+ }
+ }
+ // add region
+ if (type != null) {
+ return _addRegion_node(node, type);
+ }
+ return false;
+ }
+
+ bool _addIdentifierRegion_function(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! FunctionElement) {
+ return false;
+ }
+ HighlightRegionType type;
+ bool isTopLevel = element.enclosingElement is CompilationUnitElement;
+ if (node.inDeclarationContext()) {
+ type = isTopLevel
+ ? HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION
+ : HighlightRegionType.LOCAL_FUNCTION_DECLARATION;
+ } else {
+ type = isTopLevel
+ ? HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE
+ : HighlightRegionType.LOCAL_FUNCTION_REFERENCE;
+ }
+ return _addRegion_node(node, type);
+ }
+
+ bool _addIdentifierRegion_functionTypeAlias(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! FunctionTypeAliasElement) {
+ return false;
+ }
+ return _addRegion_node(node, HighlightRegionType.FUNCTION_TYPE_ALIAS);
+ }
+
+ bool _addIdentifierRegion_getterSetterDeclaration(SimpleIdentifier node) {
+ // should be declaration
+ AstNode parent = node.parent;
+ if (!(parent is MethodDeclaration || parent is FunctionDeclaration)) {
+ return false;
+ }
+ // should be property accessor
+ Element element = node.staticElement;
+ if (element is! PropertyAccessorElement) {
+ return false;
+ }
+ // getter or setter
+ PropertyAccessorElement propertyAccessorElement =
+ element as PropertyAccessorElement;
+ bool isTopLevel = element.enclosingElement is CompilationUnitElement;
+ HighlightRegionType type;
+ if (propertyAccessorElement.isGetter) {
+ if (isTopLevel) {
+ type = HighlightRegionType.TOP_LEVEL_GETTER_DECLARATION;
+ } else if (propertyAccessorElement.isStatic) {
+ type = HighlightRegionType.STATIC_GETTER_DECLARATION;
+ } else {
+ type = HighlightRegionType.INSTANCE_GETTER_DECLARATION;
+ }
+ } else {
+ if (isTopLevel) {
+ type = HighlightRegionType.TOP_LEVEL_SETTER_DECLARATION;
+ } else if (propertyAccessorElement.isStatic) {
+ type = HighlightRegionType.STATIC_SETTER_DECLARATION;
+ } else {
+ type = HighlightRegionType.INSTANCE_SETTER_DECLARATION;
+ }
+ }
+ return _addRegion_node(node, type);
+ }
+
+ bool _addIdentifierRegion_importPrefix(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! PrefixElement) {
+ return false;
+ }
+ return _addRegion_node(node, HighlightRegionType.IMPORT_PREFIX);
+ }
+
+ bool _addIdentifierRegion_keyword(SimpleIdentifier node) {
+ String name = node.name;
+ if (name == "void") {
+ return _addRegion_node(node, HighlightRegionType.KEYWORD);
+ }
+ return false;
+ }
+
+ bool _addIdentifierRegion_label(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! LabelElement) {
+ return false;
+ }
+ return _addRegion_node(node, HighlightRegionType.LABEL);
+ }
+
+ bool _addIdentifierRegion_localVariable(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! LocalVariableElement) {
+ return false;
+ }
+ // OK
+ HighlightRegionType type = node.inDeclarationContext()
+ ? HighlightRegionType.LOCAL_VARIABLE_DECLARATION
+ : HighlightRegionType.LOCAL_VARIABLE_REFERENCE;
+ return _addRegion_node(node, type);
+ }
+
+ bool _addIdentifierRegion_method(SimpleIdentifier node) {
+ Element element = node.bestElement;
+ if (element is! MethodElement) {
+ return false;
+ }
+ MethodElement methodElement = element as MethodElement;
+ bool isStatic = methodElement.isStatic;
+ // OK
+ HighlightRegionType type;
+ if (node.inDeclarationContext()) {
+ if (isStatic) {
+ type = HighlightRegionType.STATIC_METHOD_DECLARATION;
+ } else {
+ type = HighlightRegionType.INSTANCE_METHOD_DECLARATION;
+ }
+ } else {
+ if (isStatic) {
+ type = HighlightRegionType.STATIC_METHOD_REFERENCE;
+ } else {
+ type = HighlightRegionType.INSTANCE_METHOD_REFERENCE;
+ }
+ }
+ return _addRegion_node(node, type);
+ }
+
+ bool _addIdentifierRegion_parameter(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! ParameterElement) {
+ return false;
+ }
+ HighlightRegionType type = node.inDeclarationContext()
+ ? HighlightRegionType.PARAMETER_DECLARATION
+ : HighlightRegionType.PARAMETER_REFERENCE;
+ return _addRegion_node(node, type);
+ }
+
+ bool _addIdentifierRegion_typeParameter(SimpleIdentifier node) {
+ Element element = node.staticElement;
+ if (element is! TypeParameterElement) {
+ return false;
+ }
+ return _addRegion_node(node, HighlightRegionType.TYPE_PARAMETER);
+ }
+
+ void _addRegion(int offset, int length, HighlightRegionType type) {
+ _regions.add(new HighlightRegion(type, offset, length));
+ }
+
+ bool _addRegion_node(AstNode node, HighlightRegionType type) {
+ int offset = node.offset;
+ int length = node.length;
+ _addRegion(offset, length, type);
+ return true;
+ }
+
+ void _addRegion_nodeStart_tokenEnd(
+ AstNode a, Token b, HighlightRegionType type) {
+ int offset = a.offset;
+ int end = b.end;
+ _addRegion(offset, end - offset, type);
+ }
+
+ void _addRegion_token(Token token, HighlightRegionType type) {
+ if (token != null) {
+ int offset = token.offset;
+ int length = token.length;
+ _addRegion(offset, length, type);
+ }
+ }
+
+ void _addRegion_tokenStart_tokenEnd(
+ Token a, Token b, HighlightRegionType type) {
+ int offset = a.offset;
+ int end = b.end;
+ _addRegion(offset, end - offset, type);
+ }
+}
+
+/**
+ * An AST visitor for [DartUnitHighlightsComputer2].
+ */
+class _DartUnitHighlightsComputerVisitor2 extends RecursiveAstVisitor<Object> {
+ final DartUnitHighlightsComputer2 computer;
+
+ _DartUnitHighlightsComputerVisitor2(this.computer);
+
+ @override
+ Object visitAnnotation(Annotation node) {
+ computer._addIdentifierRegion_annotation(node);
+ return super.visitAnnotation(node);
+ }
+
+ @override
+ Object visitAsExpression(AsExpression node) {
+ computer._addRegion_token(node.asOperator, HighlightRegionType.BUILT_IN);
+ return super.visitAsExpression(node);
+ }
+
+ @override
+ Object visitAssertStatement(AssertStatement node) {
+ computer._addRegion_token(node.assertKeyword, HighlightRegionType.KEYWORD);
+ return super.visitAssertStatement(node);
+ }
+
+ @override
+ Object visitAwaitExpression(AwaitExpression node) {
+ computer._addRegion_token(node.awaitKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitAwaitExpression(node);
+ }
+
+ @override
+ Object visitBlockFunctionBody(BlockFunctionBody node) {
+ _addRegions_functionBody(node);
+ return super.visitBlockFunctionBody(node);
+ }
+
+ @override
+ Object visitBooleanLiteral(BooleanLiteral node) {
+ computer._addRegion_node(node, HighlightRegionType.KEYWORD);
+ computer._addRegion_node(node, HighlightRegionType.LITERAL_BOOLEAN);
+ return super.visitBooleanLiteral(node);
+ }
+
+ @override
+ Object visitBreakStatement(BreakStatement node) {
+ computer._addRegion_token(node.breakKeyword, HighlightRegionType.KEYWORD);
+ return super.visitBreakStatement(node);
+ }
+
+ @override
+ Object visitCatchClause(CatchClause node) {
+ computer._addRegion_token(node.catchKeyword, HighlightRegionType.KEYWORD);
+ computer._addRegion_token(node.onKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitCatchClause(node);
+ }
+
+ @override
+ Object visitClassDeclaration(ClassDeclaration node) {
+ computer._addRegion_token(node.classKeyword, HighlightRegionType.KEYWORD);
+ computer._addRegion_token(
+ node.abstractKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitClassDeclaration(node);
+ }
+
+ @override
+ Object visitClassTypeAlias(ClassTypeAlias node) {
+ computer._addRegion_token(
+ node.abstractKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitClassTypeAlias(node);
+ }
+
+ @override
+ Object visitConstructorDeclaration(ConstructorDeclaration node) {
+ computer._addRegion_token(
+ node.externalKeyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(
+ node.factoryKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitConstructorDeclaration(node);
+ }
+
+ @override
+ Object visitContinueStatement(ContinueStatement node) {
+ computer._addRegion_token(
+ node.continueKeyword, HighlightRegionType.KEYWORD);
+ return super.visitContinueStatement(node);
+ }
+
+ @override
+ Object visitDoStatement(DoStatement node) {
+ computer._addRegion_token(node.doKeyword, HighlightRegionType.KEYWORD);
+ computer._addRegion_token(node.whileKeyword, HighlightRegionType.KEYWORD);
+ return super.visitDoStatement(node);
+ }
+
+ @override
+ Object visitDoubleLiteral(DoubleLiteral node) {
+ computer._addRegion_node(node, HighlightRegionType.LITERAL_DOUBLE);
+ return super.visitDoubleLiteral(node);
+ }
+
+ @override
+ Object visitEnumDeclaration(EnumDeclaration node) {
+ computer._addRegion_token(node.enumKeyword, HighlightRegionType.KEYWORD);
+ return super.visitEnumDeclaration(node);
+ }
+
+ @override
+ Object visitExportDirective(ExportDirective node) {
+ computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
+ computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
+ return super.visitExportDirective(node);
+ }
+
+ @override
+ Object visitExpressionFunctionBody(ExpressionFunctionBody node) {
+ _addRegions_functionBody(node);
+ return super.visitExpressionFunctionBody(node);
+ }
+
+ @override
+ Object visitFieldDeclaration(FieldDeclaration node) {
+ computer._addRegion_token(node.staticKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitFieldDeclaration(node);
+ }
+
+ @override
+ Object visitForEachStatement(ForEachStatement node) {
+ computer._addRegion_token(node.awaitKeyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(node.forKeyword, HighlightRegionType.KEYWORD);
+ computer._addRegion_token(node.inKeyword, HighlightRegionType.KEYWORD);
+ return super.visitForEachStatement(node);
+ }
+
+ @override
+ Object visitForStatement(ForStatement node) {
+ computer._addRegion_token(node.forKeyword, HighlightRegionType.KEYWORD);
+ return super.visitForStatement(node);
+ }
+
+ @override
+ Object visitFunctionDeclaration(FunctionDeclaration node) {
+ computer._addRegion_token(
+ node.externalKeyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(
+ node.propertyKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitFunctionDeclaration(node);
+ }
+
+ @override
+ Object visitFunctionTypeAlias(FunctionTypeAlias node) {
+ computer._addRegion_token(
+ node.typedefKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitFunctionTypeAlias(node);
+ }
+
+ @override
+ Object visitHideCombinator(HideCombinator node) {
+ computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
+ return super.visitHideCombinator(node);
+ }
+
+ @override
+ Object visitIfStatement(IfStatement node) {
+ computer._addRegion_token(node.ifKeyword, HighlightRegionType.KEYWORD);
+ return super.visitIfStatement(node);
+ }
+
+ @override
+ Object visitImplementsClause(ImplementsClause node) {
+ computer._addRegion_token(
+ node.implementsKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitImplementsClause(node);
+ }
+
+ @override
+ Object visitImportDirective(ImportDirective node) {
+ computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
+ computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(
+ node.deferredKeyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(node.asKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitImportDirective(node);
+ }
+
+ @override
+ Object visitInstanceCreationExpression(InstanceCreationExpression node) {
+ computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
+ return super.visitInstanceCreationExpression(node);
+ }
+
+ @override
+ Object visitIntegerLiteral(IntegerLiteral node) {
+ computer._addRegion_node(node, HighlightRegionType.LITERAL_INTEGER);
+ return super.visitIntegerLiteral(node);
+ }
+
+ @override
+ Object visitIsExpression(IsExpression node) {
+ computer._addRegion_token(node.isOperator, HighlightRegionType.KEYWORD);
+ return super.visitIsExpression(node);
+ }
+
+ @override
+ Object visitLibraryDirective(LibraryDirective node) {
+ computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
+ computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
+ return super.visitLibraryDirective(node);
+ }
+
+ @override
+ Object visitListLiteral(ListLiteral node) {
+ computer._addRegion_node(node, HighlightRegionType.LITERAL_LIST);
+ computer._addRegion_token(node.constKeyword, HighlightRegionType.KEYWORD);
+ return super.visitListLiteral(node);
+ }
+
+ @override
+ Object visitMapLiteral(MapLiteral node) {
+ computer._addRegion_node(node, HighlightRegionType.LITERAL_MAP);
+ computer._addRegion_token(node.constKeyword, HighlightRegionType.KEYWORD);
+ return super.visitMapLiteral(node);
+ }
+
+ @override
+ Object visitMethodDeclaration(MethodDeclaration node) {
+ computer._addRegion_token(
+ node.externalKeyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(
+ node.modifierKeyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(
+ node.operatorKeyword, HighlightRegionType.BUILT_IN);
+ computer._addRegion_token(
+ node.propertyKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitMethodDeclaration(node);
+ }
+
+ @override
+ Object visitNativeClause(NativeClause node) {
+ computer._addRegion_token(node.nativeKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitNativeClause(node);
+ }
+
+ @override
+ Object visitNativeFunctionBody(NativeFunctionBody node) {
+ computer._addRegion_token(node.nativeKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitNativeFunctionBody(node);
+ }
+
+ @override
+ Object visitPartDirective(PartDirective node) {
+ computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
+ computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
+ return super.visitPartDirective(node);
+ }
+
+ @override
+ Object visitPartOfDirective(PartOfDirective node) {
+ computer._addRegion_node(node, HighlightRegionType.DIRECTIVE);
+ computer._addRegion_tokenStart_tokenEnd(
+ node.partKeyword, node.ofKeyword, HighlightRegionType.BUILT_IN);
+ return super.visitPartOfDirective(node);
+ }
+
+ @override
+ Object visitRethrowExpression(RethrowExpression node) {
+ computer._addRegion_token(node.rethrowKeyword, HighlightRegionType.KEYWORD);
+ return super.visitRethrowExpression(node);
+ }
+
+ @override
+ Object visitReturnStatement(ReturnStatement node) {
+ computer._addRegion_token(node.returnKeyword, HighlightRegionType.KEYWORD);
+ return super.visitReturnStatement(node);
+ }
+
+ @override
+ Object visitShowCombinator(ShowCombinator node) {
+ computer._addRegion_token(node.keyword, HighlightRegionType.BUILT_IN);
+ return super.visitShowCombinator(node);
+ }
+
+ @override
+ Object visitSimpleIdentifier(SimpleIdentifier node) {
+ computer._addIdentifierRegion(node);
+ return super.visitSimpleIdentifier(node);
+ }
+
+ @override
+ Object visitSimpleStringLiteral(SimpleStringLiteral node) {
+ computer._addRegion_node(node, HighlightRegionType.LITERAL_STRING);
+ return super.visitSimpleStringLiteral(node);
+ }
+
+ @override
+ Object visitSuperConstructorInvocation(SuperConstructorInvocation node) {
+ computer._addRegion_token(node.superKeyword, HighlightRegionType.KEYWORD);
+ return super.visitSuperConstructorInvocation(node);
+ }
+
+ @override
+ Object visitSwitchCase(SwitchCase node) {
+ computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
+ return super.visitSwitchCase(node);
+ }
+
+ @override
+ Object visitSwitchDefault(SwitchDefault node) {
+ computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
+ return super.visitSwitchDefault(node);
+ }
+
+ @override
+ Object visitSwitchStatement(SwitchStatement node) {
+ computer._addRegion_token(node.switchKeyword, HighlightRegionType.KEYWORD);
+ return super.visitSwitchStatement(node);
+ }
+
+ @override
+ Object visitThisExpression(ThisExpression node) {
+ computer._addRegion_token(node.thisKeyword, HighlightRegionType.KEYWORD);
+ return super.visitThisExpression(node);
+ }
+
+ @override
+ Object visitTryStatement(TryStatement node) {
+ computer._addRegion_token(node.tryKeyword, HighlightRegionType.KEYWORD);
+ computer._addRegion_token(node.finallyKeyword, HighlightRegionType.KEYWORD);
+ return super.visitTryStatement(node);
+ }
+
+ @override
+ Object visitTypeName(TypeName node) {
+ DartType type = node.type;
+ if (type != null) {
+ if (type.isDynamic && node.name.name == "dynamic") {
+ computer._addRegion_node(node, HighlightRegionType.TYPE_NAME_DYNAMIC);
+ return null;
+ }
+ }
+ return super.visitTypeName(node);
+ }
+
+ @override
+ Object visitVariableDeclarationList(VariableDeclarationList node) {
+ computer._addRegion_token(node.keyword, HighlightRegionType.KEYWORD);
+ return super.visitVariableDeclarationList(node);
+ }
+
+ @override
+ Object visitWhileStatement(WhileStatement node) {
+ computer._addRegion_token(node.whileKeyword, HighlightRegionType.KEYWORD);
+ return super.visitWhileStatement(node);
+ }
+
+ @override
+ Object visitWithClause(WithClause node) {
+ computer._addRegion_token(node.withKeyword, HighlightRegionType.KEYWORD);
+ return super.visitWithClause(node);
+ }
+
+ @override
+ Object visitYieldStatement(YieldStatement node) {
+ Token keyword = node.yieldKeyword;
+ Token star = node.star;
+ int offset = keyword.offset;
+ int end = star != null ? star.end : keyword.end;
+ computer._addRegion(offset, end - offset, HighlightRegionType.BUILT_IN);
+ return super.visitYieldStatement(node);
+ }
+
+ void _addRegions_functionBody(FunctionBody node) {
+ Token keyword = node.keyword;
+ if (keyword != null) {
+ Token star = node.star;
+ int offset = keyword.offset;
+ int end = star != null ? star.end : keyword.end;
+ computer._addRegion(offset, end - offset, HighlightRegionType.BUILT_IN);
+ }
+ }
+}
diff --git a/pkg/analysis_server/lib/src/computer/computer_navigation.dart b/pkg/analysis_server/lib/src/computer/computer_navigation.dart
index 1297379..b1caf9b 100644
--- a/pkg/analysis_server/lib/src/computer/computer_navigation.dart
+++ b/pkg/analysis_server/lib/src/computer/computer_navigation.dart
@@ -262,7 +262,7 @@
if (element != null) {
Source source = element.source;
if (element.context.exists(source)) {
- computer._addRegion_tokenStart_nodeEnd(node.keyword, node.uri, element);
+ computer._addRegionForNode(node.uri, element);
}
}
}
diff --git a/pkg/analysis_server/lib/src/constants.dart b/pkg/analysis_server/lib/src/constants.dart
index 63dc297..b4acd97 100644
--- a/pkg/analysis_server/lib/src/constants.dart
+++ b/pkg/analysis_server/lib/src/constants.dart
@@ -28,6 +28,8 @@
const String ANALYSIS_GET_NAVIGATION = 'analysis.getNavigation';
const String ANALYSIS_REANALYZE = 'analysis.reanalyze';
const String ANALYSIS_SET_ANALYSIS_ROOTS = 'analysis.setAnalysisRoots';
+const String ANALYSIS_SET_GENERAL_SUBSCRIPTIONS =
+ 'analysis.setGeneralSubscriptions';
const String ANALYSIS_SET_PRIORITY_FILES = 'analysis.setPriorityFiles';
const String ANALYSIS_SET_SUBSCRIPTIONS = 'analysis.setSubscriptions';
const String ANALYSIS_UPDATE_CONTENT = 'analysis.updateContent';
@@ -36,6 +38,7 @@
//
// Analysis notifications
//
+const String ANALYSIS_ANALYZED_FILES = 'analysis.analyzedFiles';
const String ANALYSIS_ERRORS = 'analysis.errors';
const String ANALYSIS_HIGHLIGHTS = 'analysis.highlights';
const String ANALYSIS_NAVIGATION = 'analysis.navigation';
diff --git a/pkg/analysis_server/lib/src/context_manager.dart b/pkg/analysis_server/lib/src/context_manager.dart
index f75b702..fb1c3b4 100644
--- a/pkg/analysis_server/lib/src/context_manager.dart
+++ b/pkg/analysis_server/lib/src/context_manager.dart
@@ -6,6 +6,7 @@
import 'dart:async';
import 'dart:collection';
+import 'dart:convert';
import 'dart:core' hide Resource;
import 'package:analysis_server/src/analysis_server.dart';
@@ -13,35 +14,52 @@
import 'package:analysis_server/uri/resolver_provider.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
+import 'package:analyzer/source/analysis_options_provider.dart';
import 'package:analyzer/source/package_map_resolver.dart';
+import 'package:analyzer/source/path_filter.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/java_io.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
+import 'package:package_config/packages.dart';
+import 'package:package_config/packages_file.dart' as pkgfile show parse;
+import 'package:package_config/src/packages_impl.dart' show MapPackages;
import 'package:path/path.dart' as pathos;
import 'package:watcher/watcher.dart';
-
-/**
- * The name of `packages` folders.
- */
-const String PACKAGES_NAME = 'packages';
-
-/**
- * File name of pubspec files.
- */
-const String PUBSPEC_NAME = 'pubspec.yaml';
+import 'package:yaml/yaml.dart';
/**
* Class that maintains a mapping from included/excluded paths to a set of
* folders that should correspond to analysis contexts.
*/
-abstract class ContextManager {
+abstract class AbstractContextManager implements ContextManager {
+
+ /**
+ * Temporary flag to hide WIP .packages support (DEP 5).
+ */
+ static bool ENABLE_PACKAGESPEC_SUPPORT = false;
+
/**
* The name of the `lib` directory.
*/
static const String LIB_DIR_NAME = 'lib';
/**
+ * The name of `packages` folders.
+ */
+ static const String PACKAGES_NAME = 'packages';
+
+ /**
+ * File name of pubspec files.
+ */
+ static const String PUBSPEC_NAME = 'pubspec.yaml';
+
+ /**
+ * File name of package spec files.
+ */
+ static const String PACKAGE_SPEC_NAME = '.packages';
+
+ /**
* [_ContextInfo] object for each included directory in the most
* recent successful call to [setRoots].
*/
@@ -93,12 +111,16 @@
*/
final OptimizingPubPackageMapProvider _packageMapProvider;
+ /// Provider of analysis options.
+ AnalysisOptionsProvider analysisOptionsProvider =
+ new AnalysisOptionsProvider();
+
/**
* The instrumentation service used to report instrumentation data.
*/
final InstrumentationService _instrumentationService;
- ContextManager(this.resourceProvider, this.packageResolverProvider,
+ AbstractContextManager(this.resourceProvider, this.packageResolverProvider,
this._packageMapProvider, this._instrumentationService) {
pathContext = resourceProvider.pathContext;
}
@@ -106,7 +128,8 @@
/**
* Create and return a new analysis context.
*/
- AnalysisContext addContext(Folder folder, UriResolver packageUriResolver);
+ AnalysisContext addContext(
+ Folder folder, UriResolver packageUriResolver, Packages packages);
/**
* Called when the set of files associated with a context have changed (or
@@ -145,10 +168,7 @@
return flushedFiles.toList(growable: false);
}
- /**
- * Return a list containing all of the contexts contained in the given
- * [analysisRoot].
- */
+ @override
List<AnalysisContext> contextsInAnalysisRoot(Folder analysisRoot) {
List<AnalysisContext> contexts = <AnalysisContext>[];
_contexts.forEach((Folder contextFolder, _ContextInfo info) {
@@ -166,10 +186,7 @@
// Do nothing.
}
- /**
- * Returns `true` if the given absolute [path] is in one of the current
- * root folders and is not excluded.
- */
+ @override
bool isInAnalysisRoot(String path) {
// check if excluded
if (_isExcluded(path)) {
@@ -185,12 +202,26 @@
return false;
}
- /**
- * Rebuild the set of contexts from scratch based on the data last sent to
- * setRoots(). Only contexts contained in the given list of analysis [roots]
- * will be rebuilt, unless the list is `null`, in which case every context
- * will be rebuilt.
- */
+ /// Process [options] for the context [folder].
+ void processOptionsForContext(Folder folder, Map<String, YamlNode> options) {
+ _ContextInfo info = _contexts[folder];
+ if (info == null) {
+ return;
+ }
+ YamlMap analyzer = options['analyzer'];
+ if (analyzer == null) {
+ // No options for analyzer.
+ return;
+ }
+
+ // Set ignore patterns.
+ YamlList exclude = analyzer['exclude'];
+ if (exclude != null) {
+ setIgnorePatternsForContext(folder, exclude);
+ }
+ }
+
+ @override
void refresh(List<Resource> roots) {
// Destroy old contexts
List<Folder> contextFolders = _contexts.keys.toList();
@@ -215,10 +246,17 @@
*/
void removeContext(Folder folder);
- /**
- * Change the set of paths which should be used as starting points to
- * determine the context directories.
- */
+ /// Sets the [ignorePatterns] for the context [folder].
+ void setIgnorePatternsForContext(Folder folder, List<String> ignorePatterns) {
+ _ContextInfo info = _contexts[folder];
+ if (info == null) {
+ return;
+ }
+ var pathFilter = info.pathFilter;
+ pathFilter.setIgnorePatterns(ignorePatterns);
+ }
+
+ @override
void setRoots(List<String> includedPaths, List<String> excludedPaths,
Map<String, String> packageRoots) {
this.packageRoots = packageRoots;
@@ -312,7 +350,7 @@
* Called when the package map for a context has changed.
*/
void updateContextPackageUriResolver(
- Folder contextFolder, UriResolver packageUriResolver);
+ Folder contextFolder, UriResolver packageUriResolver, Packages packages);
/**
* Resursively adds all Dart and HTML files to the [changeSet].
@@ -332,6 +370,10 @@
}
for (Resource child in children) {
String path = child.path;
+ // Path is being ignored.
+ if (info.ignored(path)) {
+ continue;
+ }
// add files, recurse into folders
if (child is File) {
// ignore if should not be analyzed at all
@@ -375,7 +417,7 @@
for (Resource child in children) {
String path = child.path;
// ignore excluded files or folders
- if (_isExcluded(path) || info.excludes(path)) {
+ if (_isExcluded(path) || info.excludes(path) || info.ignored(path)) {
continue;
}
// add files, recurse into folders
@@ -405,6 +447,22 @@
info.dependencySubscriptions.clear();
}
+ void _checkForPackagespecUpdate(
+ String path, _ContextInfo info, Folder folder) {
+ // Check to see if this is the .packages file for this context and if so,
+ // update the context's source factory.
+ if (pathContext.basename(path) == PACKAGE_SPEC_NAME &&
+ info.isPathToPackageDescription(path)) {
+ File packagespec = resourceProvider.getFile(path);
+ if (packagespec.exists) {
+ Packages packages = _readPackagespec(packagespec);
+ if (packages != null) {
+ updateContextPackageUriResolver(folder, null, packages);
+ }
+ }
+ }
+ }
+
/**
* Compute the appropriate package URI resolver for [folder], and store
* dependency information in [info]. Return `null` if no package map can
@@ -485,16 +543,32 @@
* Create a new empty context associated with [folder].
*/
_ContextInfo _createContext(
- Folder folder, File pubspecFile, List<_ContextInfo> children) {
+ Folder folder, File packagespecFile, List<_ContextInfo> children) {
_ContextInfo info = new _ContextInfo(
- folder, pubspecFile, children, normalizedPackageRoots[folder.path]);
+ folder, packagespecFile, children, normalizedPackageRoots[folder.path]);
_contexts[folder] = info;
+ var options = analysisOptionsProvider.getOptions(folder);
+ processOptionsForContext(folder, options);
info.changeSubscription = folder.changes.listen((WatchEvent event) {
_handleWatchEvent(folder, info, event);
});
try {
- UriResolver packageUriResolver = _computePackageUriResolver(folder, info);
- info.context = addContext(folder, packageUriResolver);
+ Packages packages;
+ UriResolver packageUriResolver;
+
+ if (ENABLE_PACKAGESPEC_SUPPORT) {
+ // Try .packages first.
+ if (pathos.basename(packagespecFile.path) == PACKAGE_SPEC_NAME) {
+ packages = _readPackagespec(packagespecFile);
+ }
+ }
+
+ // Next resort to a package uri resolver.
+ if (packages == null) {
+ packageUriResolver = _computePackageUriResolver(folder, info);
+ }
+
+ info.context = addContext(folder, packageUriResolver, packages);
info.context.name = folder.path;
} catch (_) {
info.changeSubscription.cancel();
@@ -510,13 +584,13 @@
* created for them and excluded from the context associated with the
* [folder].
*
- * If [withPubspecOnly] is `true`, a context will be created only if there
- * is a 'pubspec.yaml' file in the [folder].
+ * If [withPackageSpecOnly] is `true`, a context will be created only if there
+ * is a 'pubspec.yaml' or '.packages' file in the [folder].
*
- * Returns create pubspec-based contexts.
+ * Returns created contexts.
*/
- List<_ContextInfo> _createContexts(Folder folder, bool withPubspecOnly) {
- // try to find subfolders with pubspec files
+ List<_ContextInfo> _createContexts(Folder folder, bool withPackageSpecOnly) {
+ // Try to find subfolders with pubspecs or .packages files.
List<_ContextInfo> children = <_ContextInfo>[];
try {
for (Resource child in folder.getChildren()) {
@@ -528,20 +602,31 @@
// The directory either doesn't exist or cannot be read. Either way, there
// are no subfolders that need to be added.
}
- // check whether there is a pubspec in the folder
- File pubspecFile = folder.getChild(PUBSPEC_NAME);
- if (pubspecFile.exists) {
+
+ File packageSpec;
+
+ if (ENABLE_PACKAGESPEC_SUPPORT) {
+ // Start by looking for .packages.
+ packageSpec = folder.getChild(PACKAGE_SPEC_NAME);
+ }
+
+ // Fall back to looking for a pubspec.
+ if (packageSpec == null || !packageSpec.exists) {
+ packageSpec = folder.getChild(PUBSPEC_NAME);
+ }
+
+ if (packageSpec.exists) {
return <_ContextInfo>[
- _createContextWithSources(folder, pubspecFile, children)
+ _createContextWithSources(folder, packageSpec, children)
];
}
- // no pubspec, done
- if (withPubspecOnly) {
+ // No packagespec? Done.
+ if (withPackageSpecOnly) {
return children;
}
- // OK, create a context without a pubspec
+ // OK, create a context without a packagespec.
return <_ContextInfo>[
- _createContextWithSources(folder, pubspecFile, children)
+ _createContextWithSources(folder, packageSpec, children)
];
}
@@ -571,11 +656,11 @@
}
/**
- * Extract a new [pubspecFile]-based context from [oldInfo].
+ * Extract a new [packagespecFile]-based context from [oldInfo].
*/
- void _extractContext(_ContextInfo oldInfo, File pubspecFile) {
- Folder newFolder = pubspecFile.parent;
- _ContextInfo newInfo = _createContext(newFolder, pubspecFile, []);
+ void _extractContext(_ContextInfo oldInfo, File packagespecFile) {
+ Folder newFolder = packagespecFile.parent;
+ _ContextInfo newInfo = _createContext(newFolder, packagespecFile, []);
newInfo.parent = oldInfo;
// prepare sources to extract
Map<String, Source> extractedSources = new HashMap<String, Source>();
@@ -620,18 +705,55 @@
if (info.excludes(path)) {
return;
}
+ if (info.ignored(path)) {
+ return;
+ }
// handle the change
switch (event.type) {
case ChangeType.ADD:
if (_isInPackagesDir(path, folder)) {
return;
}
+
Resource resource = resourceProvider.getResource(path);
- // pubspec was added in a sub-folder, extract a new context
- if (_isPubspec(path) && info.isRoot && !info.isPubspec(path)) {
- _extractContext(info, resource);
- return;
+
+ if (ENABLE_PACKAGESPEC_SUPPORT) {
+ String directoryPath = pathContext.dirname(path);
+
+ // Check to see if we need to create a new context.
+ if (info.isRoot) {
+
+ // Only create a new context if this is not the same directory
+ // described by our info object.
+ if (info.folder.path != directoryPath) {
+ if (_isPubspec(path)) {
+ // Check for a sibling .packages file.
+ if (!resourceProvider.getFile(
+ pathos.join(directoryPath, PACKAGE_SPEC_NAME)).exists) {
+ _extractContext(info, resource);
+ return;
+ }
+ }
+ if (_isPackagespec(path)) {
+ // Check for a sibling pubspec.yaml file.
+ if (!resourceProvider
+ .getFile(pathos.join(directoryPath, PUBSPEC_NAME)).exists) {
+ _extractContext(info, resource);
+ return;
+ }
+ }
+ }
+ }
+ } else {
+ // pubspec was added in a sub-folder, extract a new context
+ if (_isPubspec(path) &&
+ info.isRoot &&
+ !info.isPathToPackageDescription(path)) {
+ _extractContext(info, resource);
+ return;
+ }
}
+
// If the file went away and was replaced by a folder before we
// had a chance to process the event, resource might be a Folder. In
// that case don't add it.
@@ -647,11 +769,41 @@
}
break;
case ChangeType.REMOVE:
- // pubspec was removed, merge the context into its parent
- if (info.isPubspec(path) && !info.isRoot) {
- _mergeContext(info);
- return;
+
+ // If package spec info is removed, check to see if we can merge contexts.
+ // Note that it's important to verify that there is NEITHER a .packages nor a
+ // lingering pubspec.yaml before merging.
+ if (!info.isRoot) {
+ if (ENABLE_PACKAGESPEC_SUPPORT) {
+ String directoryPath = pathContext.dirname(path);
+
+ // Only merge if this is the same directory described by our info object.
+ if (info.folder.path == directoryPath) {
+ if (_isPubspec(path)) {
+ // Check for a sibling .packages file.
+ if (!resourceProvider.getFile(
+ pathos.join(directoryPath, PACKAGE_SPEC_NAME)).exists) {
+ _mergeContext(info);
+ return;
+ }
+ }
+ if (_isPackagespec(path)) {
+ // Check for a sibling pubspec.yaml file.
+ if (!resourceProvider
+ .getFile(pathos.join(directoryPath, PUBSPEC_NAME)).exists) {
+ _mergeContext(info);
+ return;
+ }
+ }
+ }
+ } else {
+ if (info.isPathToPackageDescription(path)) {
+ _mergeContext(info);
+ return;
+ }
+ }
}
+
List<Source> sources = info.context.getSourcesWithFullName(path);
if (!sources.isEmpty) {
ChangeSet changeSet = new ChangeSet();
@@ -674,6 +826,9 @@
break;
}
+ //TODO(pquitslund): find the right place for this
+ _checkForPackagespecUpdate(path, info, folder);
+
if (info.packageMapInfo != null &&
info.packageMapInfo.isChangedDependency(path, resourceProvider)) {
_recomputePackageUriResolver(info);
@@ -683,9 +838,7 @@
/**
* Returns `true` if the given [path] is excluded by [excludedPaths].
*/
- bool _isExcluded(String path) {
- return _isExcludedBy(excludedPaths, path);
- }
+ bool _isExcluded(String path) => _isExcludedBy(excludedPaths, path);
/**
* Returns `true` if the given [path] is excluded by [excludedPaths].
@@ -709,12 +862,10 @@
return pathParts.contains(PACKAGES_NAME);
}
- /**
- * Returns `true` if the given absolute [path] is a pubspec file.
- */
- bool _isPubspec(String path) {
- return pathContext.basename(path) == PUBSPEC_NAME;
- }
+ bool _isPackagespec(String path) =>
+ pathContext.basename(path) == PACKAGE_SPEC_NAME;
+
+ bool _isPubspec(String path) => pathContext.basename(path) == PUBSPEC_NAME;
/**
* Merges [info] context into its parent.
@@ -735,6 +886,18 @@
}
}
+ Packages _readPackagespec(File specFile) {
+ try {
+ String contents = specFile.readAsStringSync();
+ Map<String, Uri> map =
+ pkgfile.parse(UTF8.encode(contents), new Uri.file(specFile.path));
+ return new MapPackages(map);
+ } catch (_) {
+ //TODO(pquitslund): consider creating an error for the spec file.
+ return null;
+ }
+ }
+
/**
* Recompute the package URI resolver for the context described by [info],
* and update the client appropriately.
@@ -746,7 +909,7 @@
// "pub list" is in progress is just going to get thrown away anyhow.
UriResolver packageUriResolver =
_computePackageUriResolver(info.folder, info);
- updateContextPackageUriResolver(info.folder, packageUriResolver);
+ updateContextPackageUriResolver(info.folder, packageUriResolver, null);
}
/**
@@ -766,6 +929,105 @@
}
/**
+ * Class that maintains a mapping from included/excluded paths to a set of
+ * folders that should correspond to analysis contexts.
+ */
+abstract class ContextManager {
+ // TODO(brianwilkerson) Support:
+ // setting the default analysis options
+ // setting the default content cache
+ // setting the default SDK
+ // maintaining AnalysisContext.folderMap (or remove it)
+ // telling server when a context has been added or removed (see onContextsChanged)
+ // telling server when a context needs to be re-analyzed
+ // notifying the client when results should be flushed
+ // using analyzeFileFunctions to determine which files to analyze
+ //
+ // TODO(brianwilkerson) Move this class to a public library.
+
+// /**
+// * The default options used to create new analysis contexts.
+// */
+// AnalysisOptionsImpl get defaultOptions;
+
+ /**
+ * Return the list of excluded paths (folders and files) most recently passed
+ * to [setRoots].
+ */
+ List<String> get excludedPaths;
+
+ /**
+ * Return the list of included paths (folders and files) most recently passed
+ * to [setRoots].
+ */
+ List<String> get includedPaths;
+
+// /**
+// * A stream that is notified when contexts are added or removed.
+// */
+// Stream<ContextsChangedEvent> get onContextsChanged;
+
+ /**
+ * Return a list containing all of the contexts contained in the given
+ * [analysisRoot].
+ */
+ List<AnalysisContext> contextsInAnalysisRoot(Folder analysisRoot);
+
+ /**
+ * Return `true` if the given absolute [path] is in one of the current
+ * root folders and is not excluded.
+ */
+ bool isInAnalysisRoot(String path);
+
+ /**
+ * Rebuild the set of contexts from scratch based on the data last sent to
+ * [setRoots]. Only contexts contained in the given list of analysis [roots]
+ * will be rebuilt, unless the list is `null`, in which case every context
+ * will be rebuilt.
+ */
+ void refresh(List<Resource> roots);
+
+ /**
+ * Change the set of paths which should be used as starting points to
+ * determine the context directories.
+ */
+ void setRoots(List<String> includedPaths, List<String> excludedPaths,
+ Map<String, String> packageRoots);
+}
+
+/**
+ * An indication that one or more contexts were added, changed, or removed.
+ *
+ * The lists of [added], [changed] and [removed] contexts will not contain
+ * duplications (that is, a single context will not be in any list multiple
+ * times), nor will there be any overlap between the lists (that is, a single
+ * context will not be in more than one list).
+ */
+class ContextsChangedEvent {
+ /**
+ * The contexts that were added to the server.
+ */
+ final List<AnalysisContext> added;
+
+ /**
+ * The contexts that were changed.
+ */
+ final List<AnalysisContext> changed;
+
+ /**
+ * The contexts that were removed from the server.
+ */
+ final List<AnalysisContext> removed;
+
+ /**
+ * Initialize a newly created event to indicate which contexts have changed.
+ */
+ ContextsChangedEvent({this.added: AnalysisContext.EMPTY_LIST,
+ this.changed: AnalysisContext.EMPTY_LIST,
+ this.removed: AnalysisContext.EMPTY_LIST});
+}
+
+/**
* Information tracked by the [ContextManager] for each context.
*/
class _ContextInfo {
@@ -774,6 +1036,9 @@
*/
final Folder folder;
+ /// The [PathFilter] used to filter sources from being analyzed.
+ final PathFilter pathFilter;
+
/**
* The enclosed pubspec-based contexts.
*/
@@ -790,9 +1055,9 @@
_ContextInfo parent;
/**
- * The `pubspec.yaml` file path for this context.
+ * The package description file path for this context.
*/
- String pubspecPath;
+ String packageDescriptionPath;
/**
* Stream subscription we are using to watch the context's directory for
@@ -825,8 +1090,11 @@
*/
OptimizingPubPackageMapInfo packageMapInfo;
- _ContextInfo(this.folder, File pubspecFile, this.children, this.packageRoot) {
- pubspecPath = pubspecFile.path;
+ _ContextInfo(
+ Folder folder, File packagespecFile, this.children, this.packageRoot)
+ : folder = folder,
+ pathFilter = new PathFilter(folder.path, null) {
+ packageDescriptionPath = packagespecFile.path;
for (_ContextInfo child in children) {
child.parent = this;
}
@@ -849,14 +1117,15 @@
/**
* Returns `true` if [resource] is excluded, as it is in one of the children.
*/
- bool excludesResource(Resource resource) {
- return excludes(resource.path);
- }
+ bool excludesResource(Resource resource) => excludes(resource.path);
+
+ /// Returns `true` if [path] should be ignored.
+ bool ignored(String path) => pathFilter.ignored(path);
/**
- * Returns `true` if [path] is the pubspec file of this context.
+ * Returns `true` if [path] is the package description file for this context
+ * (pubspec.yaml or .packages).
*/
- bool isPubspec(String path) {
- return path == pubspecPath;
- }
+ bool isPathToPackageDescription(String path) =>
+ path == packageDescriptionPath;
}
diff --git a/pkg/analysis_server/lib/src/domain_analysis.dart b/pkg/analysis_server/lib/src/domain_analysis.dart
index c09c511..42afae3 100644
--- a/pkg/analysis_server/lib/src/domain_analysis.dart
+++ b/pkg/analysis_server/lib/src/domain_analysis.dart
@@ -168,6 +168,8 @@
return reanalyze(request);
} else if (requestName == ANALYSIS_SET_ANALYSIS_ROOTS) {
return setAnalysisRoots(request);
+ } else if (requestName == ANALYSIS_SET_GENERAL_SUBSCRIPTIONS) {
+ return setGeneralSubscriptions(request);
} else if (requestName == ANALYSIS_SET_PRIORITY_FILES) {
return setPriorityFiles(request);
} else if (requestName == ANALYSIS_SET_SUBSCRIPTIONS) {
@@ -191,7 +193,7 @@
new AnalysisReanalyzeParams.fromRequest(request);
List<String> roots = params.roots;
if (roots == null || roots.isNotEmpty) {
- List<String> includedPaths = server.contextDirectoryManager.includedPaths;
+ List<String> includedPaths = server.contextManager.includedPaths;
List<Resource> rootResources = null;
if (roots != null) {
rootResources = <Resource>[];
@@ -219,6 +221,16 @@
}
/**
+ * Implement the 'analysis.setGeneralSubscriptions' request.
+ */
+ Response setGeneralSubscriptions(Request request) {
+ AnalysisSetGeneralSubscriptionsParams params =
+ new AnalysisSetGeneralSubscriptionsParams.fromRequest(request);
+ server.setGeneralAnalysisSubscriptions(params.subscriptions);
+ return new AnalysisSetGeneralSubscriptionsResult().toResponse(request.id);
+ }
+
+ /**
* Implement the 'analysis.setPriorityFiles' request.
*/
Response setPriorityFiles(Request request) {
diff --git a/pkg/analysis_server/lib/src/domain_completion.dart b/pkg/analysis_server/lib/src/domain_completion.dart
index cd9b426..a956a7d 100644
--- a/pkg/analysis_server/lib/src/domain_completion.dart
+++ b/pkg/analysis_server/lib/src/domain_completion.dart
@@ -7,9 +7,10 @@
import 'dart:async';
import 'package:analysis_server/completion/completion_core.dart'
- show CompletionRequest;
+ show CompletionRequest, CompletionResult;
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/constants.dart';
+import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/protocol.dart';
import 'package:analysis_server/src/services/completion/completion_manager.dart';
import 'package:analysis_server/src/services/search/search_engine.dart';
@@ -193,13 +194,13 @@
++notificationCount;
performance.logElapseTime("notification $notificationCount send", () {
sendCompletionNotification(completionId, result.replacementOffset,
- result.replacementLength, result.suggestions, result.last);
+ result.replacementLength, result.suggestions, result.isLast);
});
if (notificationCount == 1) {
performance.logFirstNotificationComplete('notification 1 complete');
performance.suggestionCountFirst = result.suggestions.length;
}
- if (result.last) {
+ if (result.isLast) {
performance.notificationCount = notificationCount;
performance.suggestionCountLast = result.suggestions.length;
performance.complete();
diff --git a/pkg/analysis_server/lib/src/domain_execution.dart b/pkg/analysis_server/lib/src/domain_execution.dart
index 1d9c2dd..f0b6677 100644
--- a/pkg/analysis_server/lib/src/domain_execution.dart
+++ b/pkg/analysis_server/lib/src/domain_execution.dart
@@ -193,7 +193,7 @@
* analysis root.
*/
bool _isInAnalysisRoot(String filePath) =>
- server.contextDirectoryManager.isInAnalysisRoot(filePath);
+ server.contextManager.isInAnalysisRoot(filePath);
void _reportCurrentFileStatus() {
for (AnalysisContext context in server.getAnalysisContexts()) {
diff --git a/pkg/analysis_server/lib/src/generated_protocol.dart b/pkg/analysis_server/lib/src/generated_protocol.dart
index 66e92ba..5ecfe20 100644
--- a/pkg/analysis_server/lib/src/generated_protocol.dart
+++ b/pkg/analysis_server/lib/src/generated_protocol.dart
@@ -69,7 +69,7 @@
}
return new ServerGetVersionResult(version);
} else {
- throw jsonDecoder.mismatch(jsonPath, "server.getVersion result");
+ throw jsonDecoder.mismatch(jsonPath, "server.getVersion result", json);
}
}
@@ -189,7 +189,7 @@
}
return new ServerSetSubscriptionsParams(subscriptions);
} else {
- throw jsonDecoder.mismatch(jsonPath, "server.setSubscriptions params");
+ throw jsonDecoder.mismatch(jsonPath, "server.setSubscriptions params", json);
}
}
@@ -288,7 +288,7 @@
}
return new ServerConnectedParams(version);
} else {
- throw jsonDecoder.mismatch(jsonPath, "server.connected params");
+ throw jsonDecoder.mismatch(jsonPath, "server.connected params", json);
}
}
@@ -416,7 +416,7 @@
}
return new ServerErrorParams(isFatal, message, stackTrace);
} else {
- throw jsonDecoder.mismatch(jsonPath, "server.error params");
+ throw jsonDecoder.mismatch(jsonPath, "server.error params", json);
}
}
@@ -521,7 +521,7 @@
}
return new ServerStatusParams(analysis: analysis, pub: pub);
} else {
- throw jsonDecoder.mismatch(jsonPath, "server.status params");
+ throw jsonDecoder.mismatch(jsonPath, "server.status params", json);
}
}
@@ -606,7 +606,7 @@
}
return new AnalysisGetErrorsParams(file);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.getErrors params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getErrors params", json);
}
}
@@ -684,7 +684,7 @@
}
return new AnalysisGetErrorsResult(errors);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.getErrors result");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getErrors result", json);
}
}
@@ -785,7 +785,7 @@
}
return new AnalysisGetHoverParams(file, offset);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.getHover params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getHover params", json);
}
}
@@ -874,7 +874,7 @@
}
return new AnalysisGetHoverResult(hovers);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.getHover result");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getHover result", json);
}
}
@@ -1000,7 +1000,7 @@
}
return new AnalysisGetLibraryDependenciesResult(libraries, packageMap);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.getLibraryDependencies result");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getLibraryDependencies result", json);
}
}
@@ -1131,7 +1131,7 @@
}
return new AnalysisGetNavigationParams(file, offset, length);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.getNavigation params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getNavigation params", json);
}
}
@@ -1265,7 +1265,7 @@
}
return new AnalysisGetNavigationResult(files, targets, regions);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.getNavigation result");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.getNavigation result", json);
}
}
@@ -1346,7 +1346,7 @@
}
return new AnalysisReanalyzeParams(roots: roots);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.reanalyze params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.reanalyze params", json);
}
}
@@ -1514,7 +1514,7 @@
}
return new AnalysisSetAnalysisRootsParams(included, excluded, packageRoots: packageRoots);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.setAnalysisRoots params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.setAnalysisRoots params", json);
}
}
@@ -1582,6 +1582,105 @@
}
/**
+ * analysis.setGeneralSubscriptions params
+ *
+ * {
+ * "subscriptions": List<GeneralAnalysisService>
+ * }
+ */
+class AnalysisSetGeneralSubscriptionsParams implements HasToJson {
+ List<GeneralAnalysisService> _subscriptions;
+
+ /**
+ * A list of the services being subscribed to.
+ */
+ List<GeneralAnalysisService> get subscriptions => _subscriptions;
+
+ /**
+ * A list of the services being subscribed to.
+ */
+ void set subscriptions(List<GeneralAnalysisService> value) {
+ assert(value != null);
+ this._subscriptions = value;
+ }
+
+ AnalysisSetGeneralSubscriptionsParams(List<GeneralAnalysisService> subscriptions) {
+ this.subscriptions = subscriptions;
+ }
+
+ factory AnalysisSetGeneralSubscriptionsParams.fromJson(JsonDecoder jsonDecoder, String jsonPath, Object json) {
+ if (json == null) {
+ json = {};
+ }
+ if (json is Map) {
+ List<GeneralAnalysisService> subscriptions;
+ if (json.containsKey("subscriptions")) {
+ subscriptions = jsonDecoder._decodeList(jsonPath + ".subscriptions", json["subscriptions"], (String jsonPath, Object json) => new GeneralAnalysisService.fromJson(jsonDecoder, jsonPath, json));
+ } else {
+ throw jsonDecoder.missingKey(jsonPath, "subscriptions");
+ }
+ return new AnalysisSetGeneralSubscriptionsParams(subscriptions);
+ } else {
+ throw jsonDecoder.mismatch(jsonPath, "analysis.setGeneralSubscriptions params", json);
+ }
+ }
+
+ factory AnalysisSetGeneralSubscriptionsParams.fromRequest(Request request) {
+ return new AnalysisSetGeneralSubscriptionsParams.fromJson(
+ new RequestDecoder(request), "params", request._params);
+ }
+
+ Map<String, dynamic> toJson() {
+ Map<String, dynamic> result = {};
+ result["subscriptions"] = subscriptions.map((GeneralAnalysisService value) => value.toJson()).toList();
+ return result;
+ }
+
+ Request toRequest(String id) {
+ return new Request(id, "analysis.setGeneralSubscriptions", toJson());
+ }
+
+ @override
+ String toString() => JSON.encode(toJson());
+
+ @override
+ bool operator==(other) {
+ if (other is AnalysisSetGeneralSubscriptionsParams) {
+ return _listEqual(subscriptions, other.subscriptions, (GeneralAnalysisService a, GeneralAnalysisService b) => a == b);
+ }
+ return false;
+ }
+
+ @override
+ int get hashCode {
+ int hash = 0;
+ hash = _JenkinsSmiHash.combine(hash, subscriptions.hashCode);
+ return _JenkinsSmiHash.finish(hash);
+ }
+}
+/**
+ * analysis.setGeneralSubscriptions result
+ */
+class AnalysisSetGeneralSubscriptionsResult {
+ Response toResponse(String id) {
+ return new Response(id, result: null);
+ }
+
+ @override
+ bool operator==(other) {
+ if (other is AnalysisSetGeneralSubscriptionsResult) {
+ return true;
+ }
+ return false;
+ }
+
+ @override
+ int get hashCode {
+ return 386759562;
+ }
+}
+
+/**
* analysis.setPriorityFiles params
*
* {
@@ -1621,7 +1720,7 @@
}
return new AnalysisSetPriorityFilesParams(files);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.setPriorityFiles params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.setPriorityFiles params", json);
}
}
@@ -1722,7 +1821,7 @@
}
return new AnalysisSetSubscriptionsParams(subscriptions);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.setSubscriptions params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.setSubscriptions params", json);
}
}
@@ -1823,7 +1922,7 @@
}
return new AnalysisUpdateContentParams(files);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.updateContent params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.updateContent params", json);
}
}
@@ -1877,7 +1976,7 @@
if (json is Map) {
return new AnalysisUpdateContentResult();
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.updateContent result");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.updateContent result", json);
}
}
@@ -1953,7 +2052,7 @@
}
return new AnalysisUpdateOptionsParams(options);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.updateOptions params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.updateOptions params", json);
}
}
@@ -2013,6 +2112,84 @@
}
/**
+ * analysis.analyzedFiles params
+ *
+ * {
+ * "directories": List<FilePath>
+ * }
+ */
+class AnalysisAnalyzedFilesParams implements HasToJson {
+ List<String> _directories;
+
+ /**
+ * A list of the paths of the files that are being analyzed.
+ */
+ List<String> get directories => _directories;
+
+ /**
+ * A list of the paths of the files that are being analyzed.
+ */
+ void set directories(List<String> value) {
+ assert(value != null);
+ this._directories = value;
+ }
+
+ AnalysisAnalyzedFilesParams(List<String> directories) {
+ this.directories = directories;
+ }
+
+ factory AnalysisAnalyzedFilesParams.fromJson(JsonDecoder jsonDecoder, String jsonPath, Object json) {
+ if (json == null) {
+ json = {};
+ }
+ if (json is Map) {
+ List<String> directories;
+ if (json.containsKey("directories")) {
+ directories = jsonDecoder._decodeList(jsonPath + ".directories", json["directories"], jsonDecoder._decodeString);
+ } else {
+ throw jsonDecoder.missingKey(jsonPath, "directories");
+ }
+ return new AnalysisAnalyzedFilesParams(directories);
+ } else {
+ throw jsonDecoder.mismatch(jsonPath, "analysis.analyzedFiles params", json);
+ }
+ }
+
+ factory AnalysisAnalyzedFilesParams.fromNotification(Notification notification) {
+ return new AnalysisAnalyzedFilesParams.fromJson(
+ new ResponseDecoder(null), "params", notification._params);
+ }
+
+ Map<String, dynamic> toJson() {
+ Map<String, dynamic> result = {};
+ result["directories"] = directories;
+ return result;
+ }
+
+ Notification toNotification() {
+ return new Notification("analysis.analyzedFiles", toJson());
+ }
+
+ @override
+ String toString() => JSON.encode(toJson());
+
+ @override
+ bool operator==(other) {
+ if (other is AnalysisAnalyzedFilesParams) {
+ return _listEqual(directories, other.directories, (String a, String b) => a == b);
+ }
+ return false;
+ }
+
+ @override
+ int get hashCode {
+ int hash = 0;
+ hash = _JenkinsSmiHash.combine(hash, directories.hashCode);
+ return _JenkinsSmiHash.finish(hash);
+ }
+}
+
+/**
* analysis.errors params
*
* {
@@ -2075,7 +2252,7 @@
}
return new AnalysisErrorsParams(file, errors);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.errors params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.errors params", json);
}
}
@@ -2156,7 +2333,7 @@
}
return new AnalysisFlushResultsParams(files);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.flushResults params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.flushResults params", json);
}
}
@@ -2257,7 +2434,7 @@
}
return new AnalysisFoldingParams(file, regions);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.folding params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.folding params", json);
}
}
@@ -2369,7 +2546,7 @@
}
return new AnalysisHighlightsParams(file, regions);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.highlights params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.highlights params", json);
}
}
@@ -2523,7 +2700,7 @@
}
return new AnalysisInvalidateParams(file, offset, length, delta);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.invalidate params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.invalidate params", json);
}
}
@@ -2695,7 +2872,7 @@
}
return new AnalysisNavigationParams(file, regions, targets, files);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.navigation params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.navigation params", json);
}
}
@@ -2805,7 +2982,7 @@
}
return new AnalysisOccurrencesParams(file, occurrences);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.occurrences params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.occurrences params", json);
}
}
@@ -2909,7 +3086,7 @@
}
return new AnalysisOutlineParams(file, outline);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.outline params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.outline params", json);
}
}
@@ -3013,7 +3190,7 @@
}
return new AnalysisOverridesParams(file, overrides);
} else {
- throw jsonDecoder.mismatch(jsonPath, "analysis.overrides params");
+ throw jsonDecoder.mismatch(jsonPath, "analysis.overrides params", json);
}
}
@@ -3117,7 +3294,7 @@
}
return new CompletionGetSuggestionsParams(file, offset);
} else {
- throw jsonDecoder.mismatch(jsonPath, "completion.getSuggestions params");
+ throw jsonDecoder.mismatch(jsonPath, "completion.getSuggestions params", json);
}
}
@@ -3198,7 +3375,7 @@
}
return new CompletionGetSuggestionsResult(id);
} else {
- throw jsonDecoder.mismatch(jsonPath, "completion.getSuggestions result");
+ throw jsonDecoder.mismatch(jsonPath, "completion.getSuggestions result", json);
}
}
@@ -3388,7 +3565,7 @@
}
return new CompletionResultsParams(id, replacementOffset, replacementLength, results, isLast);
} else {
- throw jsonDecoder.mismatch(jsonPath, "completion.results params");
+ throw jsonDecoder.mismatch(jsonPath, "completion.results params", json);
}
}
@@ -3528,7 +3705,7 @@
}
return new SearchFindElementReferencesParams(file, offset, includePotential);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findElementReferences params");
+ throw jsonDecoder.mismatch(jsonPath, "search.findElementReferences params", json);
}
}
@@ -3641,7 +3818,7 @@
}
return new SearchFindElementReferencesResult(id: id, element: element);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findElementReferences result");
+ throw jsonDecoder.mismatch(jsonPath, "search.findElementReferences result", json);
}
}
@@ -3726,7 +3903,7 @@
}
return new SearchFindMemberDeclarationsParams(name);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findMemberDeclarations params");
+ throw jsonDecoder.mismatch(jsonPath, "search.findMemberDeclarations params", json);
}
}
@@ -3804,7 +3981,7 @@
}
return new SearchFindMemberDeclarationsResult(id);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findMemberDeclarations result");
+ throw jsonDecoder.mismatch(jsonPath, "search.findMemberDeclarations result", json);
}
}
@@ -3882,7 +4059,7 @@
}
return new SearchFindMemberReferencesParams(name);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findMemberReferences params");
+ throw jsonDecoder.mismatch(jsonPath, "search.findMemberReferences params", json);
}
}
@@ -3960,7 +4137,7 @@
}
return new SearchFindMemberReferencesResult(id);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findMemberReferences result");
+ throw jsonDecoder.mismatch(jsonPath, "search.findMemberReferences result", json);
}
}
@@ -4040,7 +4217,7 @@
}
return new SearchFindTopLevelDeclarationsParams(pattern);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findTopLevelDeclarations params");
+ throw jsonDecoder.mismatch(jsonPath, "search.findTopLevelDeclarations params", json);
}
}
@@ -4118,7 +4295,7 @@
}
return new SearchFindTopLevelDeclarationsResult(id);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.findTopLevelDeclarations result");
+ throw jsonDecoder.mismatch(jsonPath, "search.findTopLevelDeclarations result", json);
}
}
@@ -4221,7 +4398,7 @@
}
return new SearchGetTypeHierarchyParams(file, offset);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.getTypeHierarchy params");
+ throw jsonDecoder.mismatch(jsonPath, "search.getTypeHierarchy params", json);
}
}
@@ -4315,7 +4492,7 @@
}
return new SearchGetTypeHierarchyResult(hierarchyItems: hierarchyItems);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.getTypeHierarchy result");
+ throw jsonDecoder.mismatch(jsonPath, "search.getTypeHierarchy result", json);
}
}
@@ -4443,7 +4620,7 @@
}
return new SearchResultsParams(id, results, isLast);
} else {
- throw jsonDecoder.mismatch(jsonPath, "search.results params");
+ throw jsonDecoder.mismatch(jsonPath, "search.results params", json);
}
}
@@ -4593,7 +4770,7 @@
}
return new EditFormatParams(file, selectionOffset, selectionLength, lineLength: lineLength);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.format params");
+ throw jsonDecoder.mismatch(jsonPath, "edit.format params", json);
}
}
@@ -4730,7 +4907,7 @@
}
return new EditFormatResult(edits, selectionOffset, selectionLength);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.format result");
+ throw jsonDecoder.mismatch(jsonPath, "edit.format result", json);
}
}
@@ -4860,7 +5037,7 @@
}
return new EditGetAssistsParams(file, offset, length);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getAssists params");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getAssists params", json);
}
}
@@ -4944,7 +5121,7 @@
}
return new EditGetAssistsResult(assists);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getAssists result");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getAssists result", json);
}
}
@@ -5068,7 +5245,7 @@
}
return new EditGetAvailableRefactoringsParams(file, offset, length);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getAvailableRefactorings params");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getAvailableRefactorings params", json);
}
}
@@ -5152,7 +5329,7 @@
}
return new EditGetAvailableRefactoringsResult(kinds);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getAvailableRefactorings result");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getAvailableRefactorings result", json);
}
}
@@ -5253,7 +5430,7 @@
}
return new EditGetFixesParams(file, offset);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getFixes params");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getFixes params", json);
}
}
@@ -5334,7 +5511,7 @@
}
return new EditGetFixesResult(fixes);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getFixes result");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getFixes result", json);
}
}
@@ -5534,7 +5711,7 @@
}
return new EditGetRefactoringParams(kind, file, offset, length, validateOnly, options: options);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getRefactoring params");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getRefactoring params", json);
}
}
@@ -5771,7 +5948,7 @@
}
return new EditGetRefactoringResult(initialProblems, optionsProblems, finalProblems, feedback: feedback, change: change, potentialEdits: potentialEdits);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.getRefactoring result");
+ throw jsonDecoder.mismatch(jsonPath, "edit.getRefactoring result", json);
}
}
@@ -5870,7 +6047,7 @@
}
return new EditSortMembersParams(file);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.sortMembers params");
+ throw jsonDecoder.mismatch(jsonPath, "edit.sortMembers params", json);
}
}
@@ -5950,7 +6127,7 @@
}
return new EditSortMembersResult(edit);
} else {
- throw jsonDecoder.mismatch(jsonPath, "edit.sortMembers result");
+ throw jsonDecoder.mismatch(jsonPath, "edit.sortMembers result", json);
}
}
@@ -6030,7 +6207,7 @@
}
return new ExecutionCreateContextParams(contextRoot);
} else {
- throw jsonDecoder.mismatch(jsonPath, "execution.createContext params");
+ throw jsonDecoder.mismatch(jsonPath, "execution.createContext params", json);
}
}
@@ -6108,7 +6285,7 @@
}
return new ExecutionCreateContextResult(id);
} else {
- throw jsonDecoder.mismatch(jsonPath, "execution.createContext result");
+ throw jsonDecoder.mismatch(jsonPath, "execution.createContext result", json);
}
}
@@ -6186,7 +6363,7 @@
}
return new ExecutionDeleteContextParams(id);
} else {
- throw jsonDecoder.mismatch(jsonPath, "execution.deleteContext params");
+ throw jsonDecoder.mismatch(jsonPath, "execution.deleteContext params", json);
}
}
@@ -6325,7 +6502,7 @@
}
return new ExecutionMapUriParams(id, file: file, uri: uri);
} else {
- throw jsonDecoder.mismatch(jsonPath, "execution.mapUri params");
+ throw jsonDecoder.mismatch(jsonPath, "execution.mapUri params", json);
}
}
@@ -6434,7 +6611,7 @@
}
return new ExecutionMapUriResult(file: file, uri: uri);
} else {
- throw jsonDecoder.mismatch(jsonPath, "execution.mapUri result");
+ throw jsonDecoder.mismatch(jsonPath, "execution.mapUri result", json);
}
}
@@ -6519,7 +6696,7 @@
}
return new ExecutionSetSubscriptionsParams(subscriptions);
} else {
- throw jsonDecoder.mismatch(jsonPath, "execution.setSubscriptions params");
+ throw jsonDecoder.mismatch(jsonPath, "execution.setSubscriptions params", json);
}
}
@@ -6664,7 +6841,7 @@
}
return new ExecutionLaunchDataParams(file, kind: kind, referencedFiles: referencedFiles);
} else {
- throw jsonDecoder.mismatch(jsonPath, "execution.launchData params");
+ throw jsonDecoder.mismatch(jsonPath, "execution.launchData params", json);
}
}
@@ -6746,7 +6923,7 @@
}
if (json is Map) {
if (json["type"] != "add") {
- throw jsonDecoder.mismatch(jsonPath, "equal " + "add");
+ throw jsonDecoder.mismatch(jsonPath, "equal " + "add", json);
}
String content;
if (json.containsKey("content")) {
@@ -6756,7 +6933,7 @@
}
return new AddContentOverlay(content);
} else {
- throw jsonDecoder.mismatch(jsonPath, "AddContentOverlay");
+ throw jsonDecoder.mismatch(jsonPath, "AddContentOverlay", json);
}
}
@@ -6922,7 +7099,7 @@
}
return new AnalysisError(severity, type, location, message, correction: correction);
} else {
- throw jsonDecoder.mismatch(jsonPath, "AnalysisError");
+ throw jsonDecoder.mismatch(jsonPath, "AnalysisError", json);
}
}
@@ -7032,7 +7209,7 @@
}
return new AnalysisErrorFixes(error, fixes: fixes);
} else {
- throw jsonDecoder.mismatch(jsonPath, "AnalysisErrorFixes");
+ throw jsonDecoder.mismatch(jsonPath, "AnalysisErrorFixes", json);
}
}
@@ -7109,7 +7286,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "AnalysisErrorSeverity");
+ throw jsonDecoder.mismatch(jsonPath, "AnalysisErrorSeverity", json);
}
@override
@@ -7188,7 +7365,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "AnalysisErrorType");
+ throw jsonDecoder.mismatch(jsonPath, "AnalysisErrorType", json);
}
@override
@@ -7376,7 +7553,7 @@
}
return new AnalysisOptions(enableAsync: enableAsync, enableDeferredLoading: enableDeferredLoading, enableEnums: enableEnums, enableNullAwareOperators: enableNullAwareOperators, generateDart2jsHints: generateDart2jsHints, generateHints: generateHints, generateLints: generateLints);
} else {
- throw jsonDecoder.mismatch(jsonPath, "AnalysisOptions");
+ throw jsonDecoder.mismatch(jsonPath, "AnalysisOptions", json);
}
}
@@ -7455,6 +7632,10 @@
static const HIGHLIGHTS = const AnalysisService._("HIGHLIGHTS");
+ /**
+ * This service is not currently implemented and will become a
+ * GeneralAnalysisService in a future release.
+ */
static const INVALIDATE = const AnalysisService._("INVALIDATE");
static const NAVIGATION = const AnalysisService._("NAVIGATION");
@@ -7502,7 +7683,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "AnalysisService");
+ throw jsonDecoder.mismatch(jsonPath, "AnalysisService", json);
}
@override
@@ -7573,7 +7754,7 @@
}
return new AnalysisStatus(isAnalyzing, analysisTarget: analysisTarget);
} else {
- throw jsonDecoder.mismatch(jsonPath, "AnalysisStatus");
+ throw jsonDecoder.mismatch(jsonPath, "AnalysisStatus", json);
}
}
@@ -7641,7 +7822,7 @@
}
if (json is Map) {
if (json["type"] != "change") {
- throw jsonDecoder.mismatch(jsonPath, "equal " + "change");
+ throw jsonDecoder.mismatch(jsonPath, "equal " + "change", json);
}
List<SourceEdit> edits;
if (json.containsKey("edits")) {
@@ -7651,7 +7832,7 @@
}
return new ChangeContentOverlay(edits);
} else {
- throw jsonDecoder.mismatch(jsonPath, "ChangeContentOverlay");
+ throw jsonDecoder.mismatch(jsonPath, "ChangeContentOverlay", json);
}
}
@@ -8142,7 +8323,7 @@
}
return new CompletionSuggestion(kind, relevance, completion, selectionOffset, selectionLength, isDeprecated, isPotential, docSummary: docSummary, docComplete: docComplete, declaringType: declaringType, element: element, returnType: returnType, parameterNames: parameterNames, parameterTypes: parameterTypes, requiredParameterCount: requiredParameterCount, hasNamedParameters: hasNamedParameters, parameterName: parameterName, parameterType: parameterType, importUri: importUri);
} else {
- throw jsonDecoder.mismatch(jsonPath, "CompletionSuggestion");
+ throw jsonDecoder.mismatch(jsonPath, "CompletionSuggestion", json);
}
}
@@ -8346,7 +8527,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "CompletionSuggestionKind");
+ throw jsonDecoder.mismatch(jsonPath, "CompletionSuggestionKind", json);
}
@override
@@ -8569,7 +8750,7 @@
}
return new Element(kind, name, flags, location: location, parameters: parameters, returnType: returnType, typeParameters: typeParameters);
} else {
- throw jsonDecoder.mismatch(jsonPath, "Element");
+ throw jsonDecoder.mismatch(jsonPath, "Element", json);
}
}
@@ -8771,7 +8952,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "ElementKind");
+ throw jsonDecoder.mismatch(jsonPath, "ElementKind", json);
}
@override
@@ -8843,7 +9024,7 @@
}
return new ExecutableFile(file, kind);
} else {
- throw jsonDecoder.mismatch(jsonPath, "ExecutableFile");
+ throw jsonDecoder.mismatch(jsonPath, "ExecutableFile", json);
}
}
@@ -8925,7 +9106,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "ExecutableKind");
+ throw jsonDecoder.mismatch(jsonPath, "ExecutableKind", json);
}
@override
@@ -8969,7 +9150,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "ExecutionService");
+ throw jsonDecoder.mismatch(jsonPath, "ExecutionService", json);
}
@override
@@ -9033,7 +9214,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "FoldingKind");
+ throw jsonDecoder.mismatch(jsonPath, "FoldingKind", json);
}
@override
@@ -9128,7 +9309,7 @@
}
return new FoldingRegion(kind, offset, length);
} else {
- throw jsonDecoder.mismatch(jsonPath, "FoldingRegion");
+ throw jsonDecoder.mismatch(jsonPath, "FoldingRegion", json);
}
}
@@ -9164,6 +9345,50 @@
}
/**
+ * GeneralAnalysisService
+ *
+ * enum {
+ * ANALYZED_FILES
+ * }
+ */
+class GeneralAnalysisService implements Enum {
+ static const ANALYZED_FILES = const GeneralAnalysisService._("ANALYZED_FILES");
+
+ /**
+ * A list containing all of the enum values that are defined.
+ */
+ static const List<GeneralAnalysisService> VALUES = const <GeneralAnalysisService>[ANALYZED_FILES];
+
+ final String name;
+
+ const GeneralAnalysisService._(this.name);
+
+ factory GeneralAnalysisService(String name) {
+ switch (name) {
+ case "ANALYZED_FILES":
+ return ANALYZED_FILES;
+ }
+ throw new Exception('Illegal enum value: $name');
+ }
+
+ factory GeneralAnalysisService.fromJson(JsonDecoder jsonDecoder, String jsonPath, Object json) {
+ if (json is String) {
+ try {
+ return new GeneralAnalysisService(json);
+ } catch(_) {
+ // Fall through
+ }
+ }
+ throw jsonDecoder.mismatch(jsonPath, "GeneralAnalysisService", json);
+ }
+
+ @override
+ String toString() => "GeneralAnalysisService.$name";
+
+ String toJson() => name;
+}
+
+/**
* HighlightRegion
*
* {
@@ -9249,7 +9474,7 @@
}
return new HighlightRegion(type, offset, length);
} else {
- throw jsonDecoder.mismatch(jsonPath, "HighlightRegion");
+ throw jsonDecoder.mismatch(jsonPath, "HighlightRegion", json);
}
}
@@ -9297,6 +9522,10 @@
* CONSTRUCTOR
* DIRECTIVE
* DYNAMIC_TYPE
+ * DYNAMIC_LOCAL_VARIABLE_DECLARATION
+ * DYNAMIC_LOCAL_VARIABLE_REFERENCE
+ * DYNAMIC_PARAMETER_DECLARATION
+ * DYNAMIC_PARAMETER_REFERENCE
* ENUM
* ENUM_CONSTANT
* FIELD
@@ -9307,16 +9536,29 @@
* GETTER_DECLARATION
* IDENTIFIER_DEFAULT
* IMPORT_PREFIX
+ * INSTANCE_FIELD_DECLARATION
+ * INSTANCE_FIELD_REFERENCE
+ * INSTANCE_GETTER_DECLARATION
+ * INSTANCE_GETTER_REFERENCE
+ * INSTANCE_METHOD_DECLARATION
+ * INSTANCE_METHOD_REFERENCE
+ * INSTANCE_SETTER_DECLARATION
+ * INSTANCE_SETTER_REFERENCE
+ * INVALID_STRING_ESCAPE
* KEYWORD
* LABEL
+ * LIBRARY_NAME
* LITERAL_BOOLEAN
* LITERAL_DOUBLE
* LITERAL_INTEGER
* LITERAL_LIST
* LITERAL_MAP
* LITERAL_STRING
+ * LOCAL_FUNCTION_DECLARATION
+ * LOCAL_FUNCTION_REFERENCE
* LOCAL_VARIABLE
* LOCAL_VARIABLE_DECLARATION
+ * LOCAL_VARIABLE_REFERENCE
* METHOD
* METHOD_DECLARATION
* METHOD_DECLARATION_STATIC
@@ -9324,8 +9566,26 @@
* PARAMETER
* SETTER_DECLARATION
* TOP_LEVEL_VARIABLE
+ * PARAMETER_DECLARATION
+ * PARAMETER_REFERENCE
+ * STATIC_FIELD_DECLARATION
+ * STATIC_GETTER_DECLARATION
+ * STATIC_GETTER_REFERENCE
+ * STATIC_METHOD_DECLARATION
+ * STATIC_METHOD_REFERENCE
+ * STATIC_SETTER_DECLARATION
+ * STATIC_SETTER_REFERENCE
+ * TOP_LEVEL_FUNCTION_DECLARATION
+ * TOP_LEVEL_FUNCTION_REFERENCE
+ * TOP_LEVEL_GETTER_DECLARATION
+ * TOP_LEVEL_GETTER_REFERENCE
+ * TOP_LEVEL_SETTER_DECLARATION
+ * TOP_LEVEL_SETTER_REFERENCE
+ * TOP_LEVEL_VARIABLE_DECLARATION
* TYPE_NAME_DYNAMIC
* TYPE_PARAMETER
+ * UNRESOLVED_INSTANCE_MEMBER_REFERENCE
+ * VALID_STRING_ESCAPE
* }
*/
class HighlightRegionType implements Enum {
@@ -9345,32 +9605,120 @@
static const DIRECTIVE = const HighlightRegionType._("DIRECTIVE");
+ /**
+ * Only for version 1 of highlight.
+ */
static const DYNAMIC_TYPE = const HighlightRegionType._("DYNAMIC_TYPE");
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const DYNAMIC_LOCAL_VARIABLE_DECLARATION = const HighlightRegionType._("DYNAMIC_LOCAL_VARIABLE_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const DYNAMIC_LOCAL_VARIABLE_REFERENCE = const HighlightRegionType._("DYNAMIC_LOCAL_VARIABLE_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const DYNAMIC_PARAMETER_DECLARATION = const HighlightRegionType._("DYNAMIC_PARAMETER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const DYNAMIC_PARAMETER_REFERENCE = const HighlightRegionType._("DYNAMIC_PARAMETER_REFERENCE");
+
static const ENUM = const HighlightRegionType._("ENUM");
static const ENUM_CONSTANT = const HighlightRegionType._("ENUM_CONSTANT");
+ /**
+ * Only for version 1 of highlight.
+ */
static const FIELD = const HighlightRegionType._("FIELD");
+ /**
+ * Only for version 1 of highlight.
+ */
static const FIELD_STATIC = const HighlightRegionType._("FIELD_STATIC");
+ /**
+ * Only for version 1 of highlight.
+ */
static const FUNCTION = const HighlightRegionType._("FUNCTION");
+ /**
+ * Only for version 1 of highlight.
+ */
static const FUNCTION_DECLARATION = const HighlightRegionType._("FUNCTION_DECLARATION");
static const FUNCTION_TYPE_ALIAS = const HighlightRegionType._("FUNCTION_TYPE_ALIAS");
+ /**
+ * Only for version 1 of highlight.
+ */
static const GETTER_DECLARATION = const HighlightRegionType._("GETTER_DECLARATION");
static const IDENTIFIER_DEFAULT = const HighlightRegionType._("IDENTIFIER_DEFAULT");
static const IMPORT_PREFIX = const HighlightRegionType._("IMPORT_PREFIX");
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_FIELD_DECLARATION = const HighlightRegionType._("INSTANCE_FIELD_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_FIELD_REFERENCE = const HighlightRegionType._("INSTANCE_FIELD_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_GETTER_DECLARATION = const HighlightRegionType._("INSTANCE_GETTER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_GETTER_REFERENCE = const HighlightRegionType._("INSTANCE_GETTER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_METHOD_DECLARATION = const HighlightRegionType._("INSTANCE_METHOD_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_METHOD_REFERENCE = const HighlightRegionType._("INSTANCE_METHOD_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_SETTER_DECLARATION = const HighlightRegionType._("INSTANCE_SETTER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INSTANCE_SETTER_REFERENCE = const HighlightRegionType._("INSTANCE_SETTER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const INVALID_STRING_ESCAPE = const HighlightRegionType._("INVALID_STRING_ESCAPE");
+
static const KEYWORD = const HighlightRegionType._("KEYWORD");
static const LABEL = const HighlightRegionType._("LABEL");
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const LIBRARY_NAME = const HighlightRegionType._("LIBRARY_NAME");
+
static const LITERAL_BOOLEAN = const HighlightRegionType._("LITERAL_BOOLEAN");
static const LITERAL_DOUBLE = const HighlightRegionType._("LITERAL_DOUBLE");
@@ -9383,32 +9731,161 @@
static const LITERAL_STRING = const HighlightRegionType._("LITERAL_STRING");
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const LOCAL_FUNCTION_DECLARATION = const HighlightRegionType._("LOCAL_FUNCTION_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const LOCAL_FUNCTION_REFERENCE = const HighlightRegionType._("LOCAL_FUNCTION_REFERENCE");
+
+ /**
+ * Only for version 1 of highlight.
+ */
static const LOCAL_VARIABLE = const HighlightRegionType._("LOCAL_VARIABLE");
static const LOCAL_VARIABLE_DECLARATION = const HighlightRegionType._("LOCAL_VARIABLE_DECLARATION");
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const LOCAL_VARIABLE_REFERENCE = const HighlightRegionType._("LOCAL_VARIABLE_REFERENCE");
+
+ /**
+ * Only for version 1 of highlight.
+ */
static const METHOD = const HighlightRegionType._("METHOD");
+ /**
+ * Only for version 1 of highlight.
+ */
static const METHOD_DECLARATION = const HighlightRegionType._("METHOD_DECLARATION");
+ /**
+ * Only for version 1 of highlight.
+ */
static const METHOD_DECLARATION_STATIC = const HighlightRegionType._("METHOD_DECLARATION_STATIC");
+ /**
+ * Only for version 1 of highlight.
+ */
static const METHOD_STATIC = const HighlightRegionType._("METHOD_STATIC");
+ /**
+ * Only for version 1 of highlight.
+ */
static const PARAMETER = const HighlightRegionType._("PARAMETER");
+ /**
+ * Only for version 1 of highlight.
+ */
static const SETTER_DECLARATION = const HighlightRegionType._("SETTER_DECLARATION");
+ /**
+ * Only for version 1 of highlight.
+ */
static const TOP_LEVEL_VARIABLE = const HighlightRegionType._("TOP_LEVEL_VARIABLE");
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const PARAMETER_DECLARATION = const HighlightRegionType._("PARAMETER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const PARAMETER_REFERENCE = const HighlightRegionType._("PARAMETER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const STATIC_FIELD_DECLARATION = const HighlightRegionType._("STATIC_FIELD_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const STATIC_GETTER_DECLARATION = const HighlightRegionType._("STATIC_GETTER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const STATIC_GETTER_REFERENCE = const HighlightRegionType._("STATIC_GETTER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const STATIC_METHOD_DECLARATION = const HighlightRegionType._("STATIC_METHOD_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const STATIC_METHOD_REFERENCE = const HighlightRegionType._("STATIC_METHOD_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const STATIC_SETTER_DECLARATION = const HighlightRegionType._("STATIC_SETTER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const STATIC_SETTER_REFERENCE = const HighlightRegionType._("STATIC_SETTER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const TOP_LEVEL_FUNCTION_DECLARATION = const HighlightRegionType._("TOP_LEVEL_FUNCTION_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const TOP_LEVEL_FUNCTION_REFERENCE = const HighlightRegionType._("TOP_LEVEL_FUNCTION_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const TOP_LEVEL_GETTER_DECLARATION = const HighlightRegionType._("TOP_LEVEL_GETTER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const TOP_LEVEL_GETTER_REFERENCE = const HighlightRegionType._("TOP_LEVEL_GETTER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const TOP_LEVEL_SETTER_DECLARATION = const HighlightRegionType._("TOP_LEVEL_SETTER_DECLARATION");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const TOP_LEVEL_SETTER_REFERENCE = const HighlightRegionType._("TOP_LEVEL_SETTER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const TOP_LEVEL_VARIABLE_DECLARATION = const HighlightRegionType._("TOP_LEVEL_VARIABLE_DECLARATION");
+
static const TYPE_NAME_DYNAMIC = const HighlightRegionType._("TYPE_NAME_DYNAMIC");
static const TYPE_PARAMETER = const HighlightRegionType._("TYPE_PARAMETER");
/**
+ * Only for version 2 of highlight.
+ */
+ static const UNRESOLVED_INSTANCE_MEMBER_REFERENCE = const HighlightRegionType._("UNRESOLVED_INSTANCE_MEMBER_REFERENCE");
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ static const VALID_STRING_ESCAPE = const HighlightRegionType._("VALID_STRING_ESCAPE");
+
+ /**
* A list containing all of the enum values that are defined.
*/
- static const List<HighlightRegionType> VALUES = const <HighlightRegionType>[ANNOTATION, BUILT_IN, CLASS, COMMENT_BLOCK, COMMENT_DOCUMENTATION, COMMENT_END_OF_LINE, CONSTRUCTOR, DIRECTIVE, DYNAMIC_TYPE, ENUM, ENUM_CONSTANT, FIELD, FIELD_STATIC, FUNCTION, FUNCTION_DECLARATION, FUNCTION_TYPE_ALIAS, GETTER_DECLARATION, IDENTIFIER_DEFAULT, IMPORT_PREFIX, KEYWORD, LABEL, LITERAL_BOOLEAN, LITERAL_DOUBLE, LITERAL_INTEGER, LITERAL_LIST, LITERAL_MAP, LITERAL_STRING, LOCAL_VARIABLE, LOCAL_VARIABLE_DECLARATION, METHOD, METHOD_DECLARATION, METHOD_DECLARATION_STATIC, METHOD_STATIC, PARAMETER, SETTER_DECLARATION, TOP_LEVEL_VARIABLE, TYPE_NAME_DYNAMIC, TYPE_PARAMETER];
+ static const List<HighlightRegionType> VALUES = const <HighlightRegionType>[ANNOTATION, BUILT_IN, CLASS, COMMENT_BLOCK, COMMENT_DOCUMENTATION, COMMENT_END_OF_LINE, CONSTRUCTOR, DIRECTIVE, DYNAMIC_TYPE, DYNAMIC_LOCAL_VARIABLE_DECLARATION, DYNAMIC_LOCAL_VARIABLE_REFERENCE, DYNAMIC_PARAMETER_DECLARATION, DYNAMIC_PARAMETER_REFERENCE, ENUM, ENUM_CONSTANT, FIELD, FIELD_STATIC, FUNCTION, FUNCTION_DECLARATION, FUNCTION_TYPE_ALIAS, GETTER_DECLARATION, IDENTIFIER_DEFAULT, IMPORT_PREFIX, INSTANCE_FIELD_DECLARATION, INSTANCE_FIELD_REFERENCE, INSTANCE_GETTER_DECLARATION, INSTANCE_GETTER_REFERENCE, INSTANCE_METHOD_DECLARATION, INSTANCE_METHOD_REFERENCE, INSTANCE_SETTER_DECLARATION, INSTANCE_SETTER_REFERENCE, INVALID_STRING_ESCAPE, KEYWORD, LABEL, LIBRARY_NAME, LITERAL_BOOLEAN, LITERAL_DOUBLE, LITERAL_INTEGER, LITERAL_LIST, LITERAL_MAP, LITERAL_STRING, LOCAL_FUNCTION_DECLARATION, LOCAL_FUNCTION_REFERENCE, LOCAL_VARIABLE, LOCAL_VARIABLE_DECLARATION, LOCAL_VARIABLE_REFERENCE, METHOD, METHOD_DECLARATION, METHOD_DECLARATION_STATIC, METHOD_STATIC, PARAMETER, SETTER_DECLARATION, TOP_LEVEL_VARIABLE, PARAMETER_DECLARATION, PARAMETER_REFERENCE, STATIC_FIELD_DECLARATION, STATIC_GETTER_DECLARATION, STATIC_GETTER_REFERENCE, STATIC_METHOD_DECLARATION, STATIC_METHOD_REFERENCE, STATIC_SETTER_DECLARATION, STATIC_SETTER_REFERENCE, TOP_LEVEL_FUNCTION_DECLARATION, TOP_LEVEL_FUNCTION_REFERENCE, TOP_LEVEL_GETTER_DECLARATION, TOP_LEVEL_GETTER_REFERENCE, TOP_LEVEL_SETTER_DECLARATION, TOP_LEVEL_SETTER_REFERENCE, TOP_LEVEL_VARIABLE_DECLARATION, TYPE_NAME_DYNAMIC, TYPE_PARAMETER, UNRESOLVED_INSTANCE_MEMBER_REFERENCE, VALID_STRING_ESCAPE];
final String name;
@@ -9434,6 +9911,14 @@
return DIRECTIVE;
case "DYNAMIC_TYPE":
return DYNAMIC_TYPE;
+ case "DYNAMIC_LOCAL_VARIABLE_DECLARATION":
+ return DYNAMIC_LOCAL_VARIABLE_DECLARATION;
+ case "DYNAMIC_LOCAL_VARIABLE_REFERENCE":
+ return DYNAMIC_LOCAL_VARIABLE_REFERENCE;
+ case "DYNAMIC_PARAMETER_DECLARATION":
+ return DYNAMIC_PARAMETER_DECLARATION;
+ case "DYNAMIC_PARAMETER_REFERENCE":
+ return DYNAMIC_PARAMETER_REFERENCE;
case "ENUM":
return ENUM;
case "ENUM_CONSTANT":
@@ -9454,10 +9939,30 @@
return IDENTIFIER_DEFAULT;
case "IMPORT_PREFIX":
return IMPORT_PREFIX;
+ case "INSTANCE_FIELD_DECLARATION":
+ return INSTANCE_FIELD_DECLARATION;
+ case "INSTANCE_FIELD_REFERENCE":
+ return INSTANCE_FIELD_REFERENCE;
+ case "INSTANCE_GETTER_DECLARATION":
+ return INSTANCE_GETTER_DECLARATION;
+ case "INSTANCE_GETTER_REFERENCE":
+ return INSTANCE_GETTER_REFERENCE;
+ case "INSTANCE_METHOD_DECLARATION":
+ return INSTANCE_METHOD_DECLARATION;
+ case "INSTANCE_METHOD_REFERENCE":
+ return INSTANCE_METHOD_REFERENCE;
+ case "INSTANCE_SETTER_DECLARATION":
+ return INSTANCE_SETTER_DECLARATION;
+ case "INSTANCE_SETTER_REFERENCE":
+ return INSTANCE_SETTER_REFERENCE;
+ case "INVALID_STRING_ESCAPE":
+ return INVALID_STRING_ESCAPE;
case "KEYWORD":
return KEYWORD;
case "LABEL":
return LABEL;
+ case "LIBRARY_NAME":
+ return LIBRARY_NAME;
case "LITERAL_BOOLEAN":
return LITERAL_BOOLEAN;
case "LITERAL_DOUBLE":
@@ -9470,10 +9975,16 @@
return LITERAL_MAP;
case "LITERAL_STRING":
return LITERAL_STRING;
+ case "LOCAL_FUNCTION_DECLARATION":
+ return LOCAL_FUNCTION_DECLARATION;
+ case "LOCAL_FUNCTION_REFERENCE":
+ return LOCAL_FUNCTION_REFERENCE;
case "LOCAL_VARIABLE":
return LOCAL_VARIABLE;
case "LOCAL_VARIABLE_DECLARATION":
return LOCAL_VARIABLE_DECLARATION;
+ case "LOCAL_VARIABLE_REFERENCE":
+ return LOCAL_VARIABLE_REFERENCE;
case "METHOD":
return METHOD;
case "METHOD_DECLARATION":
@@ -9488,10 +9999,46 @@
return SETTER_DECLARATION;
case "TOP_LEVEL_VARIABLE":
return TOP_LEVEL_VARIABLE;
+ case "PARAMETER_DECLARATION":
+ return PARAMETER_DECLARATION;
+ case "PARAMETER_REFERENCE":
+ return PARAMETER_REFERENCE;
+ case "STATIC_FIELD_DECLARATION":
+ return STATIC_FIELD_DECLARATION;
+ case "STATIC_GETTER_DECLARATION":
+ return STATIC_GETTER_DECLARATION;
+ case "STATIC_GETTER_REFERENCE":
+ return STATIC_GETTER_REFERENCE;
+ case "STATIC_METHOD_DECLARATION":
+ return STATIC_METHOD_DECLARATION;
+ case "STATIC_METHOD_REFERENCE":
+ return STATIC_METHOD_REFERENCE;
+ case "STATIC_SETTER_DECLARATION":
+ return STATIC_SETTER_DECLARATION;
+ case "STATIC_SETTER_REFERENCE":
+ return STATIC_SETTER_REFERENCE;
+ case "TOP_LEVEL_FUNCTION_DECLARATION":
+ return TOP_LEVEL_FUNCTION_DECLARATION;
+ case "TOP_LEVEL_FUNCTION_REFERENCE":
+ return TOP_LEVEL_FUNCTION_REFERENCE;
+ case "TOP_LEVEL_GETTER_DECLARATION":
+ return TOP_LEVEL_GETTER_DECLARATION;
+ case "TOP_LEVEL_GETTER_REFERENCE":
+ return TOP_LEVEL_GETTER_REFERENCE;
+ case "TOP_LEVEL_SETTER_DECLARATION":
+ return TOP_LEVEL_SETTER_DECLARATION;
+ case "TOP_LEVEL_SETTER_REFERENCE":
+ return TOP_LEVEL_SETTER_REFERENCE;
+ case "TOP_LEVEL_VARIABLE_DECLARATION":
+ return TOP_LEVEL_VARIABLE_DECLARATION;
case "TYPE_NAME_DYNAMIC":
return TYPE_NAME_DYNAMIC;
case "TYPE_PARAMETER":
return TYPE_PARAMETER;
+ case "UNRESOLVED_INSTANCE_MEMBER_REFERENCE":
+ return UNRESOLVED_INSTANCE_MEMBER_REFERENCE;
+ case "VALID_STRING_ESCAPE":
+ return VALID_STRING_ESCAPE;
}
throw new Exception('Illegal enum value: $name');
}
@@ -9504,7 +10051,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "HighlightRegionType");
+ throw jsonDecoder.mismatch(jsonPath, "HighlightRegionType", json);
}
@override
@@ -9794,7 +10341,7 @@
}
return new HoverInformation(offset, length, containingLibraryPath: containingLibraryPath, containingLibraryName: containingLibraryName, containingClassDescription: containingClassDescription, dartdoc: dartdoc, elementDescription: elementDescription, elementKind: elementKind, parameter: parameter, propagatedType: propagatedType, staticType: staticType);
} else {
- throw jsonDecoder.mismatch(jsonPath, "HoverInformation");
+ throw jsonDecoder.mismatch(jsonPath, "HoverInformation", json);
}
}
@@ -9959,7 +10506,7 @@
}
return new LinkedEditGroup(positions, length, suggestions);
} else {
- throw jsonDecoder.mismatch(jsonPath, "LinkedEditGroup");
+ throw jsonDecoder.mismatch(jsonPath, "LinkedEditGroup", json);
}
}
@@ -10077,7 +10624,7 @@
}
return new LinkedEditSuggestion(value, kind);
} else {
- throw jsonDecoder.mismatch(jsonPath, "LinkedEditSuggestion");
+ throw jsonDecoder.mismatch(jsonPath, "LinkedEditSuggestion", json);
}
}
@@ -10159,7 +10706,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "LinkedEditSuggestionKind");
+ throw jsonDecoder.mismatch(jsonPath, "LinkedEditSuggestionKind", json);
}
@override
@@ -10304,7 +10851,7 @@
}
return new Location(file, offset, length, startLine, startColumn);
} else {
- throw jsonDecoder.mismatch(jsonPath, "Location");
+ throw jsonDecoder.mismatch(jsonPath, "Location", json);
}
}
@@ -10435,7 +10982,7 @@
}
return new NavigationRegion(offset, length, targets);
} else {
- throw jsonDecoder.mismatch(jsonPath, "NavigationRegion");
+ throw jsonDecoder.mismatch(jsonPath, "NavigationRegion", json);
}
}
@@ -10631,7 +11178,7 @@
}
return new NavigationTarget(kind, fileIndex, offset, length, startLine, startColumn);
} else {
- throw jsonDecoder.mismatch(jsonPath, "NavigationTarget");
+ throw jsonDecoder.mismatch(jsonPath, "NavigationTarget", json);
}
}
@@ -10761,7 +11308,7 @@
}
return new Occurrences(element, offsets, length);
} else {
- throw jsonDecoder.mismatch(jsonPath, "Occurrences");
+ throw jsonDecoder.mismatch(jsonPath, "Occurrences", json);
}
}
@@ -10910,7 +11457,7 @@
}
return new Outline(element, offset, length, children: children);
} else {
- throw jsonDecoder.mismatch(jsonPath, "Outline");
+ throw jsonDecoder.mismatch(jsonPath, "Outline", json);
}
}
@@ -11061,7 +11608,7 @@
}
return new Override(offset, length, superclassMember: superclassMember, interfaceMembers: interfaceMembers);
} else {
- throw jsonDecoder.mismatch(jsonPath, "Override");
+ throw jsonDecoder.mismatch(jsonPath, "Override", json);
}
}
@@ -11166,7 +11713,7 @@
}
return new OverriddenMember(element, className);
} else {
- throw jsonDecoder.mismatch(jsonPath, "OverriddenMember");
+ throw jsonDecoder.mismatch(jsonPath, "OverriddenMember", json);
}
}
@@ -11261,7 +11808,7 @@
}
return new Position(file, offset);
} else {
- throw jsonDecoder.mismatch(jsonPath, "Position");
+ throw jsonDecoder.mismatch(jsonPath, "Position", json);
}
}
@@ -11335,7 +11882,7 @@
}
return new PubStatus(isListingPackageDirs);
} else {
- throw jsonDecoder.mismatch(jsonPath, "PubStatus");
+ throw jsonDecoder.mismatch(jsonPath, "PubStatus", json);
}
}
@@ -11439,7 +11986,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "RefactoringKind");
+ throw jsonDecoder.mismatch(jsonPath, "RefactoringKind", json);
}
@override
@@ -11582,7 +12129,7 @@
}
return new RefactoringMethodParameter(kind, type, name, id: id, parameters: parameters);
} else {
- throw jsonDecoder.mismatch(jsonPath, "RefactoringMethodParameter");
+ throw jsonDecoder.mismatch(jsonPath, "RefactoringMethodParameter", json);
}
}
@@ -11744,7 +12291,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "RefactoringMethodParameterKind");
+ throw jsonDecoder.mismatch(jsonPath, "RefactoringMethodParameterKind", json);
}
@override
@@ -11840,7 +12387,7 @@
}
return new RefactoringProblem(severity, message, location: location);
} else {
- throw jsonDecoder.mismatch(jsonPath, "RefactoringProblem");
+ throw jsonDecoder.mismatch(jsonPath, "RefactoringProblem", json);
}
}
@@ -11927,7 +12474,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "RefactoringProblemSeverity");
+ throw jsonDecoder.mismatch(jsonPath, "RefactoringProblemSeverity", json);
}
/**
@@ -11958,11 +12505,11 @@
}
if (json is Map) {
if (json["type"] != "remove") {
- throw jsonDecoder.mismatch(jsonPath, "equal " + "remove");
+ throw jsonDecoder.mismatch(jsonPath, "equal " + "remove", json);
}
return new RemoveContentOverlay();
} else {
- throw jsonDecoder.mismatch(jsonPath, "RemoveContentOverlay");
+ throw jsonDecoder.mismatch(jsonPath, "RemoveContentOverlay", json);
}
}
@@ -12076,7 +12623,7 @@
}
return new RequestError(code, message, stackTrace: stackTrace);
} else {
- throw jsonDecoder.mismatch(jsonPath, "RequestError");
+ throw jsonDecoder.mismatch(jsonPath, "RequestError", json);
}
}
@@ -12330,7 +12877,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "RequestErrorCode");
+ throw jsonDecoder.mismatch(jsonPath, "RequestErrorCode", json);
}
@override
@@ -12458,7 +13005,7 @@
}
return new SearchResult(location, kind, isPotential, path);
} else {
- throw jsonDecoder.mismatch(jsonPath, "SearchResult");
+ throw jsonDecoder.mismatch(jsonPath, "SearchResult", json);
}
}
@@ -12583,7 +13130,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "SearchResultKind");
+ throw jsonDecoder.mismatch(jsonPath, "SearchResultKind", json);
}
@override
@@ -12627,7 +13174,7 @@
// Fall through
}
}
- throw jsonDecoder.mismatch(jsonPath, "ServerService");
+ throw jsonDecoder.mismatch(jsonPath, "ServerService", json);
}
@override
@@ -12752,7 +13299,7 @@
}
return new SourceChange(message, edits: edits, linkedEditGroups: linkedEditGroups, selection: selection);
} else {
- throw jsonDecoder.mismatch(jsonPath, "SourceChange");
+ throw jsonDecoder.mismatch(jsonPath, "SourceChange", json);
}
}
@@ -12945,7 +13492,7 @@
}
return new SourceEdit(offset, length, replacement, id: id);
} else {
- throw jsonDecoder.mismatch(jsonPath, "SourceEdit");
+ throw jsonDecoder.mismatch(jsonPath, "SourceEdit", json);
}
}
@@ -13093,7 +13640,7 @@
}
return new SourceFileEdit(file, fileStamp, edits: edits);
} else {
- throw jsonDecoder.mismatch(jsonPath, "SourceFileEdit");
+ throw jsonDecoder.mismatch(jsonPath, "SourceFileEdit", json);
}
}
@@ -13342,7 +13889,7 @@
}
return new TypeHierarchyItem(classElement, displayName: displayName, memberElement: memberElement, superclass: superclass, interfaces: interfaces, mixins: mixins, subclasses: subclasses);
} else {
- throw jsonDecoder.mismatch(jsonPath, "TypeHierarchyItem");
+ throw jsonDecoder.mismatch(jsonPath, "TypeHierarchyItem", json);
}
}
@@ -13557,7 +14104,7 @@
}
return new ExtractLocalVariableFeedback(names, offsets, lengths);
} else {
- throw jsonDecoder.mismatch(jsonPath, "extractLocalVariable feedback");
+ throw jsonDecoder.mismatch(jsonPath, "extractLocalVariable feedback", json);
}
}
@@ -13661,7 +14208,7 @@
}
return new ExtractLocalVariableOptions(name, extractAll);
} else {
- throw jsonDecoder.mismatch(jsonPath, "extractLocalVariable options");
+ throw jsonDecoder.mismatch(jsonPath, "extractLocalVariable options", json);
}
}
@@ -13913,7 +14460,7 @@
}
return new ExtractMethodFeedback(offset, length, returnType, names, canCreateGetter, parameters, offsets, lengths);
} else {
- throw jsonDecoder.mismatch(jsonPath, "extractMethod feedback");
+ throw jsonDecoder.mismatch(jsonPath, "extractMethod feedback", json);
}
}
@@ -14119,7 +14666,7 @@
}
return new ExtractMethodOptions(returnType, createGetter, name, parameters, extractAll);
} else {
- throw jsonDecoder.mismatch(jsonPath, "extractMethod options");
+ throw jsonDecoder.mismatch(jsonPath, "extractMethod options", json);
}
}
@@ -14228,7 +14775,7 @@
}
return new InlineLocalVariableFeedback(name, occurrences);
} else {
- throw jsonDecoder.mismatch(jsonPath, "inlineLocalVariable feedback");
+ throw jsonDecoder.mismatch(jsonPath, "inlineLocalVariable feedback", json);
}
}
@@ -14364,7 +14911,7 @@
}
return new InlineMethodFeedback(methodName, isDeclaration, className: className);
} else {
- throw jsonDecoder.mismatch(jsonPath, "inlineMethod feedback");
+ throw jsonDecoder.mismatch(jsonPath, "inlineMethod feedback", json);
}
}
@@ -14468,7 +15015,7 @@
}
return new InlineMethodOptions(deleteSource, inlineAll);
} else {
- throw jsonDecoder.mismatch(jsonPath, "inlineMethod options");
+ throw jsonDecoder.mismatch(jsonPath, "inlineMethod options", json);
}
}
@@ -14562,7 +15109,7 @@
}
return new MoveFileOptions(newFile);
} else {
- throw jsonDecoder.mismatch(jsonPath, "moveFile options");
+ throw jsonDecoder.mismatch(jsonPath, "moveFile options", json);
}
}
@@ -14707,7 +15254,7 @@
}
return new RenameFeedback(offset, length, elementKindName, oldName);
} else {
- throw jsonDecoder.mismatch(jsonPath, "rename feedback");
+ throw jsonDecoder.mismatch(jsonPath, "rename feedback", json);
}
}
@@ -14785,7 +15332,7 @@
}
return new RenameOptions(newName);
} else {
- throw jsonDecoder.mismatch(jsonPath, "rename options");
+ throw jsonDecoder.mismatch(jsonPath, "rename options", json);
}
}
diff --git a/pkg/analysis_server/lib/src/get_handler.dart b/pkg/analysis_server/lib/src/get_handler.dart
index 983f689..7068b9d 100644
--- a/pkg/analysis_server/lib/src/get_handler.dart
+++ b/pkg/analysis_server/lib/src/get_handler.dart
@@ -1010,8 +1010,7 @@
List<Folder> folders = folderMap.keys.toList();
folders.sort((Folder first, Folder second) =>
first.shortName.compareTo(second.shortName));
- AnalysisOptionsImpl options =
- analysisServer.contextDirectoryManager.defaultOptions;
+ AnalysisOptionsImpl options = analysisServer.contextManager.defaultOptions;
ServerOperationQueue operationQueue = analysisServer.operationQueue;
buffer.write('<h3>Analysis Domain</h3>');
diff --git a/pkg/analysis_server/lib/src/operation/operation_analysis.dart b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
index ebe71e7..70b1e9b 100644
--- a/pkg/analysis_server/lib/src/operation/operation_analysis.dart
+++ b/pkg/analysis_server/lib/src/operation/operation_analysis.dart
@@ -6,12 +6,14 @@
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/computer/computer_highlights.dart';
+import 'package:analysis_server/src/computer/computer_highlights2.dart';
import 'package:analysis_server/src/computer/computer_navigation.dart';
import 'package:analysis_server/src/computer/computer_occurrences.dart';
import 'package:analysis_server/src/computer/computer_outline.dart';
import 'package:analysis_server/src/computer/computer_overrides.dart';
import 'package:analysis_server/src/operation/operation.dart';
import 'package:analysis_server/src/protocol_server.dart' as protocol;
+import 'package:analysis_server/src/services/dependencies/library_dependencies.dart';
import 'package:analysis_server/src/services/index/index.dart';
import 'package:analyzer/src/generated/ast.dart';
import 'package:analyzer/src/generated/engine.dart';
@@ -98,6 +100,30 @@
}
}
+void sendAnalysisNotificationAnalyzedFiles(AnalysisServer server) {
+ _sendNotification(server, () {
+ // TODO(paulberry): if it proves to be too inefficient to recompute the set
+ // of analyzed files each time analysis is complete, consider modifying the
+ // analysis engine to update this set incrementally as analysis is
+ // performed.
+ LibraryDependencyCollector collector =
+ new LibraryDependencyCollector(server.getAnalysisContexts().toList());
+ Set<String> analyzedFiles = collector.collectLibraryDependencies();
+ Set<String> prevAnalyzedFiles = server.prevAnalyzedFiles;
+ if (prevAnalyzedFiles != null &&
+ prevAnalyzedFiles.length == analyzedFiles.length &&
+ prevAnalyzedFiles.difference(analyzedFiles).isEmpty) {
+ // No change to the set of analyzed files. No need to send another
+ // notification.
+ return;
+ }
+ server.prevAnalyzedFiles = analyzedFiles;
+ protocol.AnalysisAnalyzedFilesParams params =
+ new protocol.AnalysisAnalyzedFilesParams(analyzedFiles.toList());
+ server.sendNotification(params.toNotification());
+ });
+}
+
void sendAnalysisNotificationErrors(AnalysisServer server, String file,
LineInfo lineInfo, List<AnalysisError> errors) {
_sendNotification(server, () {
@@ -124,7 +150,12 @@
void sendAnalysisNotificationHighlights(
AnalysisServer server, String file, CompilationUnit dartUnit) {
_sendNotification(server, () {
- var regions = new DartUnitHighlightsComputer(dartUnit).compute();
+ List<protocol.HighlightRegion> regions;
+ if (server.options.useAnalysisHighlight2) {
+ regions = new DartUnitHighlightsComputer2(dartUnit).compute();
+ } else {
+ regions = new DartUnitHighlightsComputer(dartUnit).compute();
+ }
var params = new protocol.AnalysisHighlightsParams(file, regions);
server.sendNotification(params.toNotification());
});
diff --git a/pkg/analysis_server/lib/src/protocol.dart b/pkg/analysis_server/lib/src/protocol.dart
index f633eb8..aec8d71 100644
--- a/pkg/analysis_server/lib/src/protocol.dart
+++ b/pkg/analysis_server/lib/src/protocol.dart
@@ -281,7 +281,7 @@
* Create an exception to throw if the JSON object at [jsonPath] fails to
* match the API definition of [expected].
*/
- dynamic mismatch(String jsonPath, String expected);
+ dynamic mismatch(String jsonPath, String expected, [Object actual]);
/**
* Create an exception to throw if the JSON object at [jsonPath] is missing
@@ -301,7 +301,7 @@
} else if (json == 'false') {
return false;
}
- throw mismatch(jsonPath, 'bool');
+ throw mismatch(jsonPath, 'bool', json);
}
/**
@@ -313,10 +313,10 @@
return json;
} else if (json is String) {
return int.parse(json, onError: (String value) {
- throw mismatch(jsonPath, 'int');
+ throw mismatch(jsonPath, 'int', json);
});
}
- throw mismatch(jsonPath, 'int');
+ throw mismatch(jsonPath, 'int', json);
}
/**
@@ -334,7 +334,7 @@
}
return result;
} else {
- throw mismatch(jsonPath, 'List');
+ throw mismatch(jsonPath, 'List', json);
}
}
@@ -362,7 +362,7 @@
});
return result;
} else {
- throw mismatch(jsonPath, 'Map');
+ throw mismatch(jsonPath, 'Map', json);
}
}
@@ -373,7 +373,7 @@
if (json is String) {
return json;
} else {
- throw mismatch(jsonPath, 'String');
+ throw mismatch(jsonPath, 'String', json);
}
}
@@ -392,11 +392,11 @@
var disambiguatorPath = '$jsonPath[${JSON.encode(field)}]';
String disambiguator = _decodeString(disambiguatorPath, json[field]);
if (!decoders.containsKey(disambiguator)) {
- throw mismatch(disambiguatorPath, 'One of: ${decoders.keys.toList()}');
+ throw mismatch(disambiguatorPath, 'One of: ${decoders.keys.toList()}', json);
}
return decoders[disambiguator](jsonPath, json);
} else {
- throw mismatch(jsonPath, 'Map');
+ throw mismatch(jsonPath, 'Map', json);
}
}
}
@@ -616,9 +616,17 @@
}
@override
- dynamic mismatch(String jsonPath, String expected) {
+ dynamic mismatch(String jsonPath, String expected, [Object actual]) {
+ StringBuffer buffer = new StringBuffer();
+ buffer.write('Expected to be ');
+ buffer.write(expected);
+ if (actual != null) {
+ buffer.write('; found "');
+ buffer.write(JSON.encode(actual));
+ buffer.write('"');
+ }
return new RequestFailure(new Response.invalidParameter(
- _request, jsonPath, 'Expected to be $expected'));
+ _request, jsonPath, buffer.toString()));
}
@override
@@ -915,8 +923,18 @@
ResponseDecoder(this.refactoringKind);
@override
- dynamic mismatch(String jsonPath, String expected) {
- return new Exception('Expected $expected at $jsonPath');
+ dynamic mismatch(String jsonPath, String expected, [Object actual]) {
+ StringBuffer buffer = new StringBuffer();
+ buffer.write('Expected ');
+ buffer.write(expected);
+ if (actual != null) {
+ buffer.write(' found "');
+ buffer.write(JSON.encode(actual));
+ buffer.write('"');
+ }
+ buffer.write(' at ');
+ buffer.write(jsonPath);
+ return new Exception(buffer.toString());
}
@override
diff --git a/pkg/analysis_server/lib/src/server/driver.dart b/pkg/analysis_server/lib/src/server/driver.dart
index 7604fc0..8097f94 100644
--- a/pkg/analysis_server/lib/src/server/driver.dart
+++ b/pkg/analysis_server/lib/src/server/driver.dart
@@ -9,6 +9,7 @@
import 'dart:math';
import 'package:analysis_server/src/analysis_server.dart';
+import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/plugin/server_plugin.dart';
import 'package:analysis_server/src/server/http_server.dart';
import 'package:analysis_server/src/server/stdio_server.dart';
@@ -265,6 +266,12 @@
static const String NO_INDEX = "no-index";
/**
+ * The name of the flag used to enable version 2 of semantic highlight
+ * notification.
+ */
+ static const String USE_ANALISYS_HIGHLIGHT2 = "useAnalysisHighlight2";
+
+ /**
* The option for specifying the http diagnostic port.
* If specified, users can review server status and performance information
* by opening a web browser on http://localhost:<port>
@@ -284,9 +291,16 @@
InstrumentationServer instrumentationServer;
/**
+ * The context manager used to create analysis contexts within each of the
+ * analysis roots.
+ */
+ ContextManager contextManager;
+
+ /**
* The package resolver provider used to override the way package URI's are
* resolved in some contexts.
*/
+ @deprecated
ResolverProvider packageResolverProvider;
/**
@@ -349,6 +363,8 @@
results[INCREMENTAL_RESOLUTION_VALIDATION];
analysisServerOptions.noErrorNotification = results[NO_ERROR_NOTIFICATION];
analysisServerOptions.noIndex = results[NO_INDEX];
+ analysisServerOptions.useAnalysisHighlight2 =
+ results[USE_ANALISYS_HIGHLIGHT2];
analysisServerOptions.fileReadMode = results[FILE_READ_MODE];
_initIncrementalLogger(results[INCREMENTAL_RESOLUTION_LOG]);
@@ -396,7 +412,7 @@
// Create the sockets and start listening for requests.
//
socketServer = new SocketServer(analysisServerOptions, defaultSdk, service,
- serverPlugin, packageResolverProvider);
+ serverPlugin, contextManager, packageResolverProvider);
httpServer = new HttpAnalysisServer(socketServer);
stdioServer = new StdioAnalysisServer(socketServer);
socketServer.userDefinedPlugins = _userDefinedPlugins;
@@ -495,6 +511,10 @@
negatable: false);
parser.addFlag(NO_INDEX,
help: "disable indexing sources", defaultsTo: false, negatable: false);
+ parser.addFlag(USE_ANALISYS_HIGHLIGHT2,
+ help: "enable version 2 of semantic highlight",
+ defaultsTo: false,
+ negatable: false);
parser.addOption(FILE_READ_MODE,
help: "an option of the ways files can be read from disk, " +
"some clients normalize end of line characters which would make " +
diff --git a/pkg/analysis_server/lib/src/services/completion/completion_core.dart b/pkg/analysis_server/lib/src/services/completion/completion_core.dart
new file mode 100644
index 0000000..a8ed44b
--- /dev/null
+++ b/pkg/analysis_server/lib/src/services/completion/completion_core.dart
@@ -0,0 +1,41 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library analysis_server.src.services.completion.completion_dart;
+
+import 'package:analysis_server/completion/completion_core.dart';
+import 'package:analyzer/file_system/file_system.dart';
+import 'package:analyzer/src/generated/engine.dart';
+import 'package:analyzer/src/generated/source.dart';
+
+/**
+ * The information about a requested list of completions.
+ */
+class CompletionRequestImpl implements CompletionRequest {
+ /**
+ * The analysis context in which the completion is being requested.
+ */
+ AnalysisContext context;
+
+ /**
+ * The resource provider associated with this request.
+ */
+ ResourceProvider resourceProvider;
+
+ /**
+ * The source in which the completion is being requested.
+ */
+ Source source;
+
+ /**
+ * The offset within the source at which the completion is being requested.
+ */
+ int offset;
+
+ /**
+ * Initialize a newly created completion request based on the given arguments.
+ */
+ CompletionRequestImpl(
+ this.context, this.resourceProvider, this.source, this.offset);
+}
diff --git a/pkg/analysis_server/lib/src/services/completion/completion_dart.dart b/pkg/analysis_server/lib/src/services/completion/completion_dart.dart
new file mode 100644
index 0000000..2dd4eeb
--- /dev/null
+++ b/pkg/analysis_server/lib/src/services/completion/completion_dart.dart
@@ -0,0 +1,34 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library analysis_server.src.services.completion.completion_dart;
+
+import 'package:analysis_server/completion/completion_core.dart';
+import 'package:analysis_server/completion/completion_dart.dart';
+import 'package:analysis_server/src/services/completion/completion_core.dart';
+import 'package:analyzer/src/generated/ast.dart';
+
+/**
+ * The information about a requested list of completions within a Dart file.
+ */
+class DartCompletionRequestImpl extends CompletionRequestImpl
+ implements DartCompletionRequest {
+ /**
+ * The compilation unit in which the completion was requested.
+ */
+ final CompilationUnit unit;
+
+ /**
+ * A flag indicating whether the compilation [unit] is resolved.
+ */
+ final bool isResolved;
+
+ /**
+ * Initialize a newly created completion request based on the given arguments.
+ */
+ DartCompletionRequestImpl(
+ CompletionRequest request, this.unit, this.isResolved)
+ : super(request.context, request.resourceProvider, request.source,
+ request.offset);
+}
diff --git a/pkg/analysis_server/lib/src/services/completion/completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/completion_manager.dart
index 5708274..986cc8b 100644
--- a/pkg/analysis_server/lib/src/services/completion/completion_manager.dart
+++ b/pkg/analysis_server/lib/src/services/completion/completion_manager.dart
@@ -7,7 +7,7 @@
import 'dart:async';
import 'package:analysis_server/completion/completion_core.dart'
- show CompletionRequest;
+ show CompletionRequest, CompletionResult;
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/protocol.dart';
import 'package:analysis_server/src/services/completion/dart_completion_manager.dart';
@@ -246,7 +246,7 @@
/**
* Code completion result generated by an [CompletionManager].
*/
-class CompletionResult {
+class CompletionResultImpl implements CompletionResult {
/**
* The length of the text to be replaced if the remainder of the identifier
@@ -274,8 +274,15 @@
*/
final bool last;
- CompletionResult(this.replacementOffset, this.replacementLength,
+ CompletionResultImpl(this.replacementOffset, this.replacementLength,
this.suggestions, this.last);
+
+ @override
+ // TODO(brianwilkerson) Figure out whether this is correct.
+ bool get hasNewSuggestions => suggestions.isNotEmpty;
+
+ @override
+ bool get isLast => last;
}
class NoOpCompletionManager extends CompletionManager {
@@ -283,7 +290,7 @@
@override
void computeSuggestions(CompletionRequest request) {
- controller.add(new CompletionResult(request.offset, 0, [], true));
+ controller.add(new CompletionResultImpl(request.offset, 0, [], true));
}
}
diff --git a/pkg/analysis_server/lib/src/services/completion/dart_completion_manager.dart b/pkg/analysis_server/lib/src/services/completion/dart_completion_manager.dart
index 88b78a4..9fb70ba 100644
--- a/pkg/analysis_server/lib/src/services/completion/dart_completion_manager.dart
+++ b/pkg/analysis_server/lib/src/services/completion/dart_completion_manager.dart
@@ -42,8 +42,8 @@
const int DART_RELEVANCE_LOCAL_TOP_LEVEL_VARIABLE = 1056;
const int DART_RELEVANCE_LOCAL_VARIABLE = 1059;
const int DART_RELEVANCE_LOW = 500;
-const int DART_RELEVANCE_PARAMETER = 1059;
const int DART_RELEVANCE_NAMED_PARAMETER = 1060;
+const int DART_RELEVANCE_PARAMETER = 1059;
/**
* The base class for contributing code completion suggestions.
@@ -222,7 +222,7 @@
if (controller == null || controller.isClosed) {
return;
}
- controller.add(new CompletionResult(request.replacementOffset,
+ controller.add(new CompletionResultImpl(request.replacementOffset,
request.replacementLength, request.suggestions, last));
if (last) {
controller.close();
diff --git a/pkg/analysis_server/lib/src/socket_server.dart b/pkg/analysis_server/lib/src/socket_server.dart
index 36e7836..1968766 100644
--- a/pkg/analysis_server/lib/src/socket_server.dart
+++ b/pkg/analysis_server/lib/src/socket_server.dart
@@ -6,6 +6,7 @@
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/channel/channel.dart';
+import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/plugin/server_plugin.dart';
import 'package:analysis_server/src/protocol.dart';
import 'package:analysis_server/src/services/index/index.dart';
@@ -28,6 +29,7 @@
final DirectoryBasedDartSdk defaultSdk;
final InstrumentationService instrumentationService;
final ServerPlugin serverPlugin;
+ final ContextManager contextManager;
final ResolverProvider packageResolverProvider;
/**
@@ -42,7 +44,7 @@
List<Plugin> userDefinedPlugins;
SocketServer(this.analysisServerOptions, this.defaultSdk,
- this.instrumentationService, this.serverPlugin,
+ this.instrumentationService, this.serverPlugin, this.contextManager,
this.packageResolverProvider);
/**
@@ -82,6 +84,7 @@
new OptimizingPubPackageMapProvider(resourceProvider, defaultSdk),
index, serverPlugin, analysisServerOptions, defaultSdk,
instrumentationService,
+ contextManager: contextManager,
packageResolverProvider: packageResolverProvider,
rethrowExceptions: false);
analysisServer.userDefinedPlugins = userDefinedPlugins;
diff --git a/pkg/analysis_server/lib/src/status/get_handler.dart b/pkg/analysis_server/lib/src/status/get_handler.dart
index 3e18f8a..0a053bd 100644
--- a/pkg/analysis_server/lib/src/status/get_handler.dart
+++ b/pkg/analysis_server/lib/src/status/get_handler.dart
@@ -1042,8 +1042,7 @@
List<Folder> folders = folderMap.keys.toList();
folders.sort((Folder first, Folder second) =>
first.shortName.compareTo(second.shortName));
- AnalysisOptionsImpl options =
- analysisServer.contextDirectoryManager.defaultOptions;
+ AnalysisOptionsImpl options = analysisServer.contextManager.defaultOptions;
ServerOperationQueue operationQueue = analysisServer.operationQueue;
buffer.write('<h3>Analysis Domain</h3>');
diff --git a/pkg/analysis_server/lib/src/watch_manager.dart b/pkg/analysis_server/lib/src/watch_manager.dart
new file mode 100644
index 0000000..d4df4d5
--- /dev/null
+++ b/pkg/analysis_server/lib/src/watch_manager.dart
@@ -0,0 +1,287 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library context.directory.manager;
+
+import 'dart:async';
+import 'dart:collection';
+import 'dart:core' hide Resource;
+
+import 'package:analyzer/file_system/file_system.dart';
+import 'package:watcher/watcher.dart';
+
+/**
+ * A function called when a watch [event] associated with a watched resource is
+ * received. The list of [tokens] will contain all of the tokens associated with
+ * folders containing (or the same as) the watched resource.
+ */
+typedef void HandleWatchEvent<T>(WatchEvent event, List<T> tokens);
+
+/**
+ * An object that manages a collections of folders that need to be watched in
+ * order to ensure that we are watching the minimum number of folders.
+ *
+ * Each folder can be watched multiple times. In order to differenciate between
+ * the watch requests, each watch request has a *token* associated with it. The
+ * tokens that are used must correctly implement both [==] and [hashCode].
+ */
+class WatchManager<T> {
+ /**
+ * The resource provider used to convert paths to resources.
+ */
+ final ResourceProvider provider;
+
+ /**
+ * The function that is invoked when a watch event is received.
+ */
+ final HandleWatchEvent<T> handleWatchEvent;
+
+ /**
+ * A node representing the (conceptual) root of all other folders.
+ */
+ final WatchNode<T> rootNode = new WatchNode<T>(null);
+
+ /**
+ * A table mapping the folders that are being watched to the nodes
+ * representing those folders.
+ */
+ final Map<Folder, WatchNode<T>> _watchedFolders =
+ new HashMap<Folder, WatchNode<T>>();
+
+ /**
+ * Initialize a newly created watch manager to use the resource [provider] to
+ * convert file paths to resources and to call the [handleWatchEvent] function
+ * to notify the owner of the manager when resources have been changed.
+ */
+ WatchManager(this.provider, this.handleWatchEvent);
+
+ /**
+ * Record the fact that we are now watching the given [folder], and associate
+ * that folder with the given [token]. If the folder is already being watched
+ * and is already associated with the token, then this request is effectively
+ * ignored.
+ */
+ void addFolder(Folder folder, T token) {
+ WatchNode<T> folderNode = _watchedFolders[folder];
+ //
+ // If the folder was already being watched, just record the new token.
+ //
+ if (folderNode != null) {
+ folderNode.tokens.add(token);
+ return;
+ }
+ //
+ // Otherwise, add the folder to the tree.
+ //
+ folderNode = new WatchNode<T>(folder);
+ _watchedFolders[folder] = folderNode;
+ folderNode.tokens.add(token);
+ WatchNode<T> parentNode = rootNode.insert(folderNode);
+ //
+ // If we are not watching a folder that contains the folder, then create a
+ // subscription for it.
+ //
+ if (parentNode == rootNode) {
+ folderNode.subscription = folder.changes.listen(_handleWatchEvent);
+ //
+ // Any nodes that became children of the newly added folder would have
+ // been top-level folders and would have been watched. We need to cancel
+ // their subscriptions.
+ //
+ for (WatchNode<T> childNode in folderNode.children) {
+ assert(childNode.subscription != null);
+ if (childNode.subscription != null) {
+ childNode.subscription.cancel();
+ childNode.subscription = null;
+ }
+ }
+ }
+ }
+
+ /**
+ * Record that we are no longer watching the given [folder] with the given
+ * [token].
+ *
+ * Throws a [StateError] if the folder is not be watched or is not associated
+ * with the given token.
+ */
+ void removeFolder(Folder folder, T token) {
+ WatchNode<T> folderNode = _watchedFolders[folder];
+ if (folderNode == null) {
+ assert(false);
+ return;
+ }
+ Set<T> tokens = folderNode.tokens;
+ if (!tokens.remove(token)) {
+ assert(false);
+ }
+ //
+ // If this was the last token associated with this folder, then remove the
+ // folder from the tree.
+ //
+ if (tokens.isEmpty) {
+ //
+ // If the folder was a top-level folder, then we need to create
+ // subscriptions for all of its children and cancel its subscription.
+ //
+ if (folderNode.subscription != null) {
+ for (WatchNode<T> childNode in folderNode.children) {
+ assert(childNode.subscription == null);
+ childNode.subscription =
+ childNode.folder.changes.listen(_handleWatchEvent);
+ }
+ folderNode.subscription.cancel();
+ folderNode.subscription = null;
+ }
+ folderNode.delete();
+ _watchedFolders.remove(folder);
+ }
+ }
+
+ /**
+ * Dispatch the given event by finding all of the tokens that contain the
+ * resource and invoke the [handleWatchEvent] function.
+ */
+ void _handleWatchEvent(WatchEvent event) {
+ String path = event.path;
+ List<T> tokens = <T>[];
+ WatchNode<T> parent = rootNode.findParent(path);
+ while (parent != rootNode) {
+ tokens.addAll(parent.tokens);
+ parent = parent.parent;
+ }
+ if (tokens.isNotEmpty) {
+ handleWatchEvent(event, tokens);
+ }
+ }
+}
+
+/**
+ * The information kept by a [WatchManager] about a single folder that is being
+ * watched.
+ *
+ * Watch nodes form a tree in which one node is a child of another node if the
+ * child's folder is contained in the parent's folder and none of the folders
+ * between the parent's folder and the child's folder are being watched.
+ */
+class WatchNode<T> {
+ /**
+ * The folder for which information is being maintained. This is `null` for
+ * the unique "root" node that maintains references to all of the top-level
+ * folders being watched.
+ */
+ final Folder folder;
+
+ /**
+ * The parent of this node.
+ */
+ WatchNode parent;
+
+ /**
+ * The information for the children of this node.
+ */
+ final List<WatchNode> _children = <WatchNode>[];
+
+ /**
+ * The tokens that were used to register interest in watching this folder.
+ */
+ final Set<T> tokens = new HashSet<T>();
+
+ /**
+ * The subscription being used to watch the folder, or `null` if the folder
+ * is being watched as part of a containing folder (in other words, if the
+ * parent is not the special "root").
+ */
+ StreamSubscription<WatchEvent> subscription;
+
+ /**
+ * Initialize a newly created node to represent the given [folder].
+ */
+ WatchNode(this.folder);
+
+ /**
+ * Return a list containing the children of this node.
+ */
+ Iterable<WatchNode> get children => _children;
+
+ /**
+ * Remove this node from the tree of watched folders.
+ */
+ void delete() {
+ if (parent != null) {
+ parent._removeChild(this);
+ parent = null;
+ }
+ }
+
+ /**
+ * Return the highest node reachable from this node that contains the given
+ * [filePath]. If no other node is found, return this node, even if this node
+ * does not contain the path.
+ */
+ WatchNode findParent(String filePath) {
+ if (_children == null) {
+ return this;
+ }
+ for (WatchNode childNode in _children) {
+ if (childNode.folder.isOrContains(filePath)) {
+ return childNode.findParent(filePath);
+ }
+ }
+ return this;
+ }
+
+ /**
+ * Insert the given [node] into the tree of watched folders, either as a child
+ * of this node or as a descendent of one of this node's children. Return the
+ * immediate parent of the newly added node.
+ */
+ WatchNode insert(WatchNode node) {
+ WatchNode parentNode = findParent(node.folder.path);
+ parentNode._addChild(node, true);
+ return parentNode;
+ }
+
+ @override
+ String toString() => 'WatchNode ('
+ 'folder = ${folder == null ? '<root>' : folder.path}, '
+ 'tokens = $tokens, '
+ 'subscription = ${subscription == null ? 'null' : 'non-null'})';
+
+ /**
+ * Add the given [newChild] as an immediate child of this node.
+ *
+ * If [checkChildren] is `true`, check to see whether any of the previously
+ * existing children of this node should now be children of the new child, and
+ * if so, move them.
+ */
+ void _addChild(WatchNode newChild, bool checkChildren) {
+ if (checkChildren) {
+ Folder folder = newChild.folder;
+ for (int i = _children.length - 1; i >= 0; i--) {
+ WatchNode existingChild = _children[i];
+ if (folder.contains(existingChild.folder.path)) {
+ newChild._addChild(existingChild, false);
+ _children.removeAt(i);
+ }
+ }
+ }
+ newChild.parent = this;
+ _children.add(newChild);
+ }
+
+ /**
+ * Remove the given [node] from the list of children of this node. Any
+ * children of the [node] will become children of this node.
+ */
+ void _removeChild(WatchNode child) {
+ _children.remove(child);
+ Iterable<WatchNode> grandchildren = child.children;
+ for (WatchNode grandchild in grandchildren) {
+ grandchild.parent = this;
+ _children.add(grandchild);
+ }
+ child._children.clear();
+ }
+}
diff --git a/pkg/analysis_server/lib/starter.dart b/pkg/analysis_server/lib/starter.dart
index e96c8b3..87821c1 100644
--- a/pkg/analysis_server/lib/starter.dart
+++ b/pkg/analysis_server/lib/starter.dart
@@ -4,6 +4,7 @@
library driver;
+import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/server/driver.dart';
import 'package:analysis_server/uri/resolver_provider.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
@@ -19,6 +20,12 @@
factory ServerStarter() = Driver;
/**
+ * Set the context manager used to create analysis contexts within each of the
+ * analysis roots.
+ */
+ void set contextManager(ContextManager manager);
+
+ /**
* Set the instrumentation [server] that is to be used by the analysis server.
*/
void set instrumentationServer(InstrumentationServer server);
@@ -28,6 +35,7 @@
* are resolved in some contexts. The provider should return `null` if the
* default package resolution scheme should be used instead.
*/
+ @deprecated
void set packageResolverProvider(ResolverProvider provider);
/**
diff --git a/pkg/analysis_server/pubspec.yaml b/pkg/analysis_server/pubspec.yaml
index 6f5124c..a9cb19b 100644
--- a/pkg/analysis_server/pubspec.yaml
+++ b/pkg/analysis_server/pubspec.yaml
@@ -6,7 +6,7 @@
environment:
sdk: '>=1.9.0 <2.0.0'
dependencies:
- analyzer: '>=0.25.1-alpha.4 <0.26.0'
+ analyzer: '>=0.25.3-alpha.0 <0.26.0'
args: '>=0.13.0 <0.14.0'
dart_style: '>=0.1.7 <0.2.0'
logging: any
diff --git a/pkg/analysis_server/test/analysis/get_errors_test.dart b/pkg/analysis_server/test/analysis/get_errors_test.dart
index 846990d..14203c9 100644
--- a/pkg/analysis_server/test/analysis/get_errors_test.dart
+++ b/pkg/analysis_server/test/analysis/get_errors_test.dart
@@ -99,7 +99,7 @@
// remove context, causes sending an "invalid file" error
{
Folder projectFolder = resourceProvider.getResource(projectPath);
- server.contextDirectoryManager.removeContext(projectFolder);
+ server.contextManager.removeContext(projectFolder);
}
// wait for an error response
return serverChannel.waitForResponse(request).then((Response response) {
diff --git a/pkg/analysis_server/test/analysis/get_navigation_test.dart b/pkg/analysis_server/test/analysis/get_navigation_test.dart
index b5c224e..1de99e4 100644
--- a/pkg/analysis_server/test/analysis/get_navigation_test.dart
+++ b/pkg/analysis_server/test/analysis/get_navigation_test.dart
@@ -82,7 +82,7 @@
// remove context, causes sending an "invalid file" error
{
Folder projectFolder = resourceProvider.getResource(projectPath);
- server.contextDirectoryManager.removeContext(projectFolder);
+ server.contextManager.removeContext(projectFolder);
}
// wait for an error response
Response response = await serverChannel.waitForResponse(request);
diff --git a/pkg/analysis_server/test/analysis/notification_analyzedFiles_test.dart b/pkg/analysis_server/test/analysis/notification_analyzedFiles_test.dart
new file mode 100644
index 0000000..c4fbf14
--- /dev/null
+++ b/pkg/analysis_server/test/analysis/notification_analyzedFiles_test.dart
@@ -0,0 +1,118 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library test.analysis.notification.analyzedDirectories;
+
+import 'dart:async';
+
+import 'package:analysis_server/src/constants.dart';
+import 'package:analysis_server/src/protocol.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+import 'package:unittest/unittest.dart';
+
+import '../analysis_abstract.dart';
+import '../mocks.dart';
+
+main() {
+ groupSep = ' | ';
+ defineReflectiveTests(AnalysisNotificationAnalyzedFilesTest);
+}
+
+@reflectiveTest
+class AnalysisNotificationAnalyzedFilesTest extends AbstractAnalysisTest {
+ List<String> analyzedFiles;
+ bool analyzedFilesReceived = false;
+
+ void assertHasFile(String filePath) {
+ expect(analyzedFilesReceived, isTrue);
+ expect(analyzedFiles, contains(filePath));
+ }
+
+ Future prepareAnalyzedFiles() {
+ addGeneralAnalysisSubscription(GeneralAnalysisService.ANALYZED_FILES);
+ return waitForTasksFinished();
+ }
+
+ void processNotification(Notification notification) {
+ if (notification.event == ANALYSIS_ANALYZED_FILES) {
+ AnalysisAnalyzedFilesParams params =
+ new AnalysisAnalyzedFilesParams.fromNotification(notification);
+ analyzedFilesReceived = true;
+ analyzedFiles = params.directories;
+ }
+ }
+
+ void setUp() {
+ super.setUp();
+ createProject();
+ }
+
+ test_afterAnalysis() {
+ addTestFile('''
+class A {}
+''');
+ return waitForTasksFinished().then((_) {
+ return prepareAnalyzedFiles().then((_) {
+ assertHasFile(testFile);
+ });
+ });
+ }
+
+ test_beforeAnalysis() {
+ addTestFile('''
+class A {}
+''');
+ return prepareAnalyzedFiles().then((_) {
+ assertHasFile(testFile);
+ });
+ }
+
+ test_insignificant_change() async {
+ // Making a change that doesn't affect the set of reachable files should
+ // not trigger the notification to be re-sent.
+ addTestFile('class A {}');
+ await prepareAnalyzedFiles();
+ await waitForTasksFinished();
+ expect(analyzedFilesReceived, isTrue);
+ analyzedFilesReceived = false;
+ modifyTestFile('class B {}');
+ await pumpEventQueue();
+ await waitForTasksFinished();
+ expect(analyzedFilesReceived, isFalse);
+ }
+
+ test_resubscribe_no_changes() async {
+ // Unsubscribing and resubscribing should cause the notification to be
+ // re-sent, even if nothing has changed.
+ addTestFile('class A {}');
+ await prepareAnalyzedFiles();
+ await waitForTasksFinished();
+ expect(analyzedFilesReceived, isTrue);
+ unsubscribeAnalyzedFiles();
+ analyzedFilesReceived = false;
+ await prepareAnalyzedFiles();
+ expect(analyzedFilesReceived, isTrue);
+ assertHasFile(testFile);
+ }
+
+ test_significant_change() async {
+ // Making a change that *does* affect the set of reachable files should
+ // trigger the notification to be re-sent.
+ addTestFile('class A {}');
+ addFile('/foo.dart', 'library foo');
+ await prepareAnalyzedFiles();
+ await waitForTasksFinished();
+ expect(analyzedFilesReceived, isTrue);
+ analyzedFilesReceived = false;
+ modifyTestFile('import "/foo.dart";');
+ await pumpEventQueue();
+ await waitForTasksFinished();
+ expect(analyzedFilesReceived, isTrue);
+ assertHasFile('/foo.dart');
+ }
+
+ void unsubscribeAnalyzedFiles() {
+ removeGeneralAnalysisSubscription(GeneralAnalysisService.ANALYZED_FILES);
+ }
+}
diff --git a/pkg/analysis_server/test/analysis/notification_highlights_test2.dart b/pkg/analysis_server/test/analysis/notification_highlights_test2.dart
new file mode 100644
index 0000000..7659125
--- /dev/null
+++ b/pkg/analysis_server/test/analysis/notification_highlights_test2.dart
@@ -0,0 +1,1087 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library test.analysis.notification.highlights2;
+
+import 'dart:async';
+
+import 'package:analysis_server/src/constants.dart';
+import 'package:analysis_server/src/protocol.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+import 'package:unittest/unittest.dart';
+
+import '../analysis_abstract.dart';
+
+main() {
+ defineReflectiveTests(AnalysisNotificationHighlightsTest);
+ defineReflectiveTests(HighlightTypeTest);
+}
+
+@reflectiveTest
+class AnalysisNotificationHighlightsTest extends AbstractAnalysisTest {
+ List<HighlightRegion> regions;
+
+ void assertHasRawRegion(HighlightRegionType type, int offset, int length) {
+ for (HighlightRegion region in regions) {
+ if (region.offset == offset &&
+ region.length == length &&
+ region.type == type) {
+ return;
+ }
+ }
+ fail('Expected to find (offset=$offset; length=$length; type=$type) in\n'
+ '${regions.join('\n')}');
+ }
+
+ void assertHasRegion(HighlightRegionType type, String search,
+ [int length = -1]) {
+ int offset = findOffset(search);
+ length = findRegionLength(search, length);
+ assertHasRawRegion(type, offset, length);
+ }
+
+ void assertHasStringRegion(HighlightRegionType type, String str) {
+ int offset = findOffset(str);
+ int length = str.length;
+ assertHasRawRegion(type, offset, length);
+ }
+
+ void assertNoRawRegion(HighlightRegionType type, int offset, int length) {
+ for (HighlightRegion region in regions) {
+ if (region.offset == offset &&
+ region.length == length &&
+ region.type == type) {
+ fail(
+ 'Not expected to find (offset=$offset; length=$length; type=$type) in\n'
+ '${regions.join('\n')}');
+ }
+ }
+ }
+
+ void assertNoRegion(HighlightRegionType type, String search,
+ [int length = -1]) {
+ int offset = findOffset(search);
+ length = findRegionLength(search, length);
+ assertNoRawRegion(type, offset, length);
+ }
+
+ int findRegionLength(String search, int length) {
+ if (length == -1) {
+ length = 0;
+ while (length < search.length) {
+ int c = search.codeUnitAt(length);
+ if (length == 0 && c == '@'.codeUnitAt(0)) {
+ length++;
+ continue;
+ }
+ if (!(c >= 'a'.codeUnitAt(0) && c <= 'z'.codeUnitAt(0) ||
+ c >= 'A'.codeUnitAt(0) && c <= 'Z'.codeUnitAt(0) ||
+ c >= '0'.codeUnitAt(0) && c <= '9'.codeUnitAt(0))) {
+ break;
+ }
+ length++;
+ }
+ }
+ return length;
+ }
+
+ Future prepareHighlights() {
+ addAnalysisSubscription(AnalysisService.HIGHLIGHTS, testFile);
+ return waitForTasksFinished();
+ }
+
+ void processNotification(Notification notification) {
+ if (notification.event == ANALYSIS_HIGHLIGHTS) {
+ var params = new AnalysisHighlightsParams.fromNotification(notification);
+ if (params.file == testFile) {
+ regions = params.regions;
+ }
+ }
+ }
+
+ @override
+ void setUp() {
+ super.setUp();
+ server.options.useAnalysisHighlight2 = true;
+ createProject();
+ }
+
+ test_ANNOTATION_hasArguments() {
+ addTestFile('''
+class AAA {
+ const AAA(a, b, c);
+}
+@AAA(1, 2, 3) main() {}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA(', '@AAA('.length);
+ assertHasRegion(HighlightRegionType.ANNOTATION, ') main', ')'.length);
+ });
+ }
+
+ test_ANNOTATION_noArguments() {
+ addTestFile('''
+const AAA = 42;
+@AAA main() {}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.ANNOTATION, '@AAA');
+ });
+ }
+
+ test_BUILT_IN_abstract() {
+ addTestFile('''
+abstract class A {};
+abstract class B = Object with A;
+main() {
+ var abstract = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class A');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'abstract class B');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'abstract = 42');
+ });
+ }
+
+ test_BUILT_IN_as() {
+ addTestFile('''
+import 'dart:math' as math;
+main() {
+ p as int;
+ var as = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'as math');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'as int');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'as = 42');
+ });
+ }
+
+ test_BUILT_IN_async() {
+ addTestFile('''
+fa() async {}
+fb() async* {}
+main() {
+ bool async = false;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async');
+ assertHasStringRegion(HighlightRegionType.BUILT_IN, 'async*');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'async = false');
+ });
+ }
+
+ test_BUILT_IN_await() {
+ addTestFile('''
+main() async {
+ await 42;
+ await for (var item in []) {
+ print(item);
+ }
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'await 42');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'await for');
+ });
+ }
+
+ test_BUILT_IN_deferred() {
+ addTestFile('''
+import 'dart:math' deferred as math;
+main() {
+ var deferred = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'deferred as math');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'deferred = 42');
+ });
+ }
+
+ test_BUILT_IN_export() {
+ addTestFile('''
+export "dart:math";
+main() {
+ var export = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'export "dart:');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'export = 42');
+ });
+ }
+
+ test_BUILT_IN_external() {
+ addTestFile('''
+class A {
+ external A();
+ external aaa();
+}
+external main() {
+ var external = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'external A()');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'external aaa()');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'external main()');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'external = 42');
+ });
+ }
+
+ test_BUILT_IN_factory() {
+ addTestFile('''
+class A {
+ factory A() => null;
+}
+main() {
+ var factory = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'factory A()');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'factory = 42');
+ });
+ }
+
+ test_BUILT_IN_get() {
+ addTestFile('''
+get aaa => 1;
+class A {
+ get bbb => 2;
+}
+main() {
+ var get = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'get aaa =>');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'get bbb =>');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'get = 42');
+ });
+ }
+
+ test_BUILT_IN_hide() {
+ addTestFile('''
+import 'foo.dart' hide Foo;
+main() {
+ var hide = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'hide Foo');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'hide = 42');
+ });
+ }
+
+ test_BUILT_IN_implements() {
+ addTestFile('''
+class A {}
+class B implements A {}
+main() {
+ var implements = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'implements A {}');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'implements = 42');
+ });
+ }
+
+ test_BUILT_IN_import() {
+ addTestFile('''
+import "foo.dart";
+main() {
+ var import = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'import "');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'import = 42');
+ });
+ }
+
+ test_BUILT_IN_library() {
+ addTestFile('''
+library lib;
+main() {
+ var library = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'library lib;');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'library = 42');
+ });
+ }
+
+ test_BUILT_IN_native() {
+ addTestFile('''
+class A native "A_native" {}
+class B {
+ bbb() native "bbb_native";
+}
+main() {
+ var native = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'native "A_');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'native "bbb_');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'native = 42');
+ });
+ }
+
+ test_BUILT_IN_on() {
+ addTestFile('''
+main() {
+ try {
+ } on int catch (e) {
+ }
+ var on = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'on int');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'on = 42');
+ });
+ }
+
+ test_BUILT_IN_operator() {
+ addTestFile('''
+class A {
+ operator +(x) => null;
+}
+main() {
+ var operator = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'operator +(');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'operator = 42');
+ });
+ }
+
+ test_BUILT_IN_part() {
+ addTestFile('''
+part "my_part.dart";
+main() {
+ var part = 42;
+}''');
+ addFile('/project/bin/my_part.dart', 'part of lib;');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'part "my_');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 42');
+ });
+ }
+
+ test_BUILT_IN_partOf() {
+ addTestFile('''
+part of lib;
+main() {
+ var part = 1;
+ var of = 2;
+}''');
+ _addLibraryForTestPart();
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.BUILT_IN, 'part of', 'part of'.length);
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'part = 1');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'of = 2');
+ });
+ }
+
+ test_BUILT_IN_set() {
+ addTestFile('''
+set aaa(x) {}
+class A
+ set bbb(x) {}
+}
+main() {
+ var set = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'set aaa(');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'set bbb(');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'set = 42');
+ });
+ }
+
+ test_BUILT_IN_show() {
+ addTestFile('''
+import 'foo.dart' show Foo;
+main() {
+ var show = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'show Foo');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'show = 42');
+ });
+ }
+
+ test_BUILT_IN_static() {
+ addTestFile('''
+class A {
+ static aaa;
+ static bbb() {}
+}
+main() {
+ var static = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'static aaa;');
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'static bbb()');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'static = 42');
+ });
+ }
+
+ test_BUILT_IN_sync() {
+ addTestFile('''
+fa() sync {}
+fb() sync* {}
+main() {
+ bool sync = false;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync');
+ assertHasStringRegion(HighlightRegionType.BUILT_IN, 'sync*');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'sync = false');
+ });
+ }
+
+ test_BUILT_IN_typedef() {
+ addTestFile('''
+typedef A();
+main() {
+ var typedef = 42;
+}''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'typedef A();');
+ assertNoRegion(HighlightRegionType.BUILT_IN, 'typedef = 42');
+ });
+ }
+
+ test_BUILT_IN_yield() {
+ addTestFile('''
+main() async* {
+ yield 42;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.BUILT_IN, 'yield 42');
+ });
+ }
+
+ test_BUILT_IN_yieldStar() {
+ addTestFile('''
+main() async* {
+ yield* [];
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightRegionType.BUILT_IN, 'yield*');
+ });
+ }
+
+ test_CLASS() {
+ addTestFile('''
+class AAA {}
+AAA aaa;
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.CLASS, 'AAA {}');
+ assertHasRegion(HighlightRegionType.CLASS, 'AAA aaa');
+ });
+ }
+
+ test_CLASS_notDynamic() {
+ addTestFile('''
+dynamic f() {}
+''');
+ return prepareHighlights().then((_) {
+ assertNoRegion(HighlightRegionType.CLASS, 'dynamic f()');
+ });
+ }
+
+ test_CLASS_notVoid() {
+ addTestFile('''
+void f() {}
+''');
+ return prepareHighlights().then((_) {
+ assertNoRegion(HighlightRegionType.CLASS, 'void f()');
+ });
+ }
+
+ test_COMMENT() {
+ addTestFile('''
+/**
+ * documentation comment
+ */
+void main() {
+ // end-of-line comment
+ my_function(1);
+}
+
+void my_function(String a) {
+ /* block comment */
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.COMMENT_DOCUMENTATION, '/**', 32);
+ assertHasRegion(HighlightRegionType.COMMENT_END_OF_LINE, '//', 22);
+ assertHasRegion(HighlightRegionType.COMMENT_BLOCK, '/* b', 19);
+ });
+ }
+
+ test_CONSTRUCTOR() {
+ addTestFile('''
+class AAA {
+ AAA() {}
+ AAA.name(p) {}
+}
+main() {
+ new AAA();
+ new AAA.name(42);
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(p)');
+ assertHasRegion(HighlightRegionType.CONSTRUCTOR, 'name(42)');
+ assertNoRegion(HighlightRegionType.CONSTRUCTOR, 'AAA() {}');
+ assertNoRegion(HighlightRegionType.CONSTRUCTOR, 'AAA();');
+ });
+ }
+
+ test_DIRECTIVE() {
+ addTestFile('''
+library lib;
+import 'dart:math';
+export 'dart:math';
+part 'part.dart';
+''');
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightRegionType.DIRECTIVE, "library lib;");
+ assertHasStringRegion(
+ HighlightRegionType.DIRECTIVE, "import 'dart:math';");
+ assertHasStringRegion(
+ HighlightRegionType.DIRECTIVE, "export 'dart:math';");
+ assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part 'part.dart';");
+ });
+ }
+
+ test_DIRECTIVE_partOf() {
+ addTestFile('''
+part of lib;
+''');
+ _addLibraryForTestPart();
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightRegionType.DIRECTIVE, "part of lib;");
+ });
+ }
+
+ test_DYNAMIC_LOCAL_VARIABLE() {
+ addTestFile('''
+f() {}
+main(p) {
+ var v = f();
+ v;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_DECLARATION, 'v = f()');
+ assertHasRegion(
+ HighlightRegionType.DYNAMIC_LOCAL_VARIABLE_REFERENCE, 'v;');
+ });
+ }
+
+ test_DYNAMIC_PARAMETER() {
+ addTestFile('''
+main(p) {
+ print(p);
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION, 'p)');
+ assertHasRegion(HighlightRegionType.DYNAMIC_PARAMETER_REFERENCE, 'p);');
+ });
+ }
+
+ test_DYNAMIC_VARIABLE_field() {
+ addTestFile('''
+class A {
+ var f;
+ m() {
+ f = 1;
+ }
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'f;');
+ assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'f = 1');
+ });
+ }
+
+ test_ENUM() {
+ addTestFile('''
+enum MyEnum {A, B, C}
+MyEnum value;
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.ENUM, 'MyEnum {');
+ assertHasRegion(HighlightRegionType.ENUM, 'MyEnum value;');
+ });
+ }
+
+ test_ENUM_CONSTANT() {
+ addTestFile('''
+enum MyEnum {AAA, BBB}
+main() {
+ print(MyEnum.AAA);
+ print(MyEnum.BBB);
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA, ');
+ assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB}');
+ assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'AAA);');
+ assertHasRegion(HighlightRegionType.ENUM_CONSTANT, 'BBB);');
+ });
+ }
+
+ test_FUNCTION_TYPE_ALIAS() {
+ addTestFile('''
+typedef FFF(p);
+main(FFF fff) {
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF(p)');
+ assertHasRegion(HighlightRegionType.FUNCTION_TYPE_ALIAS, 'FFF fff)');
+ });
+ }
+
+ test_GETTER() {
+ addTestFile('''
+get aaa => null;
+class A {
+ get bbb => null;
+ static get ccc => null;
+}
+main(A a) {
+ aaa;
+ a.bbb;
+ A.ccc;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_GETTER_DECLARATION, 'aaa => null');
+ assertHasRegion(
+ HighlightRegionType.INSTANCE_GETTER_DECLARATION, 'bbb => null');
+ assertHasRegion(
+ HighlightRegionType.STATIC_GETTER_DECLARATION, 'ccc => null');
+ assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'aaa;');
+ assertHasRegion(HighlightRegionType.INSTANCE_GETTER_REFERENCE, 'bbb;');
+ assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'ccc;');
+ });
+ }
+
+ test_IDENTIFIER_DEFAULT() {
+ addTestFile('''
+main() {
+ aaa = 42;
+ bbb(84);
+ CCC ccc;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'aaa = 42');
+ assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'bbb(84)');
+ assertHasRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'CCC ccc');
+ });
+ }
+
+ test_IMPORT_PREFIX() {
+ addTestFile('''
+import 'dart:math' as ma;
+main() {
+ ma.max(1, 2);
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma;');
+ assertHasRegion(HighlightRegionType.IMPORT_PREFIX, 'ma.max');
+ });
+ }
+
+ test_INSTANCE_FIELD() {
+ addTestFile('''
+class A {
+ int aaa = 1;
+ int bbb = 2;
+ A([this.bbb = 3]);
+}
+main(A a) {
+ a.aaa = 4;
+ a.bbb = 5;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'aaa = 1');
+ assertHasRegion(
+ HighlightRegionType.INSTANCE_FIELD_DECLARATION, 'bbb = 2');
+ assertHasRegion(HighlightRegionType.INSTANCE_FIELD_REFERENCE, 'bbb = 3');
+ assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'aaa = 4');
+ assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 5');
+ });
+ }
+
+ test_KEYWORD() {
+ addTestFile('''
+main() {
+ assert(true);
+ for (;;) break;
+ switch (0) {
+ case 0: break;
+ default: break;
+ }
+ try {} catch (e) {}
+ const v1 = 0;
+ for (;;) continue;
+ do {} while (true);
+ if (true) {} else {}
+ var v2 = false;
+ final v3 = 1;
+ try {} finally {}
+ for (var v4 in []) {}
+ v3 is int;
+ new A();
+ try {} catch (e) {rethrow;}
+ var v5 = true;
+ while (true) {}
+}
+class A {}
+class B extends A {
+ B() : super();
+ m() {
+ return this;
+ }
+}
+class C = Object with A;
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.KEYWORD, 'assert(true)');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'for (;;)');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'for (var v4 in');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'break;');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'case 0:');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'catch (e) {}');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'class A {}');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'const v1');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'continue;');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'default:');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'do {} while');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'if (true)');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'false;');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'final v3 =');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'finally {}');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'in []');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'is int');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'new A();');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'rethrow;');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'return this');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'super();');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'switch (0)');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'this;');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'true;');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'try {');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'while (true) {}');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'while (true);');
+ assertHasRegion(HighlightRegionType.KEYWORD, 'with A;');
+ });
+ }
+
+ test_KEYWORD_void() {
+ addTestFile('''
+void main() {
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.KEYWORD, 'void main()');
+ });
+ }
+
+ test_LABEL() {
+ addTestFile('''
+main() {
+myLabel:
+ while (true) {
+ break myLabel;
+ }
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.LABEL, 'myLabel:');
+ assertHasRegion(HighlightRegionType.LABEL, 'myLabel;');
+ });
+ }
+
+ test_LITERAL_BOOLEAN() {
+ addTestFile('var V = true;');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.LITERAL_BOOLEAN, 'true;');
+ });
+ }
+
+ test_LITERAL_DOUBLE() {
+ addTestFile('var V = 4.2;');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.LITERAL_DOUBLE, '4.2;', '4.2'.length);
+ });
+ }
+
+ test_LITERAL_INTEGER() {
+ addTestFile('var V = 42;');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.LITERAL_INTEGER, '42;');
+ });
+ }
+
+ test_LITERAL_LIST() {
+ addTestFile('var V = <int>[1, 2, 3];');
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightRegionType.LITERAL_LIST, '<int>[1, 2, 3]');
+ });
+ }
+
+ test_LITERAL_MAP() {
+ addTestFile("var V = const <int, String>{1: 'a', 2: 'b', 3: 'c'};");
+ return prepareHighlights().then((_) {
+ assertHasStringRegion(HighlightRegionType.LITERAL_MAP,
+ "const <int, String>{1: 'a', 2: 'b', 3: 'c'}");
+ });
+ }
+
+ test_LITERAL_STRING() {
+ addTestFile('var V = "abc";');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.LITERAL_STRING, '"abc";', '"abc"'.length);
+ });
+ }
+
+ test_LOCAL_FUNCTION() {
+ addTestFile('''
+main() {
+ fff() {}
+ fff();
+ fff;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.LOCAL_FUNCTION_DECLARATION, 'fff() {}');
+ assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff();');
+ assertHasRegion(HighlightRegionType.LOCAL_FUNCTION_REFERENCE, 'fff;');
+ });
+ }
+
+ test_LOCAL_VARIABLE() {
+ addTestFile('''
+main() {
+ int vvv = 0;
+ vvv;
+ vvv = 1;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.LOCAL_VARIABLE_DECLARATION, 'vvv = 0');
+ assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv;');
+ assertHasRegion(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, 'vvv = 1;');
+ });
+ }
+
+ test_METHOD() {
+ addTestFile('''
+class A {
+ aaa() {}
+ static bbb() {}
+}
+main(A a) {
+ a.aaa();
+ a.aaa;
+ A.bbb();
+ A.bbb;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.INSTANCE_METHOD_DECLARATION, 'aaa() {}');
+ assertHasRegion(
+ HighlightRegionType.STATIC_METHOD_DECLARATION, 'bbb() {}');
+ assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa();');
+ assertHasRegion(HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'aaa;');
+ assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb();');
+ assertHasRegion(HighlightRegionType.STATIC_METHOD_REFERENCE, 'bbb;');
+ });
+ }
+
+ test_METHOD_bestType() {
+ addTestFile('''
+main(p) {
+ if (p is List) {
+ p.add(null);
+ }
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.INSTANCE_METHOD_REFERENCE, 'add(null)');
+ });
+ }
+
+ test_PARAMETER() {
+ addTestFile('''
+main(int p) {
+ p;
+ p = 42;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.PARAMETER_DECLARATION, 'p) {');
+ assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p;');
+ assertHasRegion(HighlightRegionType.PARAMETER_REFERENCE, 'p = 42');
+ });
+ }
+
+ test_SETTER_DECLARATION() {
+ addTestFile('''
+set aaa(x) {}
+class A {
+ set bbb(x) {}
+ static set ccc(x) {}
+}
+main(A a) {
+ aaa = 1;
+ a.bbb = 2;
+ A.ccc = 3;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_SETTER_DECLARATION, 'aaa(x)');
+ assertHasRegion(
+ HighlightRegionType.INSTANCE_SETTER_DECLARATION, 'bbb(x)');
+ assertHasRegion(HighlightRegionType.STATIC_SETTER_DECLARATION, 'ccc(x)');
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'aaa = 1');
+ assertHasRegion(HighlightRegionType.INSTANCE_SETTER_REFERENCE, 'bbb = 2');
+ assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3');
+ });
+ }
+
+ test_STATIC_FIELD() {
+ addTestFile('''
+class A {
+ static aaa = 1;
+ static get bbb => null;
+ static set ccc(x) {}
+}
+main() {
+ A.aaa = 2;
+ A.bbb;
+ A.ccc = 3;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.STATIC_FIELD_DECLARATION, 'aaa = 1');
+ assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'aaa = 2');
+ assertHasRegion(HighlightRegionType.STATIC_GETTER_REFERENCE, 'bbb;');
+ assertHasRegion(HighlightRegionType.STATIC_SETTER_REFERENCE, 'ccc = 3');
+ });
+ }
+
+ test_TOP_LEVEL_FUNCTION() {
+ addTestFile('''
+fff(p) {}
+main() {
+ fff(42);
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, 'fff(p) {}');
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, 'fff(42)');
+ });
+ }
+
+ test_TOP_LEVEL_VARIABLE() {
+ addTestFile('''
+const V1 = 1;
+var V2 = 2;
+@V1 // annotation
+main() {
+ print(V1);
+ V2 = 3;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V1 = 1');
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION, 'V2 = 2');
+ assertHasRegion(
+ HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1 // annotation');
+ assertHasRegion(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, 'V1);');
+ assertHasRegion(HighlightRegionType.TOP_LEVEL_SETTER_REFERENCE, 'V2 = 3');
+ });
+ }
+
+ test_TYPE_NAME_DYNAMIC() {
+ addTestFile('''
+dynamic main() {
+ dynamic = 42;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic main()');
+ assertNoRegion(HighlightRegionType.IDENTIFIER_DEFAULT, 'dynamic main()');
+ assertNoRegion(HighlightRegionType.TYPE_NAME_DYNAMIC, 'dynamic = 42');
+ });
+ }
+
+ test_TYPE_PARAMETER() {
+ addTestFile('''
+class A<T> {
+ T fff;
+ T mmm(T p) => null;
+}
+''');
+ return prepareHighlights().then((_) {
+ assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T> {');
+ assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T fff;');
+ assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T mmm(');
+ assertHasRegion(HighlightRegionType.TYPE_PARAMETER, 'T p)');
+ });
+ }
+
+ void _addLibraryForTestPart() {
+ addFile('$testFolder/my_lib.dart', '''
+library lib;
+part 'test.dart';
+ ''');
+ }
+}
+
+@reflectiveTest
+class HighlightTypeTest {
+ void test_constructor() {
+ expect(HighlightRegionType.CLASS,
+ new HighlightRegionType(HighlightRegionType.CLASS.name));
+ }
+
+ void test_toString() {
+ expect(HighlightRegionType.CLASS.toString(), 'HighlightRegionType.CLASS');
+ }
+
+ void test_valueOf_unknown() {
+ expect(() {
+ new HighlightRegionType('no-such-type');
+ }, throws);
+ }
+}
diff --git a/pkg/analysis_server/test/analysis/notification_navigation_test.dart b/pkg/analysis_server/test/analysis/notification_navigation_test.dart
index 13d54cd..6c440471ca 100644
--- a/pkg/analysis_server/test/analysis/notification_navigation_test.dart
+++ b/pkg/analysis_server/test/analysis/notification_navigation_test.dart
@@ -506,7 +506,7 @@
var libFile = addFile('$projectPath/bin/lib.dart', libCode);
addTestFile('export "lib.dart";');
return prepareNavigation().then((_) {
- assertHasRegionString('export "lib.dart"');
+ assertHasRegionString('"lib.dart"');
assertHasFileTarget(libFile, libCode.indexOf('lib;'), 'lib'.length);
});
}
@@ -514,7 +514,7 @@
test_string_export_unresolvedUri() {
addTestFile('export "no.dart";');
return prepareNavigation().then((_) {
- assertNoRegionString('export "no.dart"');
+ assertNoRegionString('"no.dart"');
});
}
@@ -523,7 +523,7 @@
var libFile = addFile('$projectPath/bin/lib.dart', libCode);
addTestFile('import "lib.dart";');
return prepareNavigation().then((_) {
- assertHasRegionString('import "lib.dart"');
+ assertHasRegionString('"lib.dart"');
assertHasFileTarget(libFile, libCode.indexOf('lib;'), 'lib'.length);
});
}
@@ -538,7 +538,7 @@
test_string_import_unresolvedUri() {
addTestFile('import "no.dart";');
return prepareNavigation().then((_) {
- assertNoRegionString('import "no.dart"');
+ assertNoRegionString('"no.dart"');
});
}
@@ -550,7 +550,7 @@
part "test_unit.dart";
''');
return prepareNavigation().then((_) {
- assertHasRegionString('part "test_unit.dart"');
+ assertHasRegionString('"test_unit.dart"');
assertHasFileTarget(unitFile, 0, 0);
});
}
@@ -561,7 +561,7 @@
part "test_unit.dart";
''');
return prepareNavigation().then((_) {
- assertNoRegionString('part "test_unit.dart"');
+ assertNoRegionString('"test_unit.dart"');
});
}
diff --git a/pkg/analysis_server/test/analysis/test_all.dart b/pkg/analysis_server/test/analysis/test_all.dart
index b28a687..69e0e9b 100644
--- a/pkg/analysis_server/test/analysis/test_all.dart
+++ b/pkg/analysis_server/test/analysis/test_all.dart
@@ -8,8 +8,11 @@
import 'get_errors_test.dart' as get_errors_test;
import 'get_hover_test.dart' as get_hover_test;
import 'get_navigation_test.dart' as get_navigation_test;
+import 'notification_analyzedFiles_test.dart'
+ as notification_analyzedFiles_test;
import 'notification_errors_test.dart' as notification_errors_test;
import 'notification_highlights_test.dart' as notification_highlights_test;
+import 'notification_highlights_test2.dart' as notification_highlights_test2;
import 'notification_navigation_test.dart' as notification_navigation_test;
import 'notification_occurrences_test.dart' as notification_occurrences_test;
import 'notification_outline_test.dart' as notification_outline_test;
@@ -25,8 +28,10 @@
get_errors_test.main();
get_hover_test.main();
get_navigation_test.main();
+ notification_analyzedFiles_test.main();
notification_errors_test.main();
notification_highlights_test.main();
+ notification_highlights_test2.main();
notification_navigation_test.main();
notification_occurrences_test.main();
notification_outline_test.main();
diff --git a/pkg/analysis_server/test/analysis_abstract.dart b/pkg/analysis_server/test/analysis_abstract.dart
index 2efad95..539f718 100644
--- a/pkg/analysis_server/test/analysis_abstract.dart
+++ b/pkg/analysis_server/test/analysis_abstract.dart
@@ -46,6 +46,8 @@
RequestHandler handler;
final List<ServerErrorParams> serverErrors = <ServerErrorParams>[];
+ final List<GeneralAnalysisService> generalServices =
+ <GeneralAnalysisService>[];
final Map<AnalysisService, List<String>> analysisSubscriptions = {};
String projectPath = '/project';
@@ -74,6 +76,13 @@
return path;
}
+ void addGeneralAnalysisSubscription(GeneralAnalysisService service) {
+ generalServices.add(service);
+ Request request = new AnalysisSetGeneralSubscriptionsParams(generalServices)
+ .toRequest('0');
+ handleSuccessfulRequest(request);
+ }
+
String addTestFile(String content) {
addFile(testFile, content);
this.testCode = content;
@@ -147,6 +156,13 @@
}
}
+ void removeGeneralAnalysisSubscription(GeneralAnalysisService service) {
+ generalServices.remove(service);
+ Request request = new AnalysisSetGeneralSubscriptionsParams(generalServices)
+ .toRequest('0');
+ handleSuccessfulRequest(request);
+ }
+
void setUp() {
serverChannel = new MockServerChannel();
resourceProvider = new MemoryResourceProvider();
diff --git a/pkg/analysis_server/test/analysis_server_test.dart b/pkg/analysis_server/test/analysis_server_test.dart
index d05602f..467a170 100644
--- a/pkg/analysis_server/test/analysis_server_test.dart
+++ b/pkg/analysis_server/test/analysis_server_test.dart
@@ -8,6 +8,7 @@
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/constants.dart';
+import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/domain_server.dart';
import 'package:analysis_server/src/operation/operation.dart';
import 'package:analysis_server/src/plugin/server_plugin.dart';
diff --git a/pkg/analysis_server/test/context_manager_test.dart b/pkg/analysis_server/test/context_manager_test.dart
index 092fc85..af43b51 100644
--- a/pkg/analysis_server/test/context_manager_test.dart
+++ b/pkg/analysis_server/test/context_manager_test.dart
@@ -8,6 +8,7 @@
import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/source/optimizing_pub_package_map_provider.dart';
+import 'package:analysis_server/uri/resolver_provider.dart';
import 'package:analyzer/file_system/file_system.dart';
import 'package:analyzer/file_system/memory_file_system.dart';
import 'package:analyzer/instrumentation/instrumentation.dart';
@@ -15,20 +16,20 @@
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/source.dart';
import 'package:analyzer/src/generated/source_io.dart';
+import 'package:package_config/packages.dart';
import 'package:path/path.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'package:unittest/unittest.dart';
import 'mocks.dart';
-import 'package:analysis_server/uri/resolver_provider.dart';
main() {
groupSep = ' | ';
- defineReflectiveTests(ContextManagerTest);
+ defineReflectiveTests(AbstractContextManagerTest);
}
@reflectiveTest
-class ContextManagerTest {
+class AbstractContextManagerTest {
/**
* The name of the 'bin' directory.
*/
@@ -83,8 +84,14 @@
void setUp() {
resourceProvider = new MemoryResourceProvider();
packageMapProvider = new MockPackageMapProvider();
- manager = new TestContextManager(resourceProvider, providePackageResolver, packageMapProvider);
+ manager = new TestContextManager(
+ resourceProvider, providePackageResolver, packageMapProvider);
resourceProvider.newFolder(projPath);
+ AbstractContextManager.ENABLE_PACKAGESPEC_SUPPORT = true;
+ }
+
+ void tearDown() {
+ AbstractContextManager.ENABLE_PACKAGESPEC_SUPPORT = false;
}
test_ignoreFilesInPackagesFolder() {
@@ -128,6 +135,47 @@
expect(manager.isInAnalysisRoot('/test.dart'), isFalse);
}
+ test_refresh_folder_with_packagespec() {
+ // create a context with a .packages file
+ String packagespecFile = posix.join(projPath, '.packages');
+ resourceProvider.newFile(packagespecFile, '');
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+ return pumpEventQueue().then((_) {
+ expect(manager.currentContextPaths.toList(), [projPath]);
+ manager.now++;
+ manager.refresh(null);
+ return pumpEventQueue().then((_) {
+ expect(manager.currentContextPaths.toList(), [projPath]);
+ expect(manager.currentContextTimestamps[projPath], manager.now);
+ });
+ });
+ }
+
+ test_refresh_folder_with_packagespec_subfolders() {
+ // Create a folder with no .packages file, containing two subfolders with
+ // .packages files.
+ String subdir1Path = posix.join(projPath, 'subdir1');
+ String subdir2Path = posix.join(projPath, 'subdir2');
+ String packagespec1Path = posix.join(subdir1Path, '.packages');
+ String packagespec2Path = posix.join(subdir2Path, '.packages');
+ resourceProvider.newFile(packagespec1Path, '');
+ resourceProvider.newFile(packagespec2Path, '');
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+ return pumpEventQueue().then((_) {
+ expect(manager.currentContextPaths.toSet(),
+ [subdir1Path, subdir2Path, projPath].toSet());
+ manager.now++;
+ manager.refresh(null);
+ return pumpEventQueue().then((_) {
+ expect(manager.currentContextPaths.toSet(),
+ [subdir1Path, subdir2Path, projPath].toSet());
+ expect(manager.currentContextTimestamps[projPath], manager.now);
+ expect(manager.currentContextTimestamps[subdir1Path], manager.now);
+ expect(manager.currentContextTimestamps[subdir2Path], manager.now);
+ });
+ });
+ }
+
test_refresh_folder_with_pubspec() {
// create a context with a pubspec.yaml file
String pubspecPath = posix.join(projPath, 'pubspec.yaml');
@@ -169,6 +217,59 @@
});
}
+ test_path_filter() async {
+ // Setup context.
+ Folder root = resourceProvider.newFolder(projPath);
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+ expect(manager.currentContextFilePaths[projPath], isEmpty);
+ // Set ignore patterns for context.
+ manager.setIgnorePatternsForContext(
+ root, ['sdk_ext/**', 'lib/ignoreme.dart']);
+ // Start creating files.
+ newFile([projPath, AbstractContextManager.PUBSPEC_NAME]);
+ String libPath = newFolder([projPath, LIB_NAME]);
+ newFile([libPath, 'main.dart']);
+ newFile([libPath, 'ignoreme.dart']);
+ String sdkExtPath = newFolder([projPath, 'sdk_ext']);
+ newFile([sdkExtPath, 'entry.dart']);
+ String sdkExtSrcPath = newFolder([projPath, 'sdk_ext', 'src']);
+ newFile([sdkExtSrcPath, 'part.dart']);
+ // Pump event loop so new files are discovered and added to context.
+ await pumpEventQueue();
+ // Verify that ignored files were ignored.
+ Map<String, int> fileTimestamps = manager.currentContextFilePaths[projPath];
+ expect(fileTimestamps, isNotEmpty);
+ List<String> files = fileTimestamps.keys.toList();
+ expect(files.length, equals(1));
+ expect(files[0], equals('/my/proj/lib/main.dart'));
+ }
+
+ test_path_filter_analysis_option() async {
+ // Create files.
+ String libPath = newFolder([projPath, LIB_NAME]);
+ newFile([libPath, 'main.dart']);
+ newFile([libPath, 'nope.dart']);
+ String sdkExtPath = newFolder([projPath, 'sdk_ext']);
+ newFile([sdkExtPath, 'entry.dart']);
+ String sdkExtSrcPath = newFolder([projPath, 'sdk_ext', 'src']);
+ newFile([sdkExtSrcPath, 'part.dart']);
+ // Setup analysis options file with ignore list.
+ newFile([projPath, '.analysis_options'], r'''
+analyzer:
+ exclude:
+ - lib/nope.dart
+ - 'sdk_ext/**'
+''');
+ // Setup context.
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+ // Verify that analysis options was parsed and the ignore patterns applied.
+ Map<String, int> fileTimestamps = manager.currentContextFilePaths[projPath];
+ expect(fileTimestamps, isNotEmpty);
+ List<String> files = fileTimestamps.keys.toList();
+ expect(files.length, equals(1));
+ expect(files[0], equals('/my/proj/lib/main.dart'));
+ }
+
test_refresh_oneContext() {
// create two contexts with pubspec.yaml files
String pubspecPath = posix.join(projPath, 'pubspec.yaml');
@@ -202,7 +303,8 @@
var filePaths = manager.currentContextFilePaths[projPath];
expect(filePaths, hasLength(1));
expect(filePaths, contains(filePath));
- List<AnalysisContext> contextsInAnalysisRoot = manager.contextsInAnalysisRoot(resourceProvider.newFolder(projPath));
+ List<AnalysisContext> contextsInAnalysisRoot =
+ manager.contextsInAnalysisRoot(resourceProvider.newFolder(projPath));
expect(contextsInAnalysisRoot, hasLength(1));
AnalysisContext context = contextsInAnalysisRoot[0];
expect(context, isNotNull);
@@ -211,22 +313,6 @@
expect(result.exists(), isFalse);
}
- void test_setRoots_packageResolver() {
- Uri uri = Uri.parse('package:foo/foo.dart');
- Source source = new TestSource();
- packageResolver = new TestUriResolver({uri : source});
- String filePath = posix.join(projPath, 'foo.dart');
- resourceProvider.newFile(filePath, 'contents');
- manager.setRoots(<String>[projPath], <String>[], <String, String>{});
-
- List<AnalysisContext> contextsInAnalysisRoot = manager.contextsInAnalysisRoot(resourceProvider.newFolder(projPath));
- expect(contextsInAnalysisRoot, hasLength(1));
- AnalysisContext context = contextsInAnalysisRoot[0];
- expect(context, isNotNull);
- Source result = context.sourceFactory.forUri2(uri);
- expect(result, same(source));
- }
-
void test_setRoots_addFolderWithDartFileInSubfolder() {
String filePath = posix.join(projPath, 'foo', 'bar.dart');
resourceProvider.newFile(filePath, 'contents');
@@ -246,13 +332,41 @@
expect(filePaths, isEmpty);
}
+ void test_setRoots_addFolderWithNestedPackageSpec() {
+ String examplePath = newFolder([projPath, EXAMPLE_NAME]);
+ String libPath = newFolder([projPath, LIB_NAME]);
+
+ newFile([projPath, AbstractContextManager.PACKAGE_SPEC_NAME]);
+ newFile([libPath, 'main.dart']);
+ newFile([examplePath, AbstractContextManager.PACKAGE_SPEC_NAME]);
+ newFile([examplePath, 'example.dart']);
+
+ packageMapProvider.packageMap['proj'] =
+ [resourceProvider.getResource(libPath)];
+
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+
+ expect(manager.currentContextPaths, hasLength(2));
+
+ expect(manager.currentContextPaths, contains(projPath));
+ Set<Source> projSources = manager.currentContextSources[projPath];
+ expect(projSources, hasLength(1));
+ expect(projSources.first.uri.toString(), 'file:///my/proj/lib/main.dart');
+
+ expect(manager.currentContextPaths, contains(examplePath));
+ Set<Source> exampleSources = manager.currentContextSources[examplePath];
+ expect(exampleSources, hasLength(1));
+ expect(exampleSources.first.uri.toString(),
+ 'file:///my/proj/example/example.dart');
+ }
+
void test_setRoots_addFolderWithNestedPubspec() {
String examplePath = newFolder([projPath, EXAMPLE_NAME]);
String libPath = newFolder([projPath, LIB_NAME]);
- newFile([projPath, PUBSPEC_NAME]);
+ newFile([projPath, AbstractContextManager.PUBSPEC_NAME]);
newFile([libPath, 'main.dart']);
- newFile([examplePath, PUBSPEC_NAME]);
+ newFile([examplePath, AbstractContextManager.PUBSPEC_NAME]);
newFile([examplePath, 'example.dart']);
packageMapProvider.packageMap['proj'] =
@@ -283,6 +397,31 @@
expect(manager.currentContextFilePaths[projPath], hasLength(0));
}
+ void test_setRoots_addFolderWithPackagespec() {
+ String packagespecPath = posix.join(projPath, '.packages');
+ resourceProvider.newFile(packagespecPath,
+ 'unittest:file:///home/somebody/.pub/cache/unittest-0.9.9/lib/');
+ String libPath = newFolder([projPath, LIB_NAME]);
+ File mainFile =
+ resourceProvider.newFile(posix.join(libPath, 'main.dart'), '');
+ Source source = mainFile.createSource();
+
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+
+ // verify
+ expect(manager.currentContextPaths, hasLength(1));
+ expect(manager.currentContextPaths, contains(projPath));
+ expect(manager.currentContextFilePaths[projPath], hasLength(1));
+
+ // smoketest resolution
+ SourceFactory sourceFactory = manager.currentContext.sourceFactory;
+ Source resolvedSource =
+ sourceFactory.resolveUri(source, 'package:unittest/unittest.dart');
+ expect(resolvedSource, isNotNull);
+ expect(resolvedSource.fullName,
+ equals('/home/somebody/.pub/cache/unittest-0.9.9/lib/unittest.dart'));
+ }
+
void test_setRoots_addFolderWithPubspec() {
String pubspecPath = posix.join(projPath, 'pubspec.yaml');
resourceProvider.newFile(pubspecPath, 'pubspec');
@@ -293,13 +432,23 @@
expect(manager.currentContextFilePaths[projPath], hasLength(0));
}
+ void test_setRoots_addFolderWithPubspec_andPackagespec() {
+ String pubspecPath = posix.join(projPath, 'pubspec.yaml');
+ String packagespecPath = posix.join(projPath, '.packages');
+ resourceProvider.newFile(pubspecPath, 'pubspec');
+ resourceProvider.newFile(packagespecPath, '');
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+ // verify
+ manager.assertContextPaths([projPath]);
+ }
+
void test_setRoots_addFolderWithPubspecAndLib() {
String binPath = newFolder([projPath, BIN_NAME]);
String libPath = newFolder([projPath, LIB_NAME]);
String srcPath = newFolder([libPath, SRC_NAME]);
String testPath = newFolder([projPath, TEST_NAME]);
- newFile([projPath, PUBSPEC_NAME]);
+ newFile([projPath, AbstractContextManager.PUBSPEC_NAME]);
String appPath = newFile([binPath, 'app.dart']);
newFile([libPath, 'main.dart']);
newFile([srcPath, 'internal.dart']);
@@ -322,6 +471,33 @@
expect(uris, contains('file://$testFilePath'));
}
+ void test_setRoots_addFolderWithPubspecAndPackagespecFolders() {
+ // prepare paths
+ String root = '/root';
+ String rootFile = '$root/root.dart';
+ String subProjectA = '$root/sub/aaa';
+ String subProjectB = '$root/sub/sub2/bbb';
+ String subProjectA_file = '$subProjectA/bin/a.dart';
+ String subProjectB_file = '$subProjectB/bin/b.dart';
+ // create files
+ resourceProvider.newFile('$subProjectA/pubspec.yaml', 'pubspec');
+ resourceProvider.newFile('$subProjectB/pubspec.yaml', 'pubspec');
+ resourceProvider.newFile('$subProjectA/.packages', '');
+ resourceProvider.newFile('$subProjectB/.packages', '');
+
+ resourceProvider.newFile(rootFile, 'library root;');
+ resourceProvider.newFile(subProjectA_file, 'library a;');
+ resourceProvider.newFile(subProjectB_file, 'library b;');
+
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root, subProjectA, subProjectB]);
+ // verify files
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProjectA, [subProjectA_file]);
+ manager.assertContextFiles(subProjectB, [subProjectB_file]);
+ }
+
void test_setRoots_addFolderWithPubspecFolders() {
// prepare paths
String root = '/root';
@@ -526,6 +702,23 @@
_checkPackageMap(projPath, equals(packageMapProvider.packageMap));
}
+ void test_setRoots_packageResolver() {
+ Uri uri = Uri.parse('package:foo/foo.dart');
+ Source source = new TestSource();
+ packageResolver = new TestUriResolver({uri: source});
+ String filePath = posix.join(projPath, 'foo.dart');
+ resourceProvider.newFile(filePath, 'contents');
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+
+ List<AnalysisContext> contextsInAnalysisRoot =
+ manager.contextsInAnalysisRoot(resourceProvider.newFolder(projPath));
+ expect(contextsInAnalysisRoot, hasLength(1));
+ AnalysisContext context = contextsInAnalysisRoot[0];
+ expect(context, isNotNull);
+ Source result = context.sourceFactory.forUri2(uri);
+ expect(result, same(source));
+ }
+
void test_setRoots_removeFolderWithoutPubspec() {
packageMapProvider.packageMap = null;
// add one root - there is a context
@@ -537,6 +730,53 @@
expect(manager.currentContextFilePaths, hasLength(0));
}
+ void test_setRoots_removeFolderWithPackagespec() {
+ // create a pubspec
+ String pubspecPath = posix.join(projPath, '.packages');
+ resourceProvider.newFile(pubspecPath, '');
+ // add one root - there is a context
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+ expect(manager.currentContextPaths, hasLength(1));
+ // set empty roots - no contexts
+ manager.setRoots(<String>[], <String>[], <String, String>{});
+ expect(manager.currentContextPaths, hasLength(0));
+ expect(manager.currentContextFilePaths, hasLength(0));
+ }
+
+ void test_setRoots_removeFolderWithPackagespecFolder() {
+ // prepare paths
+ String projectA = '/projectA';
+ String projectB = '/projectB';
+ String subProjectA = '$projectA/sub';
+ String subProjectB = '$projectB/sub';
+ String projectA_file = '$projectA/a.dart';
+ String projectB_file = '$projectB/a.dart';
+ String subProjectA_pubspec = '$subProjectA/.packages';
+ String subProjectB_pubspec = '$subProjectB/.packages';
+ String subProjectA_file = '$subProjectA/bin/sub_a.dart';
+ String subProjectB_file = '$subProjectB/bin/sub_b.dart';
+ // create files
+ resourceProvider.newFile(projectA_file, '// a');
+ resourceProvider.newFile(projectB_file, '// b');
+ resourceProvider.newFile(subProjectA_pubspec, '');
+ resourceProvider.newFile(subProjectB_pubspec, '');
+ resourceProvider.newFile(subProjectA_file, '// sub-a');
+ resourceProvider.newFile(subProjectB_file, '// sub-b');
+ // set roots
+ manager.setRoots(
+ <String>[projectA, projectB], <String>[], <String, String>{});
+ manager.assertContextPaths([projectA, subProjectA, projectB, subProjectB]);
+ manager.assertContextFiles(projectA, [projectA_file]);
+ manager.assertContextFiles(projectB, [projectB_file]);
+ manager.assertContextFiles(subProjectA, [subProjectA_file]);
+ manager.assertContextFiles(subProjectB, [subProjectB_file]);
+ // remove "projectB"
+ manager.setRoots(<String>[projectA], <String>[], <String, String>{});
+ manager.assertContextPaths([projectA, subProjectA]);
+ manager.assertContextFiles(projectA, [projectA_file]);
+ manager.assertContextFiles(subProjectA, [subProjectA_file]);
+ }
+
void test_setRoots_removeFolderWithPubspec() {
// create a pubspec
String pubspecPath = posix.join(projPath, 'pubspec.yaml');
@@ -664,6 +904,107 @@
});
}
+ test_watch_addPackagespec_toRoot() {
+ // prepare paths
+ String root = '/root';
+ String rootFile = '$root/root.dart';
+ String rootPackagespec = '$root/.packages';
+ // create files
+ resourceProvider.newFile(rootFile, 'library root;');
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root]);
+ // verify files
+ manager.assertContextFiles(root, [rootFile]);
+ // add packagespec - still just one root
+ resourceProvider.newFile(rootPackagespec, '');
+ return pumpEventQueue().then((_) {
+ manager.assertContextPaths([root]);
+ manager.assertContextFiles(root, [rootFile]);
+ // TODO(pquitslund): verify that a new source factory is created --
+ // likely this will need to happen in a corresponding ServerContextManagerTest.
+ });
+ }
+
+ test_watch_addPackagespec_toSubFolder() {
+ // prepare paths
+ String root = '/root';
+ String rootFile = '$root/root.dart';
+ String subProject = '$root/sub/aaa';
+ String subPubspec = '$subProject/.packages';
+ String subFile = '$subProject/bin/a.dart';
+ // create files
+ resourceProvider.newFile(rootFile, 'library root;');
+ resourceProvider.newFile(subFile, 'library a;');
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root]);
+ // verify files
+ manager.assertContextFiles(root, [rootFile, subFile]);
+ // add .packages
+ resourceProvider.newFile(subPubspec, '');
+ return pumpEventQueue().then((_) {
+ manager.assertContextPaths([root, subProject]);
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProject, [subFile]);
+ });
+ }
+
+ test_watch_addPackagespec_toSubFolder_ofSubFolder() {
+ // prepare paths
+ String root = '/root';
+ String rootFile = '$root/root.dart';
+ String subProject = '$root/sub';
+ String subPubspec = '$subProject/.packages';
+ String subFile = '$subProject/bin/sub.dart';
+ String subSubPubspec = '$subProject/subsub/.packages';
+ // create files
+ resourceProvider.newFile(rootFile, 'library root;');
+ resourceProvider.newFile(subPubspec, '');
+ resourceProvider.newFile(subFile, 'library sub;');
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root, subProject]);
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProject, [subFile]);
+ // add pubspec - ignore, because is already in a packagespec-based context
+ resourceProvider.newFile(subSubPubspec, '');
+ return pumpEventQueue().then((_) {
+ manager.assertContextPaths([root, subProject]);
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProject, [subFile]);
+ });
+ }
+
+ test_watch_addPackagespec_toSubFolder_withPubspec() {
+ // prepare paths
+ String root = '/root';
+ String rootFile = '$root/root.dart';
+ String subProject = '$root/sub/aaa';
+ String subPackagespec = '$subProject/.packages';
+ String subPubspec = '$subProject/pubspec.yaml';
+ String subFile = '$subProject/bin/a.dart';
+ // create files
+ resourceProvider.newFile(subPubspec, 'pubspec');
+ resourceProvider.newFile(rootFile, 'library root;');
+ resourceProvider.newFile(subFile, 'library a;');
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root, subProject]);
+ // verify files
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProject, [subFile]);
+
+ // add .packages
+ resourceProvider.newFile(subPackagespec, '');
+ return pumpEventQueue().then((_) {
+ // Should NOT create another context.
+ manager.assertContextPaths([root, subProject]);
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProject, [subFile]);
+ });
+ }
+
test_watch_addPubspec_toRoot() {
// prepare paths
String root = '/root';
@@ -776,6 +1117,79 @@
});
}
+ test_watch_deletePackagespec_fromRoot() {
+ // prepare paths
+ String root = '/root';
+ String rootPubspec = '$root/.packages';
+ String rootFile = '$root/root.dart';
+ // create files
+ resourceProvider.newFile(rootPubspec, '');
+ resourceProvider.newFile(rootFile, 'library root;');
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root]);
+ manager.assertContextFiles(root, [rootFile]);
+ // delete the pubspec
+ resourceProvider.deleteFile(rootPubspec);
+ return pumpEventQueue().then((_) {
+ manager.assertContextPaths([root]);
+ manager.assertContextFiles(root, [rootFile]);
+ });
+ }
+
+ test_watch_deletePackagespec_fromSubFolder() {
+ // prepare paths
+ String root = '/root';
+ String rootFile = '$root/root.dart';
+ String subProject = '$root/sub/aaa';
+ String subPubspec = '$subProject/.packages';
+ String subFile = '$subProject/bin/a.dart';
+ // create files
+ resourceProvider.newFile(subPubspec, '');
+ resourceProvider.newFile(rootFile, 'library root;');
+ resourceProvider.newFile(subFile, 'library a;');
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root, subProject]);
+ // verify files
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProject, [subFile]);
+ // delete the pubspec
+ resourceProvider.deleteFile(subPubspec);
+ return pumpEventQueue().then((_) {
+ manager.assertContextPaths([root]);
+ manager.assertContextFiles(root, [rootFile, subFile]);
+ });
+ }
+
+ test_watch_deletePackagespec_fromSubFolder_withPubspec() {
+ // prepare paths
+ String root = '/root';
+ String rootFile = '$root/root.dart';
+ String subProject = '$root/sub/aaa';
+ String subPackagespec = '$subProject/.packages';
+ String subPubspec = '$subProject/pubspec.yaml';
+ String subFile = '$subProject/bin/a.dart';
+ // create files
+ resourceProvider.newFile(subPackagespec, '');
+ resourceProvider.newFile(subPubspec, 'pubspec');
+ resourceProvider.newFile(rootFile, 'library root;');
+ resourceProvider.newFile(subFile, 'library a;');
+ // set roots
+ manager.setRoots(<String>[root], <String>[], <String, String>{});
+ manager.assertContextPaths([root, subProject]);
+ // verify files
+ manager.assertContextFiles(root, [rootFile]);
+ manager.assertContextFiles(subProject, [subFile]);
+ // delete the packagespec
+ resourceProvider.deleteFile(subPackagespec);
+ return pumpEventQueue().then((_) {
+ // Should NOT merge
+ manager.assertContextPaths([root, subProject]);
+ manager.assertContextFiles(subProject, [subFile]);
+ });
+ }
+
test_watch_deletePubspec_fromRoot() {
// prepare paths
String root = '/root';
@@ -952,6 +1366,31 @@
expect(packageMapProvider.computeCount, 2);
}
+ test_watch_modifyPackagespec() {
+ String packagesPath = '$projPath/.packages';
+ String filePath = '$projPath/bin/main.dart';
+
+ resourceProvider.newFile(packagesPath, '');
+ resourceProvider.newFile(filePath, 'library main;');
+
+ manager.setRoots(<String>[projPath], <String>[], <String, String>{});
+
+ Map<String, int> filePaths = manager.currentContextFilePaths[projPath];
+ expect(filePaths, hasLength(1));
+ expect(filePaths, contains(filePath));
+ Packages packages = manager.currentContextPackagespecs[projPath];
+ expect(packages.packages, isEmpty);
+
+ // update .packages
+ manager.now++;
+ resourceProvider.modifyFile(packagesPath, 'main:./lib/');
+ return pumpEventQueue().then((_) {
+ // verify new package info
+ packages = manager.currentContextPackagespecs[projPath];
+ expect(packages.packages, unorderedEquals(['main']));
+ });
+ }
+
/**
* Verify that package URI's for source files in [path] will be resolved
* using a package map matching [expectation].
@@ -975,7 +1414,7 @@
}
}
-class TestContextManager extends ContextManager {
+class TestContextManager extends AbstractContextManager {
/**
* Source of timestamps stored in [currentContextFilePaths].
*/
@@ -1010,8 +1449,13 @@
final Map<String, UriResolver> currentContextPackageUriResolvers =
<String, UriResolver>{};
+ /**
+ * Map from context to packages object.
+ */
+ final Map<String, Packages> currentContextPackagespecs = <String, Packages>{};
+
TestContextManager(MemoryResourceProvider resourceProvider,
- ResolverProvider packageResolverProvider,
+ ResolverProvider packageResolverProvider,
OptimizingPubPackageMapProvider packageMapProvider)
: super(resourceProvider, packageResolverProvider, packageMapProvider,
InstrumentationService.NULL_SERVICE);
@@ -1022,16 +1466,21 @@
Iterable<String> get currentContextPaths => currentContextTimestamps.keys;
@override
- AnalysisContext addContext(Folder folder, UriResolver packageUriResolver) {
+ AnalysisContext addContext(
+ Folder folder, UriResolver packageUriResolver, Packages packages) {
String path = folder.path;
expect(currentContextPaths, isNot(contains(path)));
currentContextTimestamps[path] = now;
currentContextFilePaths[path] = <String, int>{};
currentContextSources[path] = new HashSet<Source>();
currentContextPackageUriResolvers[path] = packageUriResolver;
+ currentContextPackagespecs[path] = packages;
currentContext = AnalysisEngine.instance.createAnalysisContext();
- currentContext.sourceFactory = new SourceFactory(
- packageUriResolver == null ? [] : [packageUriResolver]);
+ List<UriResolver> resolvers = [new FileUriResolver()];
+ if (packageUriResolver != null) {
+ resolvers.add(packageUriResolver);
+ }
+ currentContext.sourceFactory = new SourceFactory(resolvers, packages);
return currentContext;
}
@@ -1093,19 +1542,9 @@
@override
void updateContextPackageUriResolver(
- Folder contextFolder, UriResolver packageUriResolver) {
+ Folder contextFolder, UriResolver packageUriResolver, Packages packages) {
currentContextPackageUriResolvers[contextFolder.path] = packageUriResolver;
- }
-}
-
-class TestUriResolver extends UriResolver {
- Map<Uri, Source> uriMap;
-
- TestUriResolver(this.uriMap);
-
- @override
- Source resolveAbsolute(Uri uri) {
- return uriMap[uri];
+ currentContextPackagespecs[contextFolder.path] = packages;
}
}
@@ -1118,3 +1557,14 @@
@override
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
+
+class TestUriResolver extends UriResolver {
+ Map<Uri, Source> uriMap;
+
+ TestUriResolver(this.uriMap);
+
+ @override
+ Source resolveAbsolute(Uri uri) {
+ return uriMap[uri];
+ }
+}
diff --git a/pkg/analysis_server/test/domain_completion_test.dart b/pkg/analysis_server/test/domain_completion_test.dart
index a51cdec..63cd20f 100644
--- a/pkg/analysis_server/test/domain_completion_test.dart
+++ b/pkg/analysis_server/test/domain_completion_test.dart
@@ -7,10 +7,11 @@
import 'dart:async';
import 'package:analysis_server/completion/completion_core.dart'
- show CompletionRequest;
+ show CompletionRequest, CompletionResult;
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/channel/channel.dart';
import 'package:analysis_server/src/constants.dart';
+import 'package:analysis_server/src/context_manager.dart';
import 'package:analysis_server/src/domain_analysis.dart';
import 'package:analysis_server/src/domain_completion.dart';
import 'package:analysis_server/src/plugin/server_plugin.dart';
@@ -568,7 +569,7 @@
@override
void computeSuggestions(CompletionRequest request) {
++computeCallCount;
- CompletionResult result = new CompletionResult(0, 0, [], true);
+ CompletionResult result = new CompletionResultImpl(0, 0, [], true);
controller.add(result);
}
diff --git a/pkg/analysis_server/test/domain_execution_test.dart b/pkg/analysis_server/test/domain_execution_test.dart
index 0bab760..8fa9234 100644
--- a/pkg/analysis_server/test/domain_execution_test.dart
+++ b/pkg/analysis_server/test/domain_execution_test.dart
@@ -230,7 +230,7 @@
AnalysisServer server = new AnalysisServerMock();
when(server.getAnalysisContexts()).thenReturn([context]);
- when(server.contextDirectoryManager).thenReturn(manager);
+ when(server.contextManager).thenReturn(manager);
StreamController controller = new StreamController.broadcast(sync: true);
when(server.onFileAnalyzed).thenReturn(controller.stream);
diff --git a/pkg/analysis_server/test/integration/analysis/highlights_test2.dart b/pkg/analysis_server/test/integration/analysis/highlights_test2.dart
new file mode 100644
index 0000000..71913f0
--- /dev/null
+++ b/pkg/analysis_server/test/integration/analysis/highlights_test2.dart
@@ -0,0 +1,165 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library test.integration.analysis.highlights2;
+
+import 'dart:async';
+
+import 'package:analysis_server/src/protocol.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+import 'package:unittest/unittest.dart';
+
+import '../integration_tests.dart';
+
+main() {
+ defineReflectiveTests(AnalysisHighlightsTest);
+}
+
+@reflectiveTest
+class AnalysisHighlightsTest extends AbstractAnalysisServerIntegrationTest {
+ Future startServer() {
+ return server.start(useAnalysisHighlight2: true);
+ }
+
+ test_highlights() {
+ String pathname = sourcePath('test.dart');
+ String text = r'''
+import 'dart:async' as async;
+
+/**
+ * Doc comment
+ */
+class Class<TypeParameter> {
+ Class() {
+ field = {1.0: [].toList()};
+ }
+
+ Class.constructor() {
+ dynamic local = true;
+ field = {2: local};
+ }
+
+ Map field;
+ static int staticField;
+
+ method() {
+ // End of line comment
+ /* Block comment */
+ }
+
+ static staticMethod() {
+ }
+
+ get getter {
+ }
+
+ set setter(int parameter) {
+ print(parameter);
+ }
+}
+
+class Class2<TypeParameter> extends Class<TypeParameter> {
+ @override
+ method() {
+ }
+}
+
+typedef functionType();
+
+function(dynamicType) {
+ print('string');
+ unresolvedIdentifier = 42;
+ return async.Future.wait([]);
+}
+
+int topLevelVariable;
+''';
+ writeFile(pathname, text);
+ standardAnalysisSetup();
+ sendAnalysisSetSubscriptions({AnalysisService.HIGHLIGHTS: [pathname]});
+ // Map from highlight type to highlighted text
+ Map<HighlightRegionType, Set<String>> highlights;
+ onAnalysisHighlights.listen((AnalysisHighlightsParams params) {
+ expect(params.file, equals(pathname));
+ highlights = <HighlightRegionType, Set<String>>{};
+ for (HighlightRegion region in params.regions) {
+ int startIndex = region.offset;
+ int endIndex = startIndex + region.length;
+ String highlightedText = text.substring(startIndex, endIndex);
+ HighlightRegionType type = region.type;
+ if (!highlights.containsKey(type)) {
+ highlights[type] = new Set<String>();
+ }
+ highlights[type].add(highlightedText);
+ }
+ });
+ return analysisFinished.then((_) {
+ // There should be 1 error due to the fact that unresolvedIdentifier is
+ // unresolved.
+ expect(currentAnalysisErrors[pathname], hasLength(1));
+ void check(HighlightRegionType type, List<String> expected) {
+ expect(highlights[type], equals(expected.toSet()));
+ highlights.remove(type);
+ }
+ check(HighlightRegionType.ANNOTATION, ['@override']);
+ check(HighlightRegionType.BUILT_IN, [
+ 'as',
+ 'get',
+ 'import',
+ 'set',
+ 'static',
+ 'typedef'
+ ]);
+ check(HighlightRegionType.CLASS, [
+ 'Class',
+ 'Class2',
+ 'Future',
+ 'Map',
+ 'int'
+ ]);
+ check(HighlightRegionType.COMMENT_BLOCK, ['/* Block comment */']);
+ check(HighlightRegionType.COMMENT_DOCUMENTATION,
+ ['/**\n * Doc comment\n */']);
+ check(
+ HighlightRegionType.COMMENT_END_OF_LINE, ['// End of line comment']);
+ check(HighlightRegionType.CONSTRUCTOR, ['constructor']);
+ check(HighlightRegionType.DIRECTIVE, ["import 'dart:async' as async;"]);
+ check(HighlightRegionType.DYNAMIC_PARAMETER_DECLARATION, ['dynamicType']);
+ check(HighlightRegionType.INSTANCE_FIELD_DECLARATION, ['field']);
+ check(HighlightRegionType.INSTANCE_SETTER_REFERENCE, ['field']);
+ check(HighlightRegionType.STATIC_FIELD_DECLARATION, ['staticField']);
+ check(HighlightRegionType.TOP_LEVEL_FUNCTION_REFERENCE, ['print']);
+ check(HighlightRegionType.TOP_LEVEL_FUNCTION_DECLARATION, ['function']);
+ check(HighlightRegionType.FUNCTION_TYPE_ALIAS, ['functionType']);
+ check(HighlightRegionType.INSTANCE_GETTER_DECLARATION, ['getter']);
+ check(HighlightRegionType.IDENTIFIER_DEFAULT, ['unresolvedIdentifier']);
+ check(HighlightRegionType.IMPORT_PREFIX, ['async']);
+ check(HighlightRegionType.KEYWORD, ['class', 'true', 'return']);
+ check(HighlightRegionType.LITERAL_BOOLEAN, ['true']);
+ check(HighlightRegionType.LITERAL_DOUBLE, ['1.0']);
+ check(HighlightRegionType.LITERAL_INTEGER, ['2', '42']);
+ check(HighlightRegionType.LITERAL_LIST, ['[]']);
+ check(HighlightRegionType.LITERAL_MAP, [
+ '{1.0: [].toList()}',
+ '{2: local}'
+ ]);
+ check(HighlightRegionType.LITERAL_STRING, ["'dart:async'", "'string'"]);
+ check(HighlightRegionType.LOCAL_VARIABLE_DECLARATION, ['local']);
+ check(HighlightRegionType.LOCAL_VARIABLE_REFERENCE, ['local']);
+ check(HighlightRegionType.INSTANCE_METHOD_REFERENCE, ['toList']);
+ check(HighlightRegionType.INSTANCE_METHOD_DECLARATION, ['method']);
+ check(HighlightRegionType.STATIC_METHOD_DECLARATION, ['staticMethod']);
+ check(HighlightRegionType.STATIC_METHOD_REFERENCE, ['wait']);
+ check(HighlightRegionType.PARAMETER_DECLARATION, ['parameter']);
+ check(HighlightRegionType.PARAMETER_REFERENCE, ['parameter']);
+ check(HighlightRegionType.INSTANCE_SETTER_DECLARATION, ['setter']);
+ check(HighlightRegionType.TOP_LEVEL_GETTER_REFERENCE, ['override']);
+ check(HighlightRegionType.TOP_LEVEL_VARIABLE_DECLARATION,
+ ['topLevelVariable']);
+ check(HighlightRegionType.TYPE_NAME_DYNAMIC, ['dynamic']);
+ check(HighlightRegionType.TYPE_PARAMETER, ['TypeParameter']);
+ expect(highlights, isEmpty);
+ });
+ }
+}
diff --git a/pkg/analysis_server/test/integration/analysis/navigation_test.dart b/pkg/analysis_server/test/integration/analysis/navigation_test.dart
index 310e882..c633811 100644
--- a/pkg/analysis_server/test/integration/analysis/navigation_test.dart
+++ b/pkg/analysis_server/test/integration/analysis/navigation_test.dart
@@ -100,7 +100,7 @@
// as a navigation target?
checkLocal('Class<int>', 'Class<TypeParameter>', ElementKind.CLASS);
checkRemote(
- "part 'test2.dart';", r'test2.dart$', ElementKind.COMPILATION_UNIT);
+ "'test2.dart';", r'test2.dart$', ElementKind.COMPILATION_UNIT);
checkLocal('Class<int>.constructor',
'constructor(); /* constructor declaration */',
ElementKind.CONSTRUCTOR);
@@ -113,7 +113,7 @@
checkLocal('FunctionTypeAlias parameter', 'FunctionTypeAlias();',
ElementKind.FUNCTION_TYPE_ALIAS);
checkLocal('field)', 'field;', ElementKind.GETTER);
- checkRemote("import 'dart:async'", r'async\.dart$', ElementKind.LIBRARY);
+ checkRemote("'dart:async'", r'async\.dart$', ElementKind.LIBRARY);
checkLocal(
'localVariable.field', 'localVariable =', ElementKind.LOCAL_VARIABLE);
checkLocal('method();', 'method() {', ElementKind.METHOD);
diff --git a/pkg/analysis_server/test/integration/analysis/test_all.dart b/pkg/analysis_server/test/integration/analysis/test_all.dart
index b34e141..8b820e0 100644
--- a/pkg/analysis_server/test/integration/analysis/test_all.dart
+++ b/pkg/analysis_server/test/integration/analysis/test_all.dart
@@ -12,6 +12,7 @@
as get_errors_before_analysis_test;
import 'get_hover_test.dart' as get_hover_test;
import 'highlights_test.dart' as highlights_test;
+import 'highlights_test2.dart' as highlights_test2;
import 'navigation_test.dart' as navigation_test;
import 'occurrences_test.dart' as occurrences_test;
import 'outline_test.dart' as outline_test;
@@ -33,6 +34,7 @@
get_errors_before_analysis_test.main();
get_hover_test.main();
highlights_test.main();
+ highlights_test2.main();
navigation_test.main();
occurrences_test.main();
outline_test.main();
diff --git a/pkg/analysis_server/test/integration/integration_test_methods.dart b/pkg/analysis_server/test/integration/integration_test_methods.dart
index 5794acb..4da1b0c 100644
--- a/pkg/analysis_server/test/integration/integration_test_methods.dart
+++ b/pkg/analysis_server/test/integration/integration_test_methods.dart
@@ -240,6 +240,9 @@
* Return library dependency information for use in client-side indexing and
* package URI resolution.
*
+ * Clients that are only using the libraries field should consider using the
+ * analyzedFiles notification instead.
+ *
* Returns
*
* libraries ( List<FilePath> )
@@ -413,6 +416,30 @@
}
/**
+ * Subscribe for general services (that is, services that are not specific to
+ * individual files). All previous subscriptions are replaced by the given
+ * set of services.
+ *
+ * It is an error if any of the elements in the list are not valid services.
+ * If there is an error, then the current subscriptions will remain
+ * unchanged.
+ *
+ * Parameters
+ *
+ * subscriptions ( List<GeneralAnalysisService> )
+ *
+ * A list of the services being subscribed to.
+ */
+ Future sendAnalysisSetGeneralSubscriptions(List<GeneralAnalysisService> subscriptions) {
+ var params = new AnalysisSetGeneralSubscriptionsParams(subscriptions).toJson();
+ return server.send("analysis.setGeneralSubscriptions", params)
+ .then((result) {
+ expect(result, isNull);
+ return null;
+ });
+ }
+
+ /**
* Set the priority files to the files in the given list. A priority file is
* a file that is given priority when scheduling which analysis work to do
* first. The list typically contains those files that are visible to the
@@ -447,11 +474,11 @@
}
/**
- * Subscribe for services. All previous subscriptions are replaced by the
- * current set of subscriptions. If a given service is not included as a key
- * in the map then no files will be subscribed to the service, exactly as if
- * the service had been included in the map with an explicit empty list of
- * files.
+ * Subscribe for services that are specific to individual files. All previous
+ * subscriptions are replaced by the current set of subscriptions. If a given
+ * service is not included as a key in the map then no files will be
+ * subscribed to the service, exactly as if the service had been included in
+ * the map with an explicit empty list of files.
*
* Note that this request determines the set of requested subscriptions. The
* actual set of subscriptions at any given time is the intersection of this
@@ -536,6 +563,26 @@
}
/**
+ * Reports the paths of the files that are being analyzed.
+ *
+ * This notification is not subscribed to by default. Clients can subscribe
+ * by including the value "ANALYZED_FILES" in the list of services passed in
+ * an analysis.setGeneralSubscriptions request.
+ *
+ * Parameters
+ *
+ * directories ( List<FilePath> )
+ *
+ * A list of the paths of the files that are being analyzed.
+ */
+ Stream<AnalysisAnalyzedFilesParams> onAnalysisAnalyzedFiles;
+
+ /**
+ * Stream controller for [onAnalysisAnalyzedFiles].
+ */
+ StreamController<AnalysisAnalyzedFilesParams> _onAnalysisAnalyzedFiles;
+
+ /**
* Reports the errors associated with a given file. The set of errors
* included in the notification is always a complete list that supersedes any
* previously reported errors.
@@ -1512,6 +1559,8 @@
onServerError = _onServerError.stream.asBroadcastStream();
_onServerStatus = new StreamController<ServerStatusParams>(sync: true);
onServerStatus = _onServerStatus.stream.asBroadcastStream();
+ _onAnalysisAnalyzedFiles = new StreamController<AnalysisAnalyzedFilesParams>(sync: true);
+ onAnalysisAnalyzedFiles = _onAnalysisAnalyzedFiles.stream.asBroadcastStream();
_onAnalysisErrors = new StreamController<AnalysisErrorsParams>(sync: true);
onAnalysisErrors = _onAnalysisErrors.stream.asBroadcastStream();
_onAnalysisFlushResults = new StreamController<AnalysisFlushResultsParams>(sync: true);
@@ -1557,6 +1606,10 @@
expect(params, isServerStatusParams);
_onServerStatus.add(new ServerStatusParams.fromJson(decoder, 'params', params));
break;
+ case "analysis.analyzedFiles":
+ expect(params, isAnalysisAnalyzedFilesParams);
+ _onAnalysisAnalyzedFiles.add(new AnalysisAnalyzedFilesParams.fromJson(decoder, 'params', params));
+ break;
case "analysis.errors":
expect(params, isAnalysisErrorsParams);
_onAnalysisErrors.add(new AnalysisErrorsParams.fromJson(decoder, 'params', params));
diff --git a/pkg/analysis_server/test/integration/integration_tests.dart b/pkg/analysis_server/test/integration/integration_tests.dart
index faec89f..f46b338 100644
--- a/pkg/analysis_server/test/integration/integration_tests.dart
+++ b/pkg/analysis_server/test/integration/integration_tests.dart
@@ -21,9 +21,9 @@
const Matcher isInt = const isInstanceOf<int>('int');
-const Matcher isNotification = const MatchesJsonObject('notification', const {
- 'event': isString
-}, optionalFields: const {'params': isMap});
+const Matcher isNotification = const MatchesJsonObject(
+ 'notification', const {'event': isString},
+ optionalFields: const {'params': isMap});
const Matcher isObject = isMap;
@@ -154,7 +154,7 @@
// A server error should never happen during an integration test.
fail('${params.message}\n${params.stackTrace}');
});
- return server.start().then((_) {
+ return startServer().then((_) {
server.listenToOutput(dispatchNotification);
server.exitCode.then((_) {
skipShutdown = true;
@@ -188,6 +188,11 @@
}
/**
+ * Start [server].
+ */
+ Future startServer() => server.start();
+
+ /**
* After every test, the server is stopped and [sourceDirectory] is deleted.
*/
Future tearDown() {
@@ -584,7 +589,8 @@
* `true`, the server will be started with "--observe" and
* "--pause-isolates-on-exit", allowing the observatory to be used.
*/
- Future start({bool debugServer: false, int diagnosticPort, bool profileServer: false}) {
+ Future start({bool debugServer: false, int diagnosticPort,
+ bool profileServer: false, bool useAnalysisHighlight2: false}) {
if (_process != null) {
throw new Exception('Process already started');
}
@@ -610,6 +616,9 @@
arguments.add('--port');
arguments.add(diagnosticPort.toString());
}
+ if (useAnalysisHighlight2) {
+ arguments.add('--useAnalysisHighlight2');
+ }
return Process.start(dartBinary, arguments).then((Process process) {
_process = process;
process.exitCode.then((int code) {
diff --git a/pkg/analysis_server/test/integration/protocol_matchers.dart b/pkg/analysis_server/test/integration/protocol_matchers.dart
index fbb40a8..0a5ae19 100644
--- a/pkg/analysis_server/test/integration/protocol_matchers.dart
+++ b/pkg/analysis_server/test/integration/protocol_matchers.dart
@@ -243,6 +243,23 @@
final Matcher isAnalysisSetAnalysisRootsResult = isNull;
/**
+ * analysis.setGeneralSubscriptions params
+ *
+ * {
+ * "subscriptions": List<GeneralAnalysisService>
+ * }
+ */
+final Matcher isAnalysisSetGeneralSubscriptionsParams = new LazyMatcher(() => new MatchesJsonObject(
+ "analysis.setGeneralSubscriptions params", {
+ "subscriptions": isListOf(isGeneralAnalysisService)
+ }));
+
+/**
+ * analysis.setGeneralSubscriptions result
+ */
+final Matcher isAnalysisSetGeneralSubscriptionsResult = isNull;
+
+/**
* analysis.setPriorityFiles params
*
* {
@@ -315,6 +332,18 @@
final Matcher isAnalysisUpdateOptionsResult = isNull;
/**
+ * analysis.analyzedFiles params
+ *
+ * {
+ * "directories": List<FilePath>
+ * }
+ */
+final Matcher isAnalysisAnalyzedFilesParams = new LazyMatcher(() => new MatchesJsonObject(
+ "analysis.analyzedFiles params", {
+ "directories": isListOf(isFilePath)
+ }));
+
+/**
* analysis.errors params
*
* {
@@ -1345,6 +1374,17 @@
}));
/**
+ * GeneralAnalysisService
+ *
+ * enum {
+ * ANALYZED_FILES
+ * }
+ */
+final Matcher isGeneralAnalysisService = new MatchesEnum("GeneralAnalysisService", [
+ "ANALYZED_FILES"
+]);
+
+/**
* HighlightRegion
*
* {
@@ -1373,6 +1413,10 @@
* CONSTRUCTOR
* DIRECTIVE
* DYNAMIC_TYPE
+ * DYNAMIC_LOCAL_VARIABLE_DECLARATION
+ * DYNAMIC_LOCAL_VARIABLE_REFERENCE
+ * DYNAMIC_PARAMETER_DECLARATION
+ * DYNAMIC_PARAMETER_REFERENCE
* ENUM
* ENUM_CONSTANT
* FIELD
@@ -1383,16 +1427,29 @@
* GETTER_DECLARATION
* IDENTIFIER_DEFAULT
* IMPORT_PREFIX
+ * INSTANCE_FIELD_DECLARATION
+ * INSTANCE_FIELD_REFERENCE
+ * INSTANCE_GETTER_DECLARATION
+ * INSTANCE_GETTER_REFERENCE
+ * INSTANCE_METHOD_DECLARATION
+ * INSTANCE_METHOD_REFERENCE
+ * INSTANCE_SETTER_DECLARATION
+ * INSTANCE_SETTER_REFERENCE
+ * INVALID_STRING_ESCAPE
* KEYWORD
* LABEL
+ * LIBRARY_NAME
* LITERAL_BOOLEAN
* LITERAL_DOUBLE
* LITERAL_INTEGER
* LITERAL_LIST
* LITERAL_MAP
* LITERAL_STRING
+ * LOCAL_FUNCTION_DECLARATION
+ * LOCAL_FUNCTION_REFERENCE
* LOCAL_VARIABLE
* LOCAL_VARIABLE_DECLARATION
+ * LOCAL_VARIABLE_REFERENCE
* METHOD
* METHOD_DECLARATION
* METHOD_DECLARATION_STATIC
@@ -1400,8 +1457,26 @@
* PARAMETER
* SETTER_DECLARATION
* TOP_LEVEL_VARIABLE
+ * PARAMETER_DECLARATION
+ * PARAMETER_REFERENCE
+ * STATIC_FIELD_DECLARATION
+ * STATIC_GETTER_DECLARATION
+ * STATIC_GETTER_REFERENCE
+ * STATIC_METHOD_DECLARATION
+ * STATIC_METHOD_REFERENCE
+ * STATIC_SETTER_DECLARATION
+ * STATIC_SETTER_REFERENCE
+ * TOP_LEVEL_FUNCTION_DECLARATION
+ * TOP_LEVEL_FUNCTION_REFERENCE
+ * TOP_LEVEL_GETTER_DECLARATION
+ * TOP_LEVEL_GETTER_REFERENCE
+ * TOP_LEVEL_SETTER_DECLARATION
+ * TOP_LEVEL_SETTER_REFERENCE
+ * TOP_LEVEL_VARIABLE_DECLARATION
* TYPE_NAME_DYNAMIC
* TYPE_PARAMETER
+ * UNRESOLVED_INSTANCE_MEMBER_REFERENCE
+ * VALID_STRING_ESCAPE
* }
*/
final Matcher isHighlightRegionType = new MatchesEnum("HighlightRegionType", [
@@ -1414,6 +1489,10 @@
"CONSTRUCTOR",
"DIRECTIVE",
"DYNAMIC_TYPE",
+ "DYNAMIC_LOCAL_VARIABLE_DECLARATION",
+ "DYNAMIC_LOCAL_VARIABLE_REFERENCE",
+ "DYNAMIC_PARAMETER_DECLARATION",
+ "DYNAMIC_PARAMETER_REFERENCE",
"ENUM",
"ENUM_CONSTANT",
"FIELD",
@@ -1424,16 +1503,29 @@
"GETTER_DECLARATION",
"IDENTIFIER_DEFAULT",
"IMPORT_PREFIX",
+ "INSTANCE_FIELD_DECLARATION",
+ "INSTANCE_FIELD_REFERENCE",
+ "INSTANCE_GETTER_DECLARATION",
+ "INSTANCE_GETTER_REFERENCE",
+ "INSTANCE_METHOD_DECLARATION",
+ "INSTANCE_METHOD_REFERENCE",
+ "INSTANCE_SETTER_DECLARATION",
+ "INSTANCE_SETTER_REFERENCE",
+ "INVALID_STRING_ESCAPE",
"KEYWORD",
"LABEL",
+ "LIBRARY_NAME",
"LITERAL_BOOLEAN",
"LITERAL_DOUBLE",
"LITERAL_INTEGER",
"LITERAL_LIST",
"LITERAL_MAP",
"LITERAL_STRING",
+ "LOCAL_FUNCTION_DECLARATION",
+ "LOCAL_FUNCTION_REFERENCE",
"LOCAL_VARIABLE",
"LOCAL_VARIABLE_DECLARATION",
+ "LOCAL_VARIABLE_REFERENCE",
"METHOD",
"METHOD_DECLARATION",
"METHOD_DECLARATION_STATIC",
@@ -1441,8 +1533,26 @@
"PARAMETER",
"SETTER_DECLARATION",
"TOP_LEVEL_VARIABLE",
+ "PARAMETER_DECLARATION",
+ "PARAMETER_REFERENCE",
+ "STATIC_FIELD_DECLARATION",
+ "STATIC_GETTER_DECLARATION",
+ "STATIC_GETTER_REFERENCE",
+ "STATIC_METHOD_DECLARATION",
+ "STATIC_METHOD_REFERENCE",
+ "STATIC_SETTER_DECLARATION",
+ "STATIC_SETTER_REFERENCE",
+ "TOP_LEVEL_FUNCTION_DECLARATION",
+ "TOP_LEVEL_FUNCTION_REFERENCE",
+ "TOP_LEVEL_GETTER_DECLARATION",
+ "TOP_LEVEL_GETTER_REFERENCE",
+ "TOP_LEVEL_SETTER_DECLARATION",
+ "TOP_LEVEL_SETTER_REFERENCE",
+ "TOP_LEVEL_VARIABLE_DECLARATION",
"TYPE_NAME_DYNAMIC",
- "TYPE_PARAMETER"
+ "TYPE_PARAMETER",
+ "UNRESOLVED_INSTANCE_MEMBER_REFERENCE",
+ "VALID_STRING_ESCAPE"
]);
/**
diff --git a/pkg/analysis_server/test/services/completion/completion_computer_test.dart b/pkg/analysis_server/test/services/completion/completion_computer_test.dart
index 5b23689..e69eaba 100644
--- a/pkg/analysis_server/test/services/completion/completion_computer_test.dart
+++ b/pkg/analysis_server/test/services/completion/completion_computer_test.dart
@@ -7,7 +7,7 @@
import 'dart:async';
import 'package:analysis_server/completion/completion_core.dart'
- show CompletionRequest;
+ show CompletionRequest, CompletionResult;
import 'package:analysis_server/src/analysis_server.dart';
import 'package:analysis_server/src/protocol.dart';
import 'package:analysis_server/src/services/completion/completion_manager.dart';
@@ -93,7 +93,7 @@
case 1:
contributor1.assertCalls(context, source, 0, searchEngine);
contributor2.assertCalls(context, source, 0, searchEngine);
- expect(r.last, isFalse);
+ expect(r.isLast, isFalse);
expect(r.suggestions, hasLength(1));
expect(r.suggestions, contains(suggestion1));
resolveLibrary();
@@ -101,7 +101,7 @@
case 2:
contributor1.assertFull(0);
contributor2.assertFull(1);
- expect(r.last, isTrue);
+ expect(r.isLast, isTrue);
expect(r.suggestions, hasLength(2));
expect(r.suggestions, contains(suggestion1));
expect(r.suggestions, contains(suggestion2));
@@ -132,7 +132,7 @@
case 1:
contributor1.assertCalls(context, source, 0, searchEngine);
contributor2.assertCalls(context, source, 0, searchEngine);
- expect(r.last, isTrue);
+ expect(r.isLast, isTrue);
expect(r.suggestions, hasLength(2));
expect(r.suggestions, contains(suggestion1));
expect(r.suggestions, contains(suggestion2));
diff --git a/pkg/analysis_server/test/socket_server_test.dart b/pkg/analysis_server/test/socket_server_test.dart
index 8e74cef..ba79457 100644
--- a/pkg/analysis_server/test/socket_server_test.dart
+++ b/pkg/analysis_server/test/socket_server_test.dart
@@ -111,7 +111,7 @@
manager.processPlugins([serverPlugin]);
return new SocketServer(new AnalysisServerOptions(),
DirectoryBasedDartSdk.defaultSdk, InstrumentationService.NULL_SERVICE,
- serverPlugin, null);
+ serverPlugin, null, null);
}
}
diff --git a/pkg/analysis_server/test/src/watch_manager_test.dart b/pkg/analysis_server/test/src/watch_manager_test.dart
new file mode 100644
index 0000000..8d1c4e2
--- /dev/null
+++ b/pkg/analysis_server/test/src/watch_manager_test.dart
@@ -0,0 +1,360 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library test.src.watch_manager_test;
+
+import 'dart:async';
+
+import 'package:analysis_server/src/watch_manager.dart';
+import 'package:analyzer/file_system/file_system.dart';
+import 'package:analyzer/file_system/memory_file_system.dart';
+import 'package:test_reflective_loader/test_reflective_loader.dart';
+import 'package:unittest/unittest.dart';
+import 'package:watcher/watcher.dart';
+
+import '../mocks.dart';
+
+main() {
+ groupSep = ' | ';
+ defineReflectiveTests(WatchManagerTest);
+ defineReflectiveTests(WatchNodeTest);
+}
+
+/**
+ * Tokens that can be used for testing purposes.
+ */
+class Token {
+ /**
+ * A name used for debugging.
+ */
+ final String name;
+
+ /**
+ * Initialize a newly created token to have the given name.
+ */
+ Token(this.name);
+
+ @override
+ String toString() => name;
+}
+
+/**
+ * A listener that captures the state of watch events so that they can be
+ * tested.
+ */
+class WatchListener {
+ /**
+ * The event that was passed to the listener method.
+ */
+ WatchEvent event;
+
+ /**
+ * The tokens that were passed to the listener method.
+ */
+ List<Token> tokens;
+
+ /**
+ * Clear the state so that we can distinguish between not receiving an event
+ * and receiving the wrong event.
+ */
+ void clear() {
+ this.event = null;
+ this.tokens = null;
+ }
+
+ /**
+ * The listener method.
+ */
+ void handleWatchEvent(WatchEvent event, List<Token> tokens) {
+ this.event = event;
+ this.tokens = tokens;
+ }
+}
+
+@reflectiveTest
+class WatchManagerTest {
+ MemoryResourceProvider provider;
+ WatchListener listener;
+ WatchManager<Token> manager;
+
+ void setUp() {
+ provider = new MemoryResourceProvider();
+ listener = new WatchListener();
+ manager = new WatchManager<Token>(provider, listener.handleWatchEvent);
+ }
+
+ Future test_addFolder_folderAndSubfolder() async {
+ Folder topFolder = provider.getFolder('/a/b');
+ Folder childFolder = provider.getFolder('/a/b/c/d');
+ Token topToken = new Token('topToken');
+ Token childToken = new Token('childToken');
+ manager.addFolder(topFolder, topToken);
+ manager.addFolder(childFolder, childToken);
+
+ File newFile1 = provider.newFile('/a/b/c/lib.dart', '');
+ await _expectEvent(ChangeType.ADD, newFile1.path, [topToken]);
+
+ File newFile2 = provider.newFile('/a/b/c/d/lib.dart', '');
+ _expectEvent(ChangeType.ADD, newFile2.path, [topToken, childToken]);
+ }
+
+ Future test_addFolder_singleFolder_multipleTokens() {
+ Folder folder = provider.getFolder('/a/b');
+ Token token1 = new Token('token1');
+ Token token2 = new Token('token2');
+ manager.addFolder(folder, token1);
+ manager.addFolder(folder, token2);
+
+ File newFile = provider.newFile('/a/b/lib.dart', '');
+ return _expectEvent(ChangeType.ADD, newFile.path, [token1, token2]);
+ }
+
+ Future test_addFolder_singleFolder_singleToken() async {
+ Folder folder = provider.getFolder('/a/b');
+ Token token = new Token('token');
+ manager.addFolder(folder, token);
+
+ Folder newFolder = provider.newFolder('/a/b/c');
+ await _expectEvent(ChangeType.ADD, newFolder.path, [token]);
+
+ File newFile = provider.newFile('/a/b/c/lib.dart', '');
+ _expectEvent(ChangeType.ADD, newFile.path, [token]);
+ }
+
+ Future test_addFolder_unrelatedFolders() async {
+ Folder folder1 = provider.getFolder('/a/b');
+ Folder folder2 = provider.getFolder('/c/d');
+ Token token1 = new Token('token1');
+ Token token2 = new Token('token2');
+ manager.addFolder(folder1, token1);
+ manager.addFolder(folder2, token2);
+
+ File newFile1 = provider.newFile('/a/b/lib.dart', '');
+ await _expectEvent(ChangeType.ADD, newFile1.path, [token1]);
+
+ File newFile2 = provider.newFile('/c/d/lib.dart', '');
+ _expectEvent(ChangeType.ADD, newFile2.path, [token2]);
+ }
+
+ void test_creation() {
+ expect(manager, isNotNull);
+ }
+
+ Future test_removeFolder_multipleTokens() {
+ Folder folder = provider.getFolder('/a/b');
+ Token token1 = new Token('token1');
+ Token token2 = new Token('token2');
+ manager.addFolder(folder, token1);
+ manager.addFolder(folder, token2);
+ manager.removeFolder(folder, token2);
+
+ File newFile = provider.newFile('/a/b/lib.dart', '');
+ return _expectEvent(ChangeType.ADD, newFile.path, [token1]);
+ }
+
+ Future test_removeFolder_unadded() {
+ Folder folder = provider.getFolder('/a/b');
+ Token token = new Token('token');
+ expect(() => manager.removeFolder(folder, token), throws);
+
+ provider.newFile('/a/b/lib.dart', '');
+ return _expectNoEvent();
+ }
+
+ Future test_removeFolder_withChildren() async {
+ Folder topFolder = provider.getFolder('/a/b');
+ Folder childFolder = provider.getFolder('/a/b/c/d');
+ Token topToken = new Token('topToken');
+ Token childToken = new Token('childToken');
+ manager.addFolder(topFolder, topToken);
+ manager.addFolder(childFolder, childToken);
+ manager.removeFolder(topFolder, topToken);
+
+ File newFile = provider.newFile('/a/b/c/d/lib.dart', '');
+ await _expectEvent(ChangeType.ADD, newFile.path, [childToken]);
+
+ provider.newFile('/a/b/lib.dart', '');
+ _expectNoEvent();
+ }
+
+ Future test_removeFolder_withNoChildren() {
+ Folder folder = provider.getFolder('/a/b');
+ Token token = new Token('token');
+ manager.addFolder(folder, token);
+ manager.removeFolder(folder, token);
+
+ provider.newFile('/a/b/lib.dart', '');
+ return _expectNoEvent();
+ }
+
+ Future _expectEvent(ChangeType expectedType, String expectedPath,
+ List<Token> expectedTokens) async {
+ await pumpEventQueue();
+ WatchEvent event = listener.event;
+ expect(event, isNotNull);
+ expect(event.type, expectedType);
+ expect(event.path, expectedPath);
+ expect(listener.tokens, unorderedEquals(expectedTokens));
+ listener.clear();
+ }
+
+ Future _expectNoEvent() async {
+ await pumpEventQueue();
+ expect(listener.event, isNull);
+ expect(listener.tokens, isNull);
+ }
+}
+
+@reflectiveTest
+class WatchNodeTest {
+ MemoryResourceProvider provider = new MemoryResourceProvider();
+
+ void test_creation_folder() {
+ Folder folder = provider.getFolder('/a/b');
+ WatchNode node = new WatchNode(folder);
+ expect(node, isNotNull);
+ expect(node.children, isEmpty);
+ expect(node.folder, folder);
+ expect(node.parent, isNull);
+ expect(node.subscription, isNull);
+ expect(node.tokens, isEmpty);
+ }
+
+ void test_creation_noFolder() {
+ WatchNode node = new WatchNode(null);
+ expect(node, isNotNull);
+ expect(node.children, isEmpty);
+ expect(node.folder, isNull);
+ expect(node.parent, isNull);
+ expect(node.subscription, isNull);
+ expect(node.tokens, isEmpty);
+ }
+
+ void test_delete_nested_child() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ WatchNode childNode = new WatchNode(provider.getFolder('/a/b/c/d'));
+ WatchNode grandchildNode = new WatchNode(provider.getFolder('/a/b/c/d/e'));
+ rootNode.insert(topNode);
+ rootNode.insert(childNode);
+ rootNode.insert(grandchildNode);
+
+ childNode.delete();
+ expect(rootNode.children, equals([topNode]));
+ expect(topNode.children, equals([grandchildNode]));
+ expect(topNode.parent, rootNode);
+ expect(grandchildNode.parent, topNode);
+ }
+
+ void test_delete_nested_noChild() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ WatchNode childNode = new WatchNode(provider.getFolder('/a/b/c/d'));
+ rootNode.insert(topNode);
+ rootNode.insert(childNode);
+
+ childNode.delete();
+ expect(rootNode.children, equals([topNode]));
+ expect(topNode.children, isEmpty);
+ expect(topNode.parent, rootNode);
+ }
+
+ void test_delete_top_child() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ WatchNode childNode = new WatchNode(provider.getFolder('/a/b/c/d'));
+ rootNode.insert(topNode);
+ rootNode.insert(childNode);
+
+ topNode.delete();
+ expect(rootNode.children, equals([childNode]));
+ expect(childNode.parent, rootNode);
+ }
+
+ void test_delete_top_noChild() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ rootNode.insert(topNode);
+
+ topNode.delete();
+ expect(rootNode.children, isEmpty);
+ }
+
+ void test_findParent_childOfLeaf() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ rootNode.insert(topNode);
+
+ expect(rootNode.findParent('/a/b/c'), topNode);
+ }
+
+ void test_findParent_childOfNonLeaf() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ WatchNode childNode = new WatchNode(provider.getFolder('/a/b/c/d'));
+ rootNode.insert(topNode);
+ rootNode.insert(childNode);
+
+ expect(rootNode.findParent('/a/b/c'), topNode);
+ }
+
+ void test_findParent_noMatch() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ rootNode.insert(topNode);
+
+ expect(rootNode.findParent('/c/d'), rootNode);
+ }
+
+ void test_insert_intermediate_afterParentAndChild() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ WatchNode childNode = new WatchNode(provider.getFolder('/a/b/c/d'));
+ WatchNode intermediateNode = new WatchNode(provider.getFolder('/a/b/c'));
+
+ rootNode.insert(topNode);
+ rootNode.insert(childNode);
+ rootNode.insert(intermediateNode);
+ expect(topNode.parent, rootNode);
+ expect(topNode.children, equals([intermediateNode]));
+ expect(intermediateNode.parent, topNode);
+ expect(intermediateNode.children, equals([childNode]));
+ expect(childNode.parent, intermediateNode);
+ expect(childNode.children, isEmpty);
+ }
+
+ void test_insert_nested_afterParent() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ WatchNode childNode = new WatchNode(provider.getFolder('/a/b/c/d'));
+
+ rootNode.insert(topNode);
+ rootNode.insert(childNode);
+ expect(childNode.parent, topNode);
+ expect(childNode.children, isEmpty);
+ expect(topNode.children, equals([childNode]));
+ }
+
+ void test_insert_nested_beforeParent() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+ WatchNode childNode = new WatchNode(provider.getFolder('/a/b/c/d'));
+
+ rootNode.insert(childNode);
+ rootNode.insert(topNode);
+ expect(childNode.parent, topNode);
+ expect(childNode.children, isEmpty);
+ expect(topNode.children, equals([childNode]));
+ }
+
+ void test_insert_top() {
+ WatchNode rootNode = new WatchNode(null);
+ WatchNode topNode = new WatchNode(provider.getFolder('/a/b'));
+
+ rootNode.insert(topNode);
+ expect(rootNode.children, equals([topNode]));
+ expect(topNode.parent, rootNode);
+ expect(topNode.children, isEmpty);
+ }
+}
diff --git a/pkg/analysis_server/tool/spec/codegen_dart_protocol.dart b/pkg/analysis_server/tool/spec/codegen_dart_protocol.dart
index 88df36b..755ed52 100644
--- a/pkg/analysis_server/tool/spec/codegen_dart_protocol.dart
+++ b/pkg/analysis_server/tool/spec/codegen_dart_protocol.dart
@@ -349,7 +349,7 @@
String humanReadableNameString =
literalString(impliedType.humanReadableName);
writeln(
- 'throw jsonDecoder.mismatch(jsonPath, $humanReadableNameString);');
+ 'throw jsonDecoder.mismatch(jsonPath, $humanReadableNameString, json);');
});
writeln('}');
}
@@ -590,7 +590,7 @@
writeln('if ($fieldAccessor != $valueString) {');
indent(() {
writeln(
- 'throw jsonDecoder.mismatch(jsonPath, "equal " + $valueString);');
+ 'throw jsonDecoder.mismatch(jsonPath, "equal " + $valueString, json);');
});
writeln('}');
continue;
@@ -627,7 +627,7 @@
writeln('} else {');
indent(() {
writeln(
- 'throw jsonDecoder.mismatch(jsonPath, $humanReadableNameString);');
+ 'throw jsonDecoder.mismatch(jsonPath, $humanReadableNameString, json);');
});
writeln('}');
});
diff --git a/pkg/analysis_server/tool/spec/generated/java/AnalysisServer.java b/pkg/analysis_server/tool/spec/generated/java/AnalysisServer.java
index c6debb7..c398e4d 100644
--- a/pkg/analysis_server/tool/spec/generated/java/AnalysisServer.java
+++ b/pkg/analysis_server/tool/spec/generated/java/AnalysisServer.java
@@ -86,6 +86,9 @@
*
* Return library dependency information for use in client-side indexing and package URI
* resolution.
+ *
+ * Clients that are only using the libraries field should consider using the analyzedFiles
+ * notification instead.
*/
public void analysis_getLibraryDependencies(GetLibraryDependenciesConsumer consumer);
@@ -170,6 +173,19 @@
public void analysis_setAnalysisRoots(List<String> included, List<String> excluded, Map<String, String> packageRoots);
/**
+ * {@code analysis.setGeneralSubscriptions}
+ *
+ * Subscribe for general services (that is, services that are not specific to individual files).
+ * All previous subscriptions are replaced by the given set of services.
+ *
+ * It is an error if any of the elements in the list are not valid services. If there is an error,
+ * then the current subscriptions will remain unchanged.
+ *
+ * @param subscriptions A list of the services being subscribed to.
+ */
+ public void analysis_setGeneralSubscriptions(List<String> subscriptions);
+
+ /**
* {@code analysis.setPriorityFiles}
*
* Set the priority files to the files in the given list. A priority file is a file that is given
@@ -195,10 +211,10 @@
/**
* {@code analysis.setSubscriptions}
*
- * Subscribe for services. All previous subscriptions are replaced by the current set of
- * subscriptions. If a given service is not included as a key in the map then no files will be
- * subscribed to the service, exactly as if the service had been included in the map with an
- * explicit empty list of files.
+ * Subscribe for services that are specific to individual files. All previous subscriptions are
+ * replaced by the current set of subscriptions. If a given service is not included as a key in the
+ * map then no files will be subscribed to the service, exactly as if the service had been included
+ * in the map with an explicit empty list of files.
*
* Note that this request determines the set of requested subscriptions. The actual set of
* subscriptions at any given time is the intersection of this set with the set of files currently
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/AnalysisService.java b/pkg/analysis_server/tool/spec/generated/java/types/AnalysisService.java
index 94c5418..ca3b8e9 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/AnalysisService.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/AnalysisService.java
@@ -17,7 +17,8 @@
package org.dartlang.analysis.server.protocol;
/**
- * An enumeration of the services provided by the analysis domain.
+ * An enumeration of the services provided by the analysis domain that are related to a specific
+ * list of files.
*
* @coverage dart.server.generated.types
*/
@@ -27,6 +28,10 @@
public static final String HIGHLIGHTS = "HIGHLIGHTS";
+ /**
+ * This service is not currently implemented and will become a GeneralAnalysisService in a future
+ * release.
+ */
public static final String INVALIDATE = "INVALIDATE";
public static final String NAVIGATION = "NAVIGATION";
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/GeneralAnalysisService.java b/pkg/analysis_server/tool/spec/generated/java/types/GeneralAnalysisService.java
new file mode 100644
index 0000000..a1f0071
--- /dev/null
+++ b/pkg/analysis_server/tool/spec/generated/java/types/GeneralAnalysisService.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2014, the Dart project authors.
+ *
+ * Licensed under the Eclipse Public License v1.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ *
+ * This file has been automatically generated. Please do not edit it manually.
+ * To regenerate the file, use the script "pkg/analysis_server/tool/spec/generate_files".
+ */
+package org.dartlang.analysis.server.protocol;
+
+/**
+ * An enumeration of the services provided by the analysis domain that are general in nature (that
+ * is, are not specific to some list of files).
+ *
+ * @coverage dart.server.generated.types
+ */
+public class GeneralAnalysisService {
+
+ public static final String ANALYZED_FILES = "ANALYZED_FILES";
+
+}
diff --git a/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java b/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
index 4927e4b..9eace11 100644
--- a/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
+++ b/pkg/analysis_server/tool/spec/generated/java/types/HighlightRegionType.java
@@ -39,32 +39,120 @@
public static final String DIRECTIVE = "DIRECTIVE";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String DYNAMIC_TYPE = "DYNAMIC_TYPE";
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String DYNAMIC_LOCAL_VARIABLE_DECLARATION = "DYNAMIC_LOCAL_VARIABLE_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String DYNAMIC_LOCAL_VARIABLE_REFERENCE = "DYNAMIC_LOCAL_VARIABLE_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String DYNAMIC_PARAMETER_DECLARATION = "DYNAMIC_PARAMETER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String DYNAMIC_PARAMETER_REFERENCE = "DYNAMIC_PARAMETER_REFERENCE";
+
public static final String ENUM = "ENUM";
public static final String ENUM_CONSTANT = "ENUM_CONSTANT";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String FIELD = "FIELD";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String FIELD_STATIC = "FIELD_STATIC";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String FUNCTION = "FUNCTION";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String FUNCTION_DECLARATION = "FUNCTION_DECLARATION";
public static final String FUNCTION_TYPE_ALIAS = "FUNCTION_TYPE_ALIAS";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String GETTER_DECLARATION = "GETTER_DECLARATION";
public static final String IDENTIFIER_DEFAULT = "IDENTIFIER_DEFAULT";
public static final String IMPORT_PREFIX = "IMPORT_PREFIX";
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_FIELD_DECLARATION = "INSTANCE_FIELD_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_FIELD_REFERENCE = "INSTANCE_FIELD_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_GETTER_DECLARATION = "INSTANCE_GETTER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_GETTER_REFERENCE = "INSTANCE_GETTER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_METHOD_DECLARATION = "INSTANCE_METHOD_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_METHOD_REFERENCE = "INSTANCE_METHOD_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_SETTER_DECLARATION = "INSTANCE_SETTER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INSTANCE_SETTER_REFERENCE = "INSTANCE_SETTER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String INVALID_STRING_ESCAPE = "INVALID_STRING_ESCAPE";
+
public static final String KEYWORD = "KEYWORD";
public static final String LABEL = "LABEL";
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String LIBRARY_NAME = "LIBRARY_NAME";
+
public static final String LITERAL_BOOLEAN = "LITERAL_BOOLEAN";
public static final String LITERAL_DOUBLE = "LITERAL_DOUBLE";
@@ -77,26 +165,155 @@
public static final String LITERAL_STRING = "LITERAL_STRING";
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String LOCAL_FUNCTION_DECLARATION = "LOCAL_FUNCTION_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String LOCAL_FUNCTION_REFERENCE = "LOCAL_FUNCTION_REFERENCE";
+
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String LOCAL_VARIABLE = "LOCAL_VARIABLE";
public static final String LOCAL_VARIABLE_DECLARATION = "LOCAL_VARIABLE_DECLARATION";
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String LOCAL_VARIABLE_REFERENCE = "LOCAL_VARIABLE_REFERENCE";
+
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String METHOD = "METHOD";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String METHOD_DECLARATION = "METHOD_DECLARATION";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String METHOD_DECLARATION_STATIC = "METHOD_DECLARATION_STATIC";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String METHOD_STATIC = "METHOD_STATIC";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String PARAMETER = "PARAMETER";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String SETTER_DECLARATION = "SETTER_DECLARATION";
+ /**
+ * Only for version 1 of highlight.
+ */
public static final String TOP_LEVEL_VARIABLE = "TOP_LEVEL_VARIABLE";
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String PARAMETER_DECLARATION = "PARAMETER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String PARAMETER_REFERENCE = "PARAMETER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String STATIC_FIELD_DECLARATION = "STATIC_FIELD_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String STATIC_GETTER_DECLARATION = "STATIC_GETTER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String STATIC_GETTER_REFERENCE = "STATIC_GETTER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String STATIC_METHOD_DECLARATION = "STATIC_METHOD_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String STATIC_METHOD_REFERENCE = "STATIC_METHOD_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String STATIC_SETTER_DECLARATION = "STATIC_SETTER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String STATIC_SETTER_REFERENCE = "STATIC_SETTER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String TOP_LEVEL_FUNCTION_DECLARATION = "TOP_LEVEL_FUNCTION_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String TOP_LEVEL_FUNCTION_REFERENCE = "TOP_LEVEL_FUNCTION_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String TOP_LEVEL_GETTER_DECLARATION = "TOP_LEVEL_GETTER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String TOP_LEVEL_GETTER_REFERENCE = "TOP_LEVEL_GETTER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String TOP_LEVEL_SETTER_DECLARATION = "TOP_LEVEL_SETTER_DECLARATION";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String TOP_LEVEL_SETTER_REFERENCE = "TOP_LEVEL_SETTER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String TOP_LEVEL_VARIABLE_DECLARATION = "TOP_LEVEL_VARIABLE_DECLARATION";
+
public static final String TYPE_NAME_DYNAMIC = "TYPE_NAME_DYNAMIC";
public static final String TYPE_PARAMETER = "TYPE_PARAMETER";
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String UNRESOLVED_INSTANCE_MEMBER_REFERENCE = "UNRESOLVED_INSTANCE_MEMBER_REFERENCE";
+
+ /**
+ * Only for version 2 of highlight.
+ */
+ public static final String VALID_STRING_ESCAPE = "VALID_STRING_ESCAPE";
+
}
diff --git a/pkg/analysis_server/tool/spec/spec_input.html b/pkg/analysis_server/tool/spec/spec_input.html
index b88c8ac..1d61cb1 100644
--- a/pkg/analysis_server/tool/spec/spec_input.html
+++ b/pkg/analysis_server/tool/spec/spec_input.html
@@ -5,7 +5,7 @@
</head>
<body>
<h1>Analysis Server API Specification</h1>
- <h1 style="color:#999999">Version <version>1.7.0</version></h1>
+ <h1 style="color:#999999">Version <version>1.9.0</version></h1>
<p>
This document contains a specification of the API provided by the
analysis server. The API in this document is currently under
@@ -396,6 +396,10 @@
Return library dependency information for use in client-side indexing
and package URI resolution.
</p>
+ <p>
+ Clients that are only using the libraries field should consider using the
+ analyzedFiles notification instead.
+ </p>
<result>
<field name="libraries">
<list><ref>FilePath</ref></list>
@@ -591,6 +595,24 @@
</field>
</params>
</request>
+ <request method="setGeneralSubscriptions">
+ <p>
+ Subscribe for general services (that is, services that are not
+ specific to individual files). All previous subscriptions are replaced
+ by the given set of services.
+ </p>
+ <p>
+ It is an error if any of the elements in the list are not valid
+ services. If there is an error, then the current subscriptions will
+ remain unchanged.
+ </p>
+ <params>
+ <field name="subscriptions">
+ <list><ref>GeneralAnalysisService</ref></list>
+ <p>A list of the services being subscribed to.</p>
+ </field>
+ </params>
+ </request>
<request method="setPriorityFiles">
<p>
Set the priority files to the files in the given list. A
@@ -628,11 +650,11 @@
</request>
<request method="setSubscriptions">
<p>
- Subscribe for services. All previous subscriptions are
- replaced by the current set of subscriptions. If a given
- service is not included as a key in the map then no files
- will be subscribed to the service, exactly as if the service
- had been included in the map with an explicit empty list of
+ Subscribe for services that are specific to individual files.
+ All previous subscriptions are replaced by the current set of
+ subscriptions. If a given service is not included as a key in the map
+ then no files will be subscribed to the service, exactly as if the
+ service had been included in the map with an explicit empty list of
files.
</p>
<p>
@@ -724,6 +746,24 @@
</field>
</params>
</request>
+ <notification event="analyzedFiles">
+ <p>
+ Reports the paths of the files that are being analyzed.
+ </p>
+ <p>
+ This notification is not subscribed to by default. Clients can
+ subscribe by including the value <tt>"ANALYZED_FILES"</tt> in the list
+ of services passed in an analysis.setGeneralSubscriptions request.
+ </p>
+ <params>
+ <field name="directories">
+ <list><ref>FilePath</ref></list>
+ <p>
+ A list of the paths of the files that are being analyzed.
+ </p>
+ </field>
+ </params>
+ </notification>
<notification event="errors">
<p>
Reports the errors associated with a given file. The set of
@@ -2002,13 +2042,19 @@
</type>
<type name="AnalysisService">
<p>
- An enumeration of the services provided by the analysis
- domain.
+ An enumeration of the services provided by the analysis domain that
+ are related to a specific list of files.
</p>
<enum>
<value><code>FOLDING</code></value>
<value><code>HIGHLIGHTS</code></value>
- <value><code>INVALIDATE</code></value>
+ <value>
+ <code>INVALIDATE</code>
+ <p>
+ This service is not currently implemented and will become a
+ GeneralAnalysisService in a future release.
+ </p>
+ </value>
<value><code>NAVIGATION</code></value>
<value><code>OCCURRENCES</code></value>
<value><code>OUTLINE</code></value>
@@ -2461,6 +2507,15 @@
</field>
</object>
</type>
+ <type name="GeneralAnalysisService">
+ <p>
+ An enumeration of the services provided by the analysis domain that are
+ general in nature (that is, are not specific to some list of files).
+ </p>
+ <enum>
+ <value><code>ANALYZED_FILES</code></value>
+ </enum>
+ </type>
<type name="HighlightRegion">
<p>
A description of a region that could have special highlighting
@@ -2501,36 +2556,218 @@
<value><code>COMMENT_END_OF_LINE</code></value>
<value><code>CONSTRUCTOR</code></value>
<value><code>DIRECTIVE</code></value>
- <value><code>DYNAMIC_TYPE</code></value>
+ <value>
+ <code>DYNAMIC_TYPE</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>DYNAMIC_LOCAL_VARIABLE_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>DYNAMIC_LOCAL_VARIABLE_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>DYNAMIC_PARAMETER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>DYNAMIC_PARAMETER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
<value><code>ENUM</code></value>
<value><code>ENUM_CONSTANT</code></value>
- <value><code>FIELD</code></value>
- <value><code>FIELD_STATIC</code></value>
- <value><code>FUNCTION</code></value>
- <value><code>FUNCTION_DECLARATION</code></value>
+ <value>
+ <code>FIELD</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>FIELD_STATIC</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>FUNCTION</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>FUNCTION_DECLARATION</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
<value><code>FUNCTION_TYPE_ALIAS</code></value>
- <value><code>GETTER_DECLARATION</code></value>
+ <value>
+ <code>GETTER_DECLARATION</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
<value><code>IDENTIFIER_DEFAULT</code></value>
<value><code>IMPORT_PREFIX</code></value>
+ <value>
+ <code>INSTANCE_FIELD_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INSTANCE_FIELD_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INSTANCE_GETTER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INSTANCE_GETTER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INSTANCE_METHOD_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INSTANCE_METHOD_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INSTANCE_SETTER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INSTANCE_SETTER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>INVALID_STRING_ESCAPE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
<value><code>KEYWORD</code></value>
<value><code>LABEL</code></value>
+ <value>
+ <code>LIBRARY_NAME</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
<value><code>LITERAL_BOOLEAN</code></value>
<value><code>LITERAL_DOUBLE</code></value>
<value><code>LITERAL_INTEGER</code></value>
<value><code>LITERAL_LIST</code></value>
<value><code>LITERAL_MAP</code></value>
<value><code>LITERAL_STRING</code></value>
- <value><code>LOCAL_VARIABLE</code></value>
+ <value>
+ <code>LOCAL_FUNCTION_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>LOCAL_FUNCTION_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>LOCAL_VARIABLE</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
<value><code>LOCAL_VARIABLE_DECLARATION</code></value>
- <value><code>METHOD</code></value>
- <value><code>METHOD_DECLARATION</code></value>
- <value><code>METHOD_DECLARATION_STATIC</code></value>
- <value><code>METHOD_STATIC</code></value>
- <value><code>PARAMETER</code></value>
- <value><code>SETTER_DECLARATION</code></value>
- <value><code>TOP_LEVEL_VARIABLE</code></value>
+ <value>
+ <code>LOCAL_VARIABLE_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>METHOD</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>METHOD_DECLARATION</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>METHOD_DECLARATION_STATIC</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>METHOD_STATIC</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>PARAMETER</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>SETTER_DECLARATION</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_VARIABLE</code>
+ <p>Only for version 1 of highlight.</p>
+ </value>
+ <value>
+ <code>PARAMETER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>PARAMETER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>STATIC_FIELD_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>STATIC_GETTER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>STATIC_GETTER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>STATIC_METHOD_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>STATIC_METHOD_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>STATIC_SETTER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>STATIC_SETTER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_FUNCTION_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_FUNCTION_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_GETTER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_GETTER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_SETTER_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_SETTER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>TOP_LEVEL_VARIABLE_DECLARATION</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
<value><code>TYPE_NAME_DYNAMIC</code></value>
<value><code>TYPE_PARAMETER</code></value>
+ <value>
+ <code>UNRESOLVED_INSTANCE_MEMBER_REFERENCE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
+ <value>
+ <code>VALID_STRING_ESCAPE</code>
+ <p>Only for version 2 of highlight.</p>
+ </value>
</enum>
</type>
<type name="HoverInformation">
diff --git a/pkg/analyzer/CHANGELOG.md b/pkg/analyzer/CHANGELOG.md
index 6e22891..59a9606 100644
--- a/pkg/analyzer/CHANGELOG.md
+++ b/pkg/analyzer/CHANGELOG.md
@@ -1,3 +1,15 @@
+## 0.25.3-alpha.0
+
+* Add hook for listening to implicitly analyzed files
+* Add a PathFilter and AnalysisOptionsProvider utility classes to aid
+ clients in excluding files from analysis when directed to do so by an
+ options file.
+
+## 0.25.2
+
+* Enable null-aware operators (DEP 9) by default.
+* Generic method support in the element model.
+
## 0.25.2-alpha.1
* `dart:sdk` extension `.sdkext` changed to `_sdkext` (to play nicer with pub).
diff --git a/pkg/analyzer/README.md b/pkg/analyzer/README.md
index 9dc9ce6..eb5c89e 100644
--- a/pkg/analyzer/README.md
+++ b/pkg/analyzer/README.md
@@ -7,7 +7,7 @@
The analysis server is currently shipped as an executable in the SDK and will
be released as a package in the near future. In the meantime, if you'd like to
learn more about it, please look at the
-[Analysis Server API Specification](http://htmlpreview.github.io/?https://github.com/dart-lang/bleeding_edge/blob/master/dart/pkg/analysis_server/doc/api.html)
+[Analysis Server API Specification](http://htmlpreview.github.io/?https://github.com/dart-lang/sdk/blob/master/pkg/analysis_server/doc/api.html)
or contact the mailing list (see below).
The API's in this package are, quite frankly, a mess at the moment. They were
diff --git a/pkg/analyzer/lib/file_system/memory_file_system.dart b/pkg/analyzer/lib/file_system/memory_file_system.dart
index 8ce2472..cfc3aa2 100644
--- a/pkg/analyzer/lib/file_system/memory_file_system.dart
+++ b/pkg/analyzer/lib/file_system/memory_file_system.dart
@@ -108,7 +108,12 @@
File newFile(String path, String content, [int stamp]) {
path = posix.normalize(path);
- newFolder(posix.dirname(path));
+ _MemoryResource folder = _pathToResource[posix.dirname(path)];
+ if (folder == null) {
+ newFolder(posix.dirname(path));
+ } else if (folder is! Folder) {
+ throw new ArgumentError('Cannot create file ($path) as child of file');
+ }
_MemoryFile file = new _MemoryFile(this, path);
_pathToResource[path] = file;
_pathToContent[path] = content;
@@ -131,8 +136,10 @@
_MemoryFolder folder = new _MemoryFolder(this, path);
_pathToResource[path] = folder;
_pathToTimestamp[path] = nextStamp++;
+ _notifyWatchers(path, ChangeType.ADD);
return folder;
} else if (resource is _MemoryFolder) {
+ _notifyWatchers(path, ChangeType.ADD);
return resource;
} else {
String message =
diff --git a/pkg/analyzer/lib/source/analysis_options_provider.dart b/pkg/analyzer/lib/source/analysis_options_provider.dart
new file mode 100644
index 0000000..a3ac86b
--- /dev/null
+++ b/pkg/analyzer/lib/source/analysis_options_provider.dart
@@ -0,0 +1,65 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library source.analysis_options_provider;
+
+import 'package:analyzer/file_system/file_system.dart';
+import 'package:yaml/yaml.dart';
+
+/// Provide the options found in the `.analysis_options` file.
+class AnalysisOptionsProvider {
+ /// The name of the analysis options source file.
+ static const String ANALYSIS_OPTIONS_NAME = '.analysis_options';
+
+ /// Provide the options found in [root]/[ANALYSIS_OPTIONS_NAME].
+ /// Return an empty options map if the file does not exist.
+ Map<String, YamlNode> getOptions(Folder root) {
+ var optionsSource =
+ _readAnalysisOptionsFile(root.getChild(ANALYSIS_OPTIONS_NAME));
+ return getOptionsFromString(optionsSource);
+ }
+
+ /// Provide the options found in [file].
+ /// Return an empty options map if the file does not exist.
+ Map<String, YamlNode> getOptionsFromFile(File file) {
+ var optionsSource = _readAnalysisOptionsFile(file);
+ return getOptionsFromString(optionsSource);
+ }
+
+ /// Provide the options found in [optionsSource].
+ /// Return an empty options map if the source is null.
+ Map<String, YamlNode> getOptionsFromString(String optionsSource) {
+ var options = <String, YamlNode>{};
+ if (optionsSource == null) {
+ return options;
+ }
+ var doc = loadYaml(optionsSource);
+ if (doc is! YamlMap) {
+ throw new Exception(
+ 'Bad options file format (expected map, got ${doc.runtimeType})');
+ }
+ if (doc is YamlMap) {
+ doc.forEach((k, v) {
+ if (k is! String) {
+ throw new Exception(
+ 'Bad options file format (expected String scope key, '
+ 'got ${k.runtimeType})');
+ }
+ options[k] = v;
+ });
+ }
+ return options;
+ }
+
+ /// Read the contents of [file] as a string.
+ /// Returns null if file does not exist.
+ String _readAnalysisOptionsFile(File file) {
+ try {
+ return file.readAsStringSync();
+ } on FileSystemException {
+ // File can't be read.
+ return null;
+ }
+ }
+}
diff --git a/pkg/analyzer/lib/source/path_filter.dart b/pkg/analyzer/lib/source/path_filter.dart
new file mode 100644
index 0000000..9ee0070
--- /dev/null
+++ b/pkg/analyzer/lib/source/path_filter.dart
@@ -0,0 +1,61 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library source.path_filter;
+
+import 'package:glob/glob.dart' as glob;
+import 'package:path/path.dart' as pos;
+
+/// Filter paths against a set of [ignorePatterns] relative to a [root]
+/// directory. Paths outside of [root] are also ignored.
+class PathFilter {
+ /// Construct a new path filter rooted at [root] with [ignorePatterns].
+ PathFilter(this.root, List<String> ignorePatterns) {
+ setIgnorePatterns(ignorePatterns);
+ }
+
+ /// Set the ignore patterns.
+ void setIgnorePatterns(List<String> ignorePatterns) {
+ _ignorePatterns.clear();
+ if (ignorePatterns != null) {
+ for (var ignorePattern in ignorePatterns) {
+ _ignorePatterns.add(new glob.Glob(ignorePattern));
+ }
+ }
+ }
+
+ /// Returns true if [path] should be ignored. A path is ignored if it is not
+ /// contained in [root] or matches one of the ignore patterns.
+ /// [path] is absolute or relative to [root].
+ bool ignored(String path) {
+ path = _canonicalize(path);
+ return !_contained(path) || _match(path);
+ }
+
+ /// Returns the absolute path of [path], relative to [root].
+ String _canonicalize(String path) => pos.normalize(pos.join(root, path));
+
+ /// Returns the relative portion of [path] from [root].
+ String _relative(String path) => pos.relative(path, from:root);
+
+ /// Returns true when [path] is contained inside [root].
+ bool _contained(String path) => path.startsWith(root);
+
+ /// Returns true if [path] matches any ignore patterns.
+ bool _match(String path) {
+ path = _relative(path);
+ for (var glob in _ignorePatterns) {
+ if (glob.matches(path)) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /// Path that all ignore patterns are relative to.
+ final String root;
+
+ /// List of ignore patterns that paths are tested against.
+ final List<glob.Glob> _ignorePatterns = new List<glob.Glob>();
+}
diff --git a/pkg/analyzer/lib/src/context/cache.dart b/pkg/analyzer/lib/src/context/cache.dart
index 0d67817..c12262d 100644
--- a/pkg/analyzer/lib/src/context/cache.dart
+++ b/pkg/analyzer/lib/src/context/cache.dart
@@ -216,8 +216,10 @@
/**
* Remove all information related to the given [target] from this cache.
+ * Return the entry associated with the target, or `null` if there was cache
+ * entry for the target.
*/
- void remove(AnalysisTarget target) {
+ CacheEntry remove(AnalysisTarget target) {
int count = _partitions.length;
for (int i = 0; i < count; i++) {
CachePartition partition = _partitions[i];
@@ -226,10 +228,10 @@
AnalysisEngine.instance.logger
.logInformation('Removed the cache entry for $target.');
}
- partition.remove(target);
- return;
+ return partition.remove(target);
}
}
+ return null;
}
/**
@@ -896,9 +898,11 @@
}
/**
- * Remove all information related to the given [target] from this cache.
+ * Remove all information related to the given [target] from this partition.
+ * Return the entry associated with the target, or `null` if there was cache
+ * entry for the target.
*/
- void remove(AnalysisTarget target) {
+ CacheEntry remove(AnalysisTarget target) {
for (CacheFlushManager flushManager in _flushManagerMap.values) {
flushManager.targetRemoved(target);
}
@@ -907,6 +911,7 @@
entry._invalidateAll();
}
_removeIfSource(target);
+ return entry;
}
/**
@@ -981,19 +986,17 @@
}
/**
- * If the given [target] is a [Source], removes it from [_sources].
+ * If the given [target] is a [Source], remove it from the list of [_sources].
*/
void _removeIfSource(AnalysisTarget target) {
if (target is Source) {
_sources.remove(target);
- {
- String fullName = target.fullName;
- List<Source> sources = _pathToSources[fullName];
- if (sources != null) {
- sources.remove(target);
- if (sources.isEmpty) {
- _pathToSources.remove(fullName);
- }
+ String fullName = target.fullName;
+ List<Source> sources = _pathToSources[fullName];
+ if (sources != null) {
+ sources.remove(target);
+ if (sources.isEmpty) {
+ _pathToSources.remove(fullName);
}
}
}
diff --git a/pkg/analyzer/lib/src/context/context.dart b/pkg/analyzer/lib/src/context/context.dart
index 095c293..1be6dfb 100644
--- a/pkg/analyzer/lib/src/context/context.dart
+++ b/pkg/analyzer/lib/src/context/context.dart
@@ -167,6 +167,12 @@
StreamController<SourcesChangedEvent> _onSourcesChangedController;
/**
+ * A subscription for a stream of events indicating when files are (and are
+ * not) being implicitly analyzed.
+ */
+ StreamController<ImplicitAnalysisEvent> _implicitAnalysisEventsController;
+
+ /**
* The listeners that are to be notified when various analysis results are
* produced in this context.
*/
@@ -220,6 +226,8 @@
_taskManager, <WorkManager>[dartWorkManager, htmlWorkManager], this);
_onSourcesChangedController =
new StreamController<SourcesChangedEvent>.broadcast();
+ _implicitAnalysisEventsController =
+ new StreamController<ImplicitAnalysisEvent>.broadcast();
}
@override
@@ -239,8 +247,6 @@
(this._options.hint && !options.hint) ||
(this._options.lint && !options.lint) ||
this._options.preserveComments != options.preserveComments ||
- this._options.enableNullAwareOperators !=
- options.enableNullAwareOperators ||
this._options.enableStrictCallChecks != options.enableStrictCallChecks;
int cacheSize = options.cacheSize;
if (this._options.cacheSize != cacheSize) {
@@ -251,7 +257,6 @@
this._options.generateImplicitErrors = options.generateImplicitErrors;
this._options.generateSdkErrors = options.generateSdkErrors;
this._options.dart2jsHint = options.dart2jsHint;
- this._options.enableNullAwareOperators = options.enableNullAwareOperators;
this._options.enableStrictCallChecks = options.enableStrictCallChecks;
this._options.hint = options.hint;
this._options.incremental = options.incremental;
@@ -307,6 +312,10 @@
List<Source> get htmlSources => _getSources(SourceKind.HTML);
@override
+ Stream<ImplicitAnalysisEvent> get implicitAnalysisEvents =>
+ _implicitAnalysisEventsController.stream;
+
+ @override
bool get isDisposed => _disposed;
@override
@@ -731,6 +740,10 @@
entry.modificationTime = getModificationStamp(target);
}
_cache.put(entry);
+ if (target is Source) {
+ _implicitAnalysisEventsController
+ .add(new ImplicitAnalysisEvent(target, true));
+ }
}
return entry;
}
@@ -1222,7 +1235,7 @@
for (Source source in missingSources) {
if (getLibrariesContaining(source).isEmpty &&
getLibrariesDependingOn(source).isEmpty) {
- _cache.remove(source);
+ _removeFromCache(source);
removalCount++;
}
}
@@ -1430,6 +1443,10 @@
entry.modificationTime = getModificationStamp(source);
entry.explicitlyAdded = explicitlyAdded;
_cache.put(entry);
+ if (!explicitlyAdded) {
+ _implicitAnalysisEventsController
+ .add(new ImplicitAnalysisEvent(source, true));
+ }
return entry;
}
@@ -1640,6 +1657,14 @@
}
}
+ void _removeFromCache(Source source) {
+ CacheEntry entry = _cache.remove(source);
+ if (entry != null && !entry.explicitlyAdded) {
+ _implicitAnalysisEventsController
+ .add(new ImplicitAnalysisEvent(source, false));
+ }
+ }
+
/**
* Remove the given [source] from the priority order if it is in the list.
*/
@@ -1661,6 +1686,10 @@
* that referenced the source before it existed.
*/
void _sourceAvailable(Source source) {
+ // TODO(brianwilkerson) This method needs to check whether the source was
+ // previously being implicitly analyzed. If so, the cache entry needs to be
+ // update to reflect the new status and an event needs to be generated to
+ // inform clients that it is no longer being implicitly analyzed.
CacheEntry entry = _cache.get(source);
if (entry == null) {
_createCacheEntry(source, true);
@@ -1741,7 +1770,7 @@
* Record that the give [source] has been deleted.
*/
void _sourceDeleted(Source source) {
- // TODO(brianwilkerson) Implement this.
+ // TODO(brianwilkerson) Implement or remove this.
// SourceEntry sourceEntry = _cache.get(source);
// if (sourceEntry is HtmlEntry) {
// HtmlEntry htmlEntry = sourceEntry;
@@ -1772,7 +1801,7 @@
* Record that the given [source] has been removed.
*/
void _sourceRemoved(Source source) {
- _cache.remove(source);
+ _removeFromCache(source);
_removeFromPriorityOrder(source);
}
diff --git a/pkg/analyzer/lib/src/generated/engine.dart b/pkg/analyzer/lib/src/generated/engine.dart
index 5195922..649c2be 100644
--- a/pkg/analyzer/lib/src/generated/engine.dart
+++ b/pkg/analyzer/lib/src/generated/engine.dart
@@ -209,8 +209,10 @@
/**
* Remove all information related to the given [source] from this cache.
+ * Return the entry associated with the source, or `null` if there was cache
+ * entry for the source.
*/
- void remove(Source source) {
+ SourceEntry remove(Source source) {
int count = _partitions.length;
for (int i = 0; i < count; i++) {
if (_partitions[i].contains(source)) {
@@ -223,10 +225,10 @@
JavaSystem.currentTimeMillis();
}
}
- _partitions[i].remove(source);
- return;
+ return _partitions[i].remove(source);
}
}
+ return null;
}
/**
@@ -353,6 +355,12 @@
List<Source> get htmlSources;
/**
+ * The stream that is notified when a source either starts or stops being
+ * analyzed implicitly.
+ */
+ Stream<ImplicitAnalysisEvent> get implicitAnalysisEvents;
+
+ /**
* Returns `true` if this context was disposed using [dispose].
*/
bool get isDisposed;
@@ -1034,6 +1042,12 @@
StreamController<SourcesChangedEvent> _onSourcesChangedController;
/**
+ * A subscription for a stream of events indicating when files are (and are
+ * not) being implicitly analyzed.
+ */
+ StreamController<ImplicitAnalysisEvent> _implicitAnalysisEventsController;
+
+ /**
* The listeners that are to be notified when various analysis results are
* produced in this context.
*/
@@ -1084,6 +1098,8 @@
_cache = createCacheFromSourceFactory(null);
_onSourcesChangedController =
new StreamController<SourcesChangedEvent>.broadcast();
+ _implicitAnalysisEventsController =
+ new StreamController<ImplicitAnalysisEvent>.broadcast();
}
@override
@@ -1102,8 +1118,6 @@
this._options.dart2jsHint != options.dart2jsHint ||
(this._options.hint && !options.hint) ||
this._options.preserveComments != options.preserveComments ||
- this._options.enableNullAwareOperators !=
- options.enableNullAwareOperators ||
this._options.enableStrictCallChecks != options.enableStrictCallChecks;
int cacheSize = options.cacheSize;
if (this._options.cacheSize != cacheSize) {
@@ -1129,7 +1143,6 @@
this._options.generateImplicitErrors = options.generateImplicitErrors;
this._options.generateSdkErrors = options.generateSdkErrors;
this._options.dart2jsHint = options.dart2jsHint;
- this._options.enableNullAwareOperators = options.enableNullAwareOperators;
this._options.enableStrictCallChecks = options.enableStrictCallChecks;
this._options.hint = options.hint;
this._options.incremental = options.incremental;
@@ -1201,6 +1214,10 @@
List<Source> get htmlSources => _getSources(SourceKind.HTML);
@override
+ Stream<ImplicitAnalysisEvent> get implicitAnalysisEvents =>
+ _implicitAnalysisEventsController.stream;
+
+ @override
bool get isDisposed => _disposed;
@override
@@ -2413,7 +2430,7 @@
} else {
unitEntry.recordResolutionError(thrownException);
}
- _cache.remove(unitSource);
+ _removeFromCache(unitSource);
if (thrownException != null) {
throw new AnalysisException('<rethrow>', thrownException);
}
@@ -2486,7 +2503,7 @@
} else {
unitEntry.recordResolutionError(thrownException);
}
- _cache.remove(unitSource);
+ _removeFromCache(unitSource);
if (thrownException != null) {
throw new AnalysisException('<rethrow>', thrownException);
}
@@ -2516,7 +2533,7 @@
} else {
dartEntry.recordResolutionErrorInLibrary(
librarySource, thrownException);
- _cache.remove(source);
+ _removeFromCache(source);
}
if (source != librarySource) {
_workManager.add(source, SourcePriority.PRIORITY_PART);
@@ -2618,7 +2635,7 @@
for (Source source in missingSources) {
if (getLibrariesContaining(source).isEmpty &&
getLibrariesDependingOn(source).isEmpty) {
- _cache.remove(source);
+ _removeFromCache(source);
removalCount++;
}
}
@@ -3388,12 +3405,20 @@
htmlEntry.modificationTime = getModificationStamp(source);
htmlEntry.explicitlyAdded = explicitlyAdded;
_cache.put(source, htmlEntry);
+ if (!explicitlyAdded) {
+ _implicitAnalysisEventsController
+ .add(new ImplicitAnalysisEvent(source, true));
+ }
return htmlEntry;
} else {
DartEntry dartEntry = new DartEntry();
dartEntry.modificationTime = getModificationStamp(source);
dartEntry.explicitlyAdded = explicitlyAdded;
_cache.put(source, dartEntry);
+ if (!explicitlyAdded) {
+ _implicitAnalysisEventsController
+ .add(new ImplicitAnalysisEvent(source, true));
+ }
return dartEntry;
}
}
@@ -4111,6 +4136,16 @@
AnalysisEngine.instance.logger.logInformation(message);
}
+ /**
+ * Notify all of the analysis listeners that a task is about to be performed.
+ */
+ void _notifyAboutToPerformTask(String taskDescription) {
+ int count = _listeners.length;
+ for (int i = 0; i < count; i++) {
+ _listeners[i].aboutToPerformTask(this, taskDescription);
+ }
+ }
+
// /**
// * Notify all of the analysis listeners that the given source is no longer included in the set of
// * sources that are being analyzed.
@@ -4190,16 +4225,6 @@
// }
/**
- * Notify all of the analysis listeners that a task is about to be performed.
- */
- void _notifyAboutToPerformTask(String taskDescription) {
- int count = _listeners.length;
- for (int i = 0; i < count; i++) {
- _listeners[i].aboutToPerformTask(this, taskDescription);
- }
- }
-
- /**
* Notify all of the analysis listeners that the errors associated with the
* given [source] has been updated to the given [errors].
*/
@@ -4572,6 +4597,14 @@
return dartEntry;
}
+ void _removeFromCache(Source source) {
+ SourceEntry entry = _cache.remove(source);
+ if (entry != null && !entry.explicitlyAdded) {
+ _implicitAnalysisEventsController
+ .add(new ImplicitAnalysisEvent(source, false));
+ }
+ }
+
/**
* Remove the given [librarySource] from the list of containing libraries for
* all of the parts referenced by the given [dartEntry].
@@ -4584,7 +4617,7 @@
if (partEntry != null && !identical(partEntry, dartEntry)) {
partEntry.removeContainingLibrary(librarySource);
if (partEntry.containingLibraries.length == 0 && !exists(partSource)) {
- _cache.remove(partSource);
+ _removeFromCache(partSource);
}
}
}
@@ -4604,7 +4637,7 @@
partEntry.removeContainingLibrary(librarySource);
if (partEntry.containingLibraries.length == 0 &&
!exists(partSource)) {
- _cache.remove(partSource);
+ _removeFromCache(partSource);
}
}
}
@@ -4633,6 +4666,10 @@
* that referenced the source before it existed.
*/
void _sourceAvailable(Source source) {
+ // TODO(brianwilkerson) This method needs to check whether the source was
+ // previously being implicitly analyzed. If so, the cache entry needs to be
+ // update to reflect the new status and an event needs to be generated to
+ // inform clients that it is no longer being implicitly analyzed.
SourceEntry sourceEntry = _cache.get(source);
if (sourceEntry == null) {
sourceEntry = _createSourceEntry(source, true);
@@ -4721,7 +4758,7 @@
_invalidateLibraryResolution(librarySource);
}
}
- _cache.remove(source);
+ _removeFromCache(source);
_workManager.remove(source);
_removeFromPriorityOrder(source);
}
@@ -6102,6 +6139,7 @@
/**
* Return `true` to enable null-aware operators (DEP 9).
*/
+ @deprecated // Always true
bool get enableNullAwareOperators;
/**
@@ -6154,6 +6192,11 @@
* Return `true` if analysis is to parse comments.
*/
bool get preserveComments;
+
+ /**
+ * Return `true` if strong mode analysis should be used.
+ */
+ bool get strongMode;
}
/**
@@ -6203,11 +6246,6 @@
bool enableGenericMethods = false;
/**
- * A flag indicating whether null-aware operators should be parsed (DEP 9).
- */
- bool enableNullAwareOperators = false;
-
- /**
* A flag indicating whether analysis is to strictly follow the specification
* when generating warnings on "call" methods (fixes dartbug.com/21938).
*/
@@ -6259,6 +6297,11 @@
bool preserveComments = true;
/**
+ * A flag indicating whether strong-mode analysis should be used.
+ */
+ bool strongMode = false;
+
+ /**
* Initialize a newly created set of analysis options to have their default
* values.
*/
@@ -6273,7 +6316,6 @@
analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate;
cacheSize = options.cacheSize;
dart2jsHint = options.dart2jsHint;
- enableNullAwareOperators = options.enableNullAwareOperators;
enableStrictCallChecks = options.enableStrictCallChecks;
generateImplicitErrors = options.generateImplicitErrors;
generateSdkErrors = options.generateSdkErrors;
@@ -6283,6 +6325,7 @@
incrementalValidation = options.incrementalValidation;
lint = options.lint;
preserveComments = options.preserveComments;
+ strongMode = options.strongMode;
}
/**
@@ -6293,7 +6336,6 @@
analyzeFunctionBodiesPredicate = options.analyzeFunctionBodiesPredicate;
cacheSize = options.cacheSize;
dart2jsHint = options.dart2jsHint;
- enableNullAwareOperators = options.enableNullAwareOperators;
enableStrictCallChecks = options.enableStrictCallChecks;
generateImplicitErrors = options.generateImplicitErrors;
generateSdkErrors = options.generateSdkErrors;
@@ -6303,6 +6345,7 @@
incrementalValidation = options.incrementalValidation;
lint = options.lint;
preserveComments = options.preserveComments;
+ strongMode = options.strongMode;
}
bool get analyzeFunctionBodies {
@@ -6362,6 +6405,15 @@
// Enum support cannot be disabled
}
+ @deprecated
+ @override
+ bool get enableNullAwareOperators => true;
+
+ @deprecated
+ void set enableNullAwareOperators(bool enable) {
+ // Null-aware operator support cannot be disabled
+ }
+
/**
* Predicate used for [analyzeFunctionBodiesPredicate] when
* [analyzeFunctionBodies] is set to `true`.
@@ -6752,11 +6804,13 @@
}
/**
- * Remove all information related to the given [source] from this cache.
+ * Remove all information related to the given [source] from this partition.
+ * Return the entry associated with the source, or `null` if there was cache
+ * entry for the source.
*/
- void remove(Source source) {
+ SourceEntry remove(Source source) {
_recentlyUsed.remove(source);
- _sourceMap.remove(source);
+ return _sourceMap.remove(source);
}
/**
@@ -8853,6 +8907,32 @@
}
/**
+ * An event indicating when a source either starts or stops being implicitly
+ * analyzed.
+ */
+class ImplicitAnalysisEvent {
+ /**
+ * The source whose status has changed.
+ */
+ final Source source;
+
+ /**
+ * A flag indicating whether the source is now being analyzed.
+ */
+ final bool isAnalyzed;
+
+ /**
+ * Initialize a newly created event to indicate that the given [source] has
+ * changed it status to match the [isAnalyzed] flag.
+ */
+ ImplicitAnalysisEvent(this.source, this.isAnalyzed);
+
+ @override
+ String toString() =>
+ '${isAnalyzed ? '' : 'not '}analyzing ${source.fullName}';
+}
+
+/**
* Instances of the class `IncrementalAnalysisCache` hold information used to perform
* incremental analysis.
*
@@ -10996,8 +11076,6 @@
Scanner scanner = new Scanner(
source, new CharSequenceReader(_content), errorListener);
scanner.preserveComments = context.analysisOptions.preserveComments;
- scanner.enableNullAwareOperators =
- context.analysisOptions.enableNullAwareOperators;
_tokenStream = scanner.tokenize();
_lineInfo = new LineInfo(scanner.lineStarts);
_errors = errorListener.getErrorsForSource(source);
diff --git a/pkg/analyzer/lib/src/generated/html.dart b/pkg/analyzer/lib/src/generated/html.dart
index 222fdf8..99b0d51 100644
--- a/pkg/analyzer/lib/src/generated/html.dart
+++ b/pkg/analyzer/lib/src/generated/html.dart
@@ -416,7 +416,6 @@
LineInfo_Location location = _lineInfo.getLocation(contentOffset);
sc.Scanner scanner = new sc.Scanner(source,
new sc.SubSequenceReader(contents, contentOffset), _errorListener);
- scanner.enableNullAwareOperators = _options.enableNullAwareOperators;
scanner.setSourceStart(location.lineNumber, location.columnNumber);
sc.Token firstToken = scanner.tokenize();
Parser parser = new Parser(source, _errorListener);
diff --git a/pkg/analyzer/lib/src/generated/incremental_resolver.dart b/pkg/analyzer/lib/src/generated/incremental_resolver.dart
index c4bc15a..78481ce 100644
--- a/pkg/analyzer/lib/src/generated/incremental_resolver.dart
+++ b/pkg/analyzer/lib/src/generated/incremental_resolver.dart
@@ -1507,7 +1507,6 @@
RecordingErrorListener errorListener = new RecordingErrorListener();
CharSequenceReader reader = new CharSequenceReader(code);
Scanner scanner = new Scanner(_unitSource, reader, errorListener);
- scanner.enableNullAwareOperators = _options.enableNullAwareOperators;
Token token = scanner.tokenize();
_newScanErrors = errorListener.errors;
return token;
diff --git a/pkg/analyzer/lib/src/generated/incremental_scanner.dart b/pkg/analyzer/lib/src/generated/incremental_scanner.dart
index eed2545..a2e4daf 100644
--- a/pkg/analyzer/lib/src/generated/incremental_scanner.dart
+++ b/pkg/analyzer/lib/src/generated/incremental_scanner.dart
@@ -224,7 +224,6 @@
Token _scanRange(int start, int end) {
Scanner scanner = new Scanner(
source, new CharacterRangeReader(reader, start, end), errorListener);
- scanner.enableNullAwareOperators = _options.enableNullAwareOperators;
return scanner.tokenize();
}
diff --git a/pkg/analyzer/lib/src/generated/scanner.dart b/pkg/analyzer/lib/src/generated/scanner.dart
index f79401e..9e028ca 100644
--- a/pkg/analyzer/lib/src/generated/scanner.dart
+++ b/pkg/analyzer/lib/src/generated/scanner.dart
@@ -723,12 +723,6 @@
bool _hasUnmatchedGroups = false;
/**
- * A flag indicating whether null-aware operators ('?.', '??', and '??=')
- * should be tokenized.
- */
- bool enableNullAwareOperators = false;
-
- /**
* Initialize a newly created scanner to scan characters from the given
* [source]. The given character [_reader] will be used to read the characters
* in the source. The given [_errorListener] will be informed of any errors
@@ -1664,11 +1658,11 @@
int _tokenizeQuestion() {
// ? ?. ?? ??=
int next = _reader.advance();
- if (enableNullAwareOperators && next == 0x2E) {
+ if (next == 0x2E) {
// '.'
_appendTokenOfType(TokenType.QUESTION_PERIOD);
return _reader.advance();
- } else if (enableNullAwareOperators && next == 0x3F) {
+ } else if (next == 0x3F) {
// '?'
next = _reader.advance();
if (next == 0x3D) {
diff --git a/pkg/analyzer/lib/src/task/dart.dart b/pkg/analyzer/lib/src/task/dart.dart
index ff5b0cb..fa8daec 100644
--- a/pkg/analyzer/lib/src/task/dart.dart
+++ b/pkg/analyzer/lib/src/task/dart.dart
@@ -3115,8 +3115,6 @@
errorListener);
scanner.setSourceStart(fragment.line, fragment.column);
scanner.preserveComments = context.analysisOptions.preserveComments;
- scanner.enableNullAwareOperators =
- context.analysisOptions.enableNullAwareOperators;
outputs[TOKEN_STREAM] = scanner.tokenize();
outputs[LINE_INFO] = new LineInfo(scanner.lineStarts);
@@ -3127,8 +3125,6 @@
Scanner scanner =
new Scanner(source, new CharSequenceReader(content), errorListener);
scanner.preserveComments = context.analysisOptions.preserveComments;
- scanner.enableNullAwareOperators =
- context.analysisOptions.enableNullAwareOperators;
outputs[TOKEN_STREAM] = scanner.tokenize();
outputs[LINE_INFO] = new LineInfo(scanner.lineStarts);
diff --git a/pkg/analyzer/pubspec.yaml b/pkg/analyzer/pubspec.yaml
index 99ad62c..32c8bf7 100644
--- a/pkg/analyzer/pubspec.yaml
+++ b/pkg/analyzer/pubspec.yaml
@@ -1,5 +1,5 @@
name: analyzer
-version: 0.25.2-alpha.1
+version: 0.25.3-alpha.1
author: Dart Team <misc@dartlang.org>
description: Static analyzer for Dart.
homepage: http://www.dartlang.org
@@ -7,6 +7,7 @@
sdk: '>=1.12.0-dev.1.0 <2.0.0'
dependencies:
args: '>=0.12.1 <0.14.0'
+ glob: ^1.0.3
html: ^0.12.0
package_config: ^0.1.1
path: '>=0.9.0 <2.0.0'
diff --git a/pkg/analyzer/test/generated/compile_time_error_code_test.dart b/pkg/analyzer/test/generated/compile_time_error_code_test.dart
index e212444..d941fcf 100644
--- a/pkg/analyzer/test/generated/compile_time_error_code_test.dart
+++ b/pkg/analyzer/test/generated/compile_time_error_code_test.dart
@@ -4757,9 +4757,6 @@
}
void test_prefix_conditionalPropertyAccess_call() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
addNamedSource('/lib.dart', '''
library lib;
g() {}
@@ -4777,9 +4774,6 @@
}
void test_prefix_conditionalPropertyAccess_call_loadLibrary() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
addNamedSource('/lib.dart', '''
library lib;
''');
@@ -4796,9 +4790,6 @@
}
void test_prefix_conditionalPropertyAccess_get() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
addNamedSource('/lib.dart', '''
library lib;
var x;
@@ -4816,9 +4807,6 @@
}
void test_prefix_conditionalPropertyAccess_get_loadLibrary() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
addNamedSource('/lib.dart', '''
library lib;
''');
@@ -4835,9 +4823,6 @@
}
void test_prefix_conditionalPropertyAccess_set() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
addNamedSource('/lib.dart', '''
library lib;
var x;
@@ -4855,9 +4840,6 @@
}
void test_prefix_conditionalPropertyAccess_set_loadLibrary() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
addNamedSource('/lib.dart', '''
library lib;
''');
@@ -4988,9 +4970,6 @@
}
void test_prefixNotFollowedByDot_conditionalMethodInvocation() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
addNamedSource('/lib.dart', '''
library lib;
g() {}
diff --git a/pkg/analyzer/test/generated/engine_test.dart b/pkg/analyzer/test/generated/engine_test.dart
index 8d9365c..af6dac3 100644
--- a/pkg/analyzer/test/generated/engine_test.dart
+++ b/pkg/analyzer/test/generated/engine_test.dart
@@ -1333,6 +1333,21 @@
// assertLength(0, statistics.getSources());
}
+ Future test_implicitAnalysisEvents_added() async {
+ AnalyzedSourcesListener listener = new AnalyzedSourcesListener();
+ _context.implicitAnalysisEvents.listen(listener.onData);
+ //
+ // Create a file that references an file that is not explicitly being
+ // analyzed and fully analyze it. Ensure that the listener is told about
+ // the implicitly analyzed file.
+ //
+ Source sourceA = _addSource('/a.dart', "library a; import 'b.dart';");
+ Source sourceB = _createSource('/b.dart', "library b;");
+ _context.computeErrors(sourceA);
+ await pumpEventQueue();
+ listener.expectAnalyzed(sourceB);
+ }
+
void test_isClientLibrary_dart() {
_context = AnalysisContextFactory.oldContextWithCore();
_sourceFactory = _context.sourceFactory;
@@ -2151,6 +2166,12 @@
_context.applyChanges(changeSet);
}
+ Source _createSource(String fileName, String contents) {
+ Source source = new FileBasedSource(FileUtilities2.createFile(fileName));
+ _context.setContents(source, contents);
+ return source;
+ }
+
/**
* Search the given compilation unit for a class with the given name. Return the class with the
* given name, or `null` if the class cannot be found.
@@ -2241,24 +2262,24 @@
options.analyzeFunctionBodies = booleanValue;
options.cacheSize = i;
options.dart2jsHint = booleanValue;
- options.enableNullAwareOperators = booleanValue;
options.enableStrictCallChecks = booleanValue;
options.generateImplicitErrors = booleanValue;
options.generateSdkErrors = booleanValue;
options.hint = booleanValue;
options.incremental = booleanValue;
options.preserveComments = booleanValue;
+ options.strongMode = booleanValue;
AnalysisOptionsImpl copy = new AnalysisOptionsImpl.from(options);
expect(copy.analyzeFunctionBodies, options.analyzeFunctionBodies);
expect(copy.cacheSize, options.cacheSize);
expect(copy.dart2jsHint, options.dart2jsHint);
- expect(copy.enableNullAwareOperators, options.enableNullAwareOperators);
expect(copy.enableStrictCallChecks, options.enableStrictCallChecks);
expect(copy.generateImplicitErrors, options.generateImplicitErrors);
expect(copy.generateSdkErrors, options.generateSdkErrors);
expect(copy.hint, options.hint);
expect(copy.incremental, options.incremental);
expect(copy.preserveComments, options.preserveComments);
+ expect(copy.strongMode, options.strongMode);
}
}
@@ -2284,6 +2305,13 @@
expect(options.dart2jsHint, value);
}
+ void test_strongMode() {
+ AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+ bool value = !options.strongMode;
+ options.strongMode = value;
+ expect(options.strongMode, value);
+ }
+
void test_generateImplicitErrors() {
AnalysisOptionsImpl options = new AnalysisOptionsImpl();
bool value = !options.generateImplicitErrors;
@@ -2345,6 +2373,48 @@
}
}
+/**
+ * A listener used to gather the [ImplicitAnalysisEvent]s that are produced
+ * during analysis.
+ */
+class AnalyzedSourcesListener {
+ /**
+ * The events that have been gathered.
+ */
+ List<ImplicitAnalysisEvent> actualEvents = <ImplicitAnalysisEvent>[];
+
+ /**
+ * The sources that are being implicitly analyzed.
+ */
+ List<Source> analyzedSources = <Source>[];
+
+ /**
+ * Assert that the given source is currently being implicitly analyzed.
+ */
+ void expectAnalyzed(Source source) {
+ expect(analyzedSources, contains(source));
+ }
+
+ /**
+ * Assert that the given source is not currently being implicitly analyzed.
+ */
+ void expectNotAnalyzed(Source source) {
+ expect(analyzedSources, isNot(contains(source)));
+ }
+
+ /**
+ * Record that the given event was produced.
+ */
+ void onData(ImplicitAnalysisEvent event) {
+ actualEvents.add(event);
+ if (event.isAnalyzed) {
+ analyzedSources.add(event.source);
+ } else {
+ analyzedSources.remove(event.source);
+ }
+ }
+}
+
class CompilationUnitMock extends TypedMock implements CompilationUnit {
noSuchMethod(Invocation invocation) => super.noSuchMethod(invocation);
}
@@ -5470,6 +5540,11 @@
return null;
}
@override
+ Stream<ImplicitAnalysisEvent> get implicitAnalysisEvents {
+ fail("Unexpected invocation of analyzedSources");
+ return null;
+ }
+ @override
bool get isDisposed {
fail("Unexpected invocation of isDisposed");
return false;
@@ -5513,6 +5588,7 @@
fail("Unexpected invocation of getPrioritySources");
return null;
}
+
@override
List<AnalysisTarget> get priorityTargets {
fail("Unexpected invocation of visitCacheItems");
@@ -5530,7 +5606,6 @@
fail("Unexpected invocation of getResolverVisitorFactory");
return null;
}
-
@override
SourceFactory get sourceFactory {
fail("Unexpected invocation of getSourceFactory");
@@ -5792,6 +5867,7 @@
fail("Unexpected invocation of parseHtmlUnit");
return null;
}
+
@override
AnalysisResult performAnalysisTask() {
fail("Unexpected invocation of performAnalysisTask");
@@ -5834,11 +5910,11 @@
int oldLength, int newLength) {
fail("Unexpected invocation of setChangedContents");
}
-
@override
void setContents(Source source, String contents) {
fail("Unexpected invocation of setContents");
}
+
@override
bool shouldErrorsBeAnalyzed(Source source, Object entry) {
fail("Unexpected invocation of shouldErrorsBeAnalyzed");
diff --git a/pkg/analyzer/test/generated/non_error_resolver_test.dart b/pkg/analyzer/test/generated/non_error_resolver_test.dart
index 06336a4..c77d424 100644
--- a/pkg/analyzer/test/generated/non_error_resolver_test.dart
+++ b/pkg/analyzer/test/generated/non_error_resolver_test.dart
@@ -2372,9 +2372,6 @@
}
void test_invalidAssignment_ifNullAssignment_compatibleType() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
void f(int i) {
num n;
@@ -2387,9 +2384,6 @@
}
void test_invalidAssignment_ifNullAssignment_sameType() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
void f(int i) {
int j;
@@ -5011,9 +5005,6 @@
void test_undefinedGetter_typeLiteral_conditionalAccess() {
// When applied to a type literal, the conditional access operator '?.' can
// be used to access instance getters of Type.
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
class A {}
f() => A?.hashCode;
@@ -5101,9 +5092,6 @@
void test_undefinedMethod_typeLiteral_conditionalAccess() {
// When applied to a type literal, the conditional access operator '?.' can
// be used to access instance methods of Type.
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
class A {}
f() => A?.toString();
diff --git a/pkg/analyzer/test/generated/parser_test.dart b/pkg/analyzer/test/generated/parser_test.dart
index 5816ab8..b85a20e 100644
--- a/pkg/analyzer/test/generated/parser_test.dart
+++ b/pkg/analyzer/test/generated/parser_test.dart
@@ -359,7 +359,6 @@
}
void test_conditionalExpression_precedence_ifNullExpression() {
- _enableNullAwareOperators = true;
ConditionalExpression expression = parseExpression('a ?? b ? y : z');
EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression,
BinaryExpression, expression.condition);
@@ -409,21 +408,18 @@
}
void test_ifNullExpression() {
- _enableNullAwareOperators = true;
BinaryExpression expression = parseExpression('x ?? y ?? z');
EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression,
BinaryExpression, expression.leftOperand);
}
void test_ifNullExpression_precedence_logicalOr_left() {
- _enableNullAwareOperators = true;
BinaryExpression expression = parseExpression('x || y ?? z');
EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression,
BinaryExpression, expression.leftOperand);
}
void test_ifNullExpression_precendce_logicalOr_right() {
- _enableNullAwareOperators = true;
BinaryExpression expression = parseExpression('x ?? y || z');
EngineTestCase.assertInstanceOf((obj) => obj is BinaryExpression,
BinaryExpression, expression.rightOperand);
@@ -1338,13 +1334,11 @@
}
void test_invalidOperatorAfterSuper_assignableExpression() {
- _enableNullAwareOperators = true;
parse3('parseAssignableExpression', <Object>[false], 'super?.v',
[ParserErrorCode.INVALID_OPERATOR_FOR_SUPER]);
}
void test_invalidOperatorAfterSuper_primaryExpression() {
- _enableNullAwareOperators = true;
parse4('parsePrimaryExpression', 'super?.v',
[ParserErrorCode.INVALID_OPERATOR_FOR_SUPER]);
}
@@ -2586,12 +2580,6 @@
bool enableGenericMethods = false;
/**
- * If non-null, this value is used to override the default value of
- * [Scanner.enableNullAwareOperators] before scanning.
- */
- bool _enableNullAwareOperators;
-
- /**
* Return a CommentAndMetadata object with the given values that can be used for testing.
*
* @param comment the comment to be wrapped in the object
@@ -2634,9 +2622,6 @@
//
Scanner scanner =
new Scanner(null, new CharSequenceReader(source), listener);
- if (_enableNullAwareOperators != null) {
- scanner.enableNullAwareOperators = _enableNullAwareOperators;
- }
Token tokenStream = scanner.tokenize();
listener.setLineInfo(new TestSource(), scanner.lineStarts);
//
@@ -2771,9 +2756,6 @@
GatheringErrorListener listener = new GatheringErrorListener();
Scanner scanner =
new Scanner(null, new CharSequenceReader(source), listener);
- if (_enableNullAwareOperators != null) {
- scanner.enableNullAwareOperators = _enableNullAwareOperators;
- }
listener.setLineInfo(new TestSource(), scanner.lineStarts);
Token token = scanner.tokenize();
Parser parser = createParser(listener);
@@ -5076,7 +5058,6 @@
}
void test_parseAssignableExpression_expression_question_dot() {
- _enableNullAwareOperators = true;
PropertyAccess propertyAccess =
parse("parseAssignableExpression", <Object>[false], "(x)?.y");
expect(propertyAccess.target, isNotNull);
@@ -5136,7 +5117,6 @@
}
void test_parseAssignableExpression_identifier_question_dot() {
- _enableNullAwareOperators = true;
PropertyAccess propertyAccess =
parse("parseAssignableExpression", <Object>[false], "x?.y");
expect(propertyAccess.target, isNotNull);
@@ -5187,7 +5167,6 @@
}
void test_parseAssignableSelector_question_dot() {
- _enableNullAwareOperators = true;
PropertyAccess selector =
parse("parseAssignableSelector", <Object>[null, true], "?.x");
expect(selector.operator.type, TokenType.QUESTION_PERIOD);
@@ -9058,7 +9037,6 @@
}
void test_parsePostfixExpression_none_methodInvocation_question_dot() {
- _enableNullAwareOperators = true;
MethodInvocation expression = parse4('parsePostfixExpression', 'a?.m()');
expect(expression.target, isNotNull);
expect(expression.operator.type, TokenType.QUESTION_PERIOD);
@@ -9069,7 +9047,6 @@
void test_parsePostfixExpression_none_methodInvocation_question_dot_typeArguments() {
enableGenericMethods = true;
- _enableNullAwareOperators = true;
MethodInvocation expression = parse4('parsePostfixExpression', 'a?.m<E>()');
expect(expression.target, isNotNull);
expect(expression.operator.type, TokenType.QUESTION_PERIOD);
diff --git a/pkg/analyzer/test/generated/resolver_test.dart b/pkg/analyzer/test/generated/resolver_test.dart
index 1e17493..89242b9 100644
--- a/pkg/analyzer/test/generated/resolver_test.dart
+++ b/pkg/analyzer/test/generated/resolver_test.dart
@@ -399,8 +399,6 @@
currentOptions.dart2jsHint != options.dart2jsHint ||
(currentOptions.hint && !options.hint) ||
currentOptions.preserveComments != options.preserveComments ||
- currentOptions.enableNullAwareOperators !=
- options.enableNullAwareOperators ||
currentOptions.enableStrictCallChecks != options.enableStrictCallChecks;
if (needsRecompute) {
fail(
@@ -6414,8 +6412,6 @@
currentOptions.dart2jsHint != options.dart2jsHint ||
(currentOptions.hint && !options.hint) ||
currentOptions.preserveComments != options.preserveComments ||
- currentOptions.enableNullAwareOperators !=
- options.enableNullAwareOperators ||
currentOptions.enableStrictCallChecks != options.enableStrictCallChecks;
if (needsRecompute) {
fail(
diff --git a/pkg/analyzer/test/generated/scanner_test.dart b/pkg/analyzer/test/generated/scanner_test.dart
index 24ca20e..c1a6603 100644
--- a/pkg/analyzer/test/generated/scanner_test.dart
+++ b/pkg/analyzer/test/generated/scanner_test.dart
@@ -170,12 +170,6 @@
@reflectiveTest
class ScannerTest {
- /**
- * If non-null, this value is used to override the default value of
- * [Scanner.enableNullAwareOperators] before scanning.
- */
- bool _enableNullAwareOperators;
-
void fail_incomplete_string_interpolation() {
// https://code.google.com/p/dart/issues/detail?id=18073
_assertErrorAndTokens(ScannerErrorCode.UNTERMINATED_STRING_LITERAL, 9,
@@ -727,17 +721,14 @@
}
void test_question_dot() {
- _enableNullAwareOperators = true;
_assertToken(TokenType.QUESTION_PERIOD, "?.");
}
void test_question_question() {
- _enableNullAwareOperators = true;
_assertToken(TokenType.QUESTION_QUESTION, "??");
}
void test_question_question_eq() {
- _enableNullAwareOperators = true;
_assertToken(TokenType.QUESTION_QUESTION_EQ, "??=");
}
@@ -1229,9 +1220,6 @@
Token _scanWithListener(String source, GatheringErrorListener listener) {
Scanner scanner =
new Scanner(null, new CharSequenceReader(source), listener);
- if (_enableNullAwareOperators != null) {
- scanner.enableNullAwareOperators = _enableNullAwareOperators;
- }
Token result = scanner.tokenize();
listener.setLineInfo(new TestSource(), scanner.lineStarts);
return result;
diff --git a/pkg/analyzer/test/generated/static_type_warning_code_test.dart b/pkg/analyzer/test/generated/static_type_warning_code_test.dart
index f35d057..a346a87 100644
--- a/pkg/analyzer/test/generated/static_type_warning_code_test.dart
+++ b/pkg/analyzer/test/generated/static_type_warning_code_test.dart
@@ -385,9 +385,6 @@
}
void test_invalidAssignment_ifNullAssignment() {
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
void f(int i) {
double d;
@@ -1397,9 +1394,6 @@
void test_undefinedGetter_static_conditionalAccess() {
// The conditional access operator '?.' cannot be used to access static
// fields.
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
class A {
static var x;
@@ -1571,9 +1565,6 @@
void test_undefinedMethod_static_conditionalAccess() {
// The conditional access operator '?.' cannot be used to access static
// methods.
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
class A {
static void m() {}
@@ -1663,9 +1654,6 @@
void test_undefinedSetter_static_conditionalAccess() {
// The conditional access operator '?.' cannot be used to access static
// fields.
- AnalysisOptionsImpl options = new AnalysisOptionsImpl();
- options.enableNullAwareOperators = true;
- resetWithOptions(options);
Source source = addSource('''
class A {
static var x;
diff --git a/pkg/analyzer/test/source/analysis_options_provider_test.dart b/pkg/analyzer/test/source/analysis_options_provider_test.dart
new file mode 100644
index 0000000..9033c8c
--- /dev/null
+++ b/pkg/analyzer/test/source/analysis_options_provider_test.dart
@@ -0,0 +1,64 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library test.source.analysis_options_provider;
+
+import 'package:analyzer/file_system/memory_file_system.dart';
+import 'package:analyzer/source/analysis_options_provider.dart';
+import 'package:unittest/unittest.dart';
+import 'package:yaml/yaml.dart';
+
+main() {
+ groupSep = ' | ';
+ group('AnalysisOptionsProvider', () {
+ setUp(() {
+ buildResourceProvider();
+ });
+ tearDown(() {
+ clearResourceProvider();
+ });
+ test('test_simple', () {
+ var optionsProvider = new AnalysisOptionsProvider();
+ Map<String, YamlNode> options =
+ optionsProvider.getOptions(resourceProvider.getFolder('/'));
+ expect(options.length, equals(1));
+ expect(options['analyzer'], isNotNull);
+ YamlMap analyzer = options['analyzer'];
+ expect(analyzer.length, equals(1));
+ expect(analyzer['ignore'], isNotNull);
+ YamlList ignore = analyzer['ignore'];
+ expect(ignore.length, equals(2));
+ expect(ignore[0], equals('ignoreme.dart'));
+ expect(ignore[1], equals('sdk_ext/**'));
+ });
+ test('test_doesnotexist', () {
+ var optionsProvider = new AnalysisOptionsProvider();
+ Map<String, YamlNode> options =
+ optionsProvider.getOptions(resourceProvider.getFolder('/empty'));
+ expect(options.length, equals(0));
+ });
+ });
+}
+
+MemoryResourceProvider resourceProvider;
+
+buildResourceProvider() {
+ resourceProvider = new MemoryResourceProvider();
+ resourceProvider.newFolder('/empty');
+ resourceProvider.newFolder('/tmp');
+ resourceProvider.newFile('/.analysis_options', r'''
+analyzer:
+ ignore:
+ - ignoreme.dart
+ - 'sdk_ext/**'
+''');
+}
+
+clearResourceProvider() {
+ resourceProvider = null;
+}
+
+emptyResourceProvider() {
+ resourceProvider = new MemoryResourceProvider();
+}
diff --git a/pkg/analyzer/test/source/path_filter_test.dart b/pkg/analyzer/test/source/path_filter_test.dart
new file mode 100644
index 0000000..6b0131a
--- /dev/null
+++ b/pkg/analyzer/test/source/path_filter_test.dart
@@ -0,0 +1,60 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library test.source.path_filter;
+
+import 'package:analyzer/file_system/memory_file_system.dart';
+import 'package:analyzer/source/path_filter.dart';
+import 'package:unittest/unittest.dart';
+
+main() {
+ groupSep = ' | ';
+ group('PathFilterTest', () {
+ setUp(() { });
+ tearDown(() { });
+ test('test_ignoreEverything', () {
+ var filter = new PathFilter('/', ['*']);
+ expect(filter.ignored('a'), isTrue);
+ });
+ test('test_ignoreFile', () {
+ var filter = new PathFilter('/', ['apple']);
+ expect(filter.ignored('apple'), isTrue);
+ expect(filter.ignored('banana'), isFalse);
+ });
+ test('test_ignoreMultipleFiles', () {
+ var filter = new PathFilter('/', ['apple', 'banana']);
+ expect(filter.ignored('apple'), isTrue);
+ expect(filter.ignored('banana'), isTrue);
+ });
+ test('test_ignoreSubDir', () {
+ var filter = new PathFilter('/', ['apple/*']);
+ expect(filter.ignored('apple/banana'), isTrue);
+ expect(filter.ignored('apple/banana/cantaloupe'), isFalse);
+ });
+ test('test_ignoreTree', () {
+ var filter = new PathFilter('/', ['apple/**']);
+ expect(filter.ignored('apple/banana'), isTrue);
+ expect(filter.ignored('apple/banana/cantaloupe'), isTrue);
+ });
+ test('test_ignoreSdkExt', () {
+ var filter = new PathFilter('/', ['sdk_ext/**']);
+ expect(filter.ignored('sdk_ext/entry.dart'), isTrue);
+ expect(filter.ignored('sdk_ext/lib/src/part.dart'), isTrue);
+ });
+ test('test_outsideRoot', () {
+ var filter = new PathFilter('/workspace/dart/sdk', ['sdk_ext/**']);
+ expect(filter.ignored('/'), isTrue);
+ expect(filter.ignored('/workspace'), isTrue);
+ expect(filter.ignored('/workspace/dart'), isTrue);
+ expect(filter.ignored('/workspace/dart/sdk'), isFalse);
+ expect(filter.ignored('/workspace/dart/../dart/sdk'), isFalse);
+ });
+ test('test_relativePaths', () {
+ var filter = new PathFilter('/workspace/dart/sdk', ['sdk_ext/**']);
+ expect(filter.ignored('../apple'), isTrue);
+ expect(filter.ignored('../sdk/main.dart'), isFalse);
+ expect(filter.ignored('../sdk/sdk_ext/entry.dart'), isTrue);
+ });
+ });
+}
diff --git a/pkg/analyzer/test/source/test_all.dart b/pkg/analyzer/test/source/test_all.dart
index b8c09bf..8530b7b4 100644
--- a/pkg/analyzer/test/source/test_all.dart
+++ b/pkg/analyzer/test/source/test_all.dart
@@ -6,16 +6,21 @@
import 'package:unittest/unittest.dart';
+import 'analysis_options_provider_test.dart' as analysis_options_provider_test;
import 'package_map_provider_test.dart' as package_map_provider_test;
import 'package_map_resolver_test.dart' as package_map_resolver_test;
+import 'path_filter_test.dart' as path_filter_test;
import 'sdk_ext_test.dart' as sdk_ext_test;
+
/// Utility for manually running all tests.
main() {
groupSep = ' | ';
group('source', () {
+ analysis_options_provider_test.main();
package_map_provider_test.main();
package_map_resolver_test.main();
sdk_ext_test.main();
+ path_filter_test.main();
});
}
diff --git a/pkg/analyzer/test/src/context/cache_test.dart b/pkg/analyzer/test/src/context/cache_test.dart
index c6d9254..d5a31c4 100644
--- a/pkg/analyzer/test/src/context/cache_test.dart
+++ b/pkg/analyzer/test/src/context/cache_test.dart
@@ -176,7 +176,7 @@
expect(entry2.getValue(result2), 222);
expect(entry3.getValue(result3), 333);
// remove entry1, invalidate result2 and remove empty entry2
- cache.remove(target1);
+ expect(cache.remove(target1), entry1);
expect(cache.get(target1), isNull);
expect(cache.get(target2), isNull);
expect(cache.get(target3), entry3);
@@ -197,7 +197,7 @@
expect(entry.getValue(result1), 111);
expect(entry.getValue(result2), 222);
// remove target, invalidate result2
- cache.remove(target);
+ expect(cache.remove(target), entry);
expect(cache.get(target), isNull);
expect(entry.getState(result2), CacheState.INVALID);
}
@@ -945,13 +945,21 @@
expect(partition.get(target), entry);
}
- void test_remove() {
+ void test_remove_absent() {
+ CachePartition partition = createPartition();
+ AnalysisTarget target = new TestSource();
+ expect(partition.get(target), isNull);
+ expect(partition.remove(target), isNull);
+ expect(partition.get(target), isNull);
+ }
+
+ void test_remove_present() {
CachePartition partition = createPartition();
AnalysisTarget target = new TestSource();
CacheEntry entry = new CacheEntry(target);
partition.put(entry);
expect(partition.get(target), entry);
- partition.remove(target);
+ expect(partition.remove(target), entry);
expect(partition.get(target), isNull);
}
}
@@ -1004,6 +1012,12 @@
return new UniversalCachePartition(null);
}
+ void test_contains() {
+ UniversalCachePartition partition = new UniversalCachePartition(null);
+ TestSource source = new TestSource();
+ expect(partition.isResponsibleFor(source), isTrue);
+ }
+
test_dispose() {
InternalAnalysisContext context = new _InternalAnalysisContextMock();
CachePartition partition1 = new UniversalCachePartition(context);
@@ -1034,12 +1048,6 @@
// result2 is removed from result1
expect(entry1.getResultData(descriptor1).dependentResults, isEmpty);
}
-
- void test_contains() {
- UniversalCachePartition partition = new UniversalCachePartition(null);
- TestSource source = new TestSource();
- expect(partition.isResponsibleFor(source), isTrue);
- }
}
class _InternalAnalysisContextMock extends TypedMock
diff --git a/pkg/analyzer/test/src/context/context_test.dart b/pkg/analyzer/test/src/context/context_test.dart
index 7bc47ba..908f08e 100644
--- a/pkg/analyzer/test/src/context/context_test.dart
+++ b/pkg/analyzer/test/src/context/context_test.dart
@@ -55,6 +55,32 @@
@reflectiveTest
class AnalysisContextImplTest extends AbstractContextTest {
+ Future fail_implicitAnalysisEvents_removed() async {
+ AnalyzedSourcesListener listener = new AnalyzedSourcesListener();
+ context.implicitAnalysisEvents.listen(listener.onData);
+ //
+ // Create a file that references an file that is not explicitly being
+ // analyzed and fully analyze it. Ensure that the listener is told about
+ // the implicitly analyzed file.
+ //
+ Source sourceA = newSource('/a.dart', "library a; import 'b.dart';");
+ Source sourceB = newSource('/b.dart', "library b;");
+ ChangeSet changeSet = new ChangeSet();
+ changeSet.addedSource(sourceA);
+ context.applyChanges(changeSet);
+ context.computeErrors(sourceA);
+ await pumpEventQueue();
+ listener.expectAnalyzed(sourceB);
+ //
+ // Remove the reference and ensure that the listener is told that we're no
+ // longer implicitly analyzing the file.
+ //
+ context.setContents(sourceA, "library a;");
+ context.computeErrors(sourceA);
+ await pumpEventQueue();
+ listener.expectNotAnalyzed(sourceB);
+ }
+
void fail_performAnalysisTask_importedLibraryDelete_html() {
// NOTE: This was failing before converting to the new task model.
Source htmlSource = addSource("/page.html", r'''
@@ -1206,6 +1232,24 @@
expect(analysisResult.changeNotices, isNotNull);
}
+ Future test_implicitAnalysisEvents_added() async {
+ AnalyzedSourcesListener listener = new AnalyzedSourcesListener();
+ context.implicitAnalysisEvents.listen(listener.onData);
+ //
+ // Create a file that references an file that is not explicitly being
+ // analyzed and fully analyze it. Ensure that the listener is told about
+ // the implicitly analyzed file.
+ //
+ Source sourceA = newSource('/a.dart', "library a; import 'b.dart';");
+ Source sourceB = newSource('/b.dart', "library b;");
+ ChangeSet changeSet = new ChangeSet();
+ changeSet.addedSource(sourceA);
+ context.applyChanges(changeSet);
+ context.computeErrors(sourceA);
+ await pumpEventQueue();
+ listener.expectAnalyzed(sourceB);
+ }
+
void test_isClientLibrary_dart() {
Source source = addSource("/test.dart", r'''
import 'dart:html';
diff --git a/pkg/compiler/lib/compiler.dart b/pkg/compiler/lib/compiler.dart
index 710ad44..763dc4a 100644
--- a/pkg/compiler/lib/compiler.dart
+++ b/pkg/compiler/lib/compiler.dart
@@ -6,7 +6,8 @@
import 'dart:async';
import 'package:package_config/packages.dart';
-import 'src/apiimpl.dart';
+import 'compiler_new.dart' as new_api;
+import 'src/old_to_new_api.dart';
// Unless explicitly allowed, passing [:null:] for any argument to the
// methods of library will result in an Error being thrown.
@@ -113,25 +114,26 @@
Map<String, dynamic> environment = const {},
Uri packageConfig,
PackagesDiscoveryProvider packagesDiscoveryProvider]) {
- if (!libraryRoot.path.endsWith("/")) {
- throw new ArgumentError("libraryRoot must end with a /");
- }
- if (packageRoot != null && !packageRoot.path.endsWith("/")) {
- throw new ArgumentError("packageRoot must end with a /");
- }
- // TODO(ahe): Consider completing the future with an exception if
- // code is null.
- Compiler compiler = new Compiler(inputProvider,
- outputProvider,
- handler,
- libraryRoot,
- packageRoot,
- options,
- environment,
- packageConfig,
- packagesDiscoveryProvider);
- return compiler.run(script).then((bool success) {
- return new CompilationResult(compiler, isSuccess: success);
+
+ new_api.CompilerOptions compilerOptions = new new_api.CompilerOptions(
+ entryPoint: script,
+ libraryRoot: libraryRoot,
+ packageRoot: packageRoot,
+ packageConfig: packageConfig,
+ packagesDiscoveryProvider: packagesDiscoveryProvider,
+ options: options,
+ environment: environment);
+
+ new_api.CompilerInput compilerInput = new LegacyCompilerInput(inputProvider);
+ new_api.CompilerDiagnostics compilerDiagnostics =
+ new LegacyCompilerDiagnostics(handler);
+ new_api.CompilerOutput compilerOutput =
+ new LegacyCompilerOutput(outputProvider);
+
+ return new_api.compile(compilerOptions, compilerInput,
+ compilerDiagnostics, compilerOutput)
+ .then((new_api.CompilationResult result) {
+ return new CompilationResult(result.compiler, isSuccess: result.isSuccess);
});
}
diff --git a/pkg/compiler/lib/compiler_new.dart b/pkg/compiler/lib/compiler_new.dart
new file mode 100644
index 0000000..3ec05ec
--- /dev/null
+++ b/pkg/compiler/lib/compiler_new.dart
@@ -0,0 +1,179 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/// New Compiler API. This API is under construction, use only internally or
+/// in unittests.
+
+library compiler_new;
+
+import 'dart:async';
+import 'src/apiimpl.dart';
+import 'compiler.dart' show Diagnostic, PackagesDiscoveryProvider;
+export 'compiler.dart' show Diagnostic, PackagesDiscoveryProvider;
+
+// Unless explicitly allowed, passing `null` for any argument to the
+// methods of library will result in an Error being thrown.
+
+/// Interface for providing the compiler with input. That is, Dart source files,
+/// package config files, etc.
+abstract class CompilerInput {
+ /// Returns a future that completes to the source corresponding to [uri].
+ /// If an exception occurs, the future completes with this exception.
+ ///
+ /// The source can be represented either as a [:List<int>:] of UTF-8 bytes or
+ /// as a [String].
+ ///
+ /// The following text is non-normative:
+ ///
+ /// It is recommended to return a UTF-8 encoded list of bytes because the
+ /// scanner is more efficient in this case. In either case, the data structure
+ /// is expected to hold a zero element at the last position. If this is not
+ /// the case, the entire data structure is copied before scanning.
+ Future/*<String | List<int>>*/ readFromUri(Uri uri);
+}
+
+/// Interface for producing output from the compiler. That is, JavaScript target
+/// files, source map files, dump info files, etc.
+abstract class CompilerOutput {
+ /// Returns an [EventSink] that will serve as compiler output for the given
+ /// component.
+ ///
+ /// Components are identified by [name] and [extension]. By convention,
+ /// the empty string [:"":] will represent the main script
+ /// (corresponding to the script parameter of [compile]) even if the
+ /// main script is a library. For libraries that are compiled
+ /// separately, the library name is used.
+ ///
+ /// At least the following extensions can be expected:
+ ///
+ /// * "js" for JavaScript output.
+ /// * "js.map" for source maps.
+ /// * "dart" for Dart output.
+ /// * "dart.map" for source maps.
+ ///
+ /// As more features are added to the compiler, new names and
+ /// extensions may be introduced.
+ EventSink<String> createEventSink(String name, String extension);
+}
+
+/// Interface for receiving diagnostic message from the compiler. That is,
+/// errors, warnings, hints, etc.
+abstract class CompilerDiagnostics {
+ /// Invoked by the compiler to report diagnostics. If [uri] is `null`, so are
+ /// [begin] and [end]. No other arguments may be `null`. If [uri] is not
+ /// `null`, neither are [begin] and [end]. [uri] indicates the compilation
+ /// unit from where the diagnostic originates. [begin] and [end] are
+ /// zero-based character offsets from the beginning of the compilation unit.
+ /// [message] is the diagnostic message, and [kind] indicates indicates what
+ /// kind of diagnostic it is.
+ void report(Uri uri, int begin, int end, String message, Diagnostic kind);
+}
+
+/// Information resulting from the compilation.
+class CompilationResult {
+ /// `true` if the compilation succeeded, that is, compilation didn't fail due
+ /// to compile-time errors and/or internal errors.
+ final bool isSuccess;
+
+ /// The compiler object used for the compilation.
+ ///
+ /// Note: The type of [compiler] is implementation dependent and may vary.
+ /// Use only for debugging and testing.
+ final compiler;
+
+ CompilationResult(this.compiler, {this.isSuccess: true});
+}
+
+/// Object for passing options to the compiler.
+class CompilerOptions {
+ final Uri entryPoint;
+ final Uri libraryRoot;
+ final Uri packageRoot;
+ final Uri packageConfig;
+ final PackagesDiscoveryProvider packagesDiscoveryProvider;
+ final List<String> options;
+ final Map<String, dynamic> environment;
+
+ /// Creates an option object for the compiler.
+ // TODO(johnniwinther): Expand comment when [options] are explicit as named
+ // arguments.
+ factory CompilerOptions(
+ {Uri entryPoint,
+ Uri libraryRoot,
+ Uri packageRoot,
+ Uri packageConfig,
+ PackagesDiscoveryProvider packagesDiscoveryProvider,
+ List<String> options: const <String>[],
+ Map<String, dynamic> environment: const <String, dynamic>{}}) {
+ if (entryPoint == null) {
+ throw new ArgumentError("entryPoint must be non-null");
+ }
+ if (!libraryRoot.path.endsWith("/")) {
+ throw new ArgumentError("libraryRoot must end with a /");
+ }
+ if (packageRoot != null && !packageRoot.path.endsWith("/")) {
+ throw new ArgumentError("packageRoot must end with a /");
+ }
+ return new CompilerOptions._(
+ entryPoint,
+ libraryRoot,
+ packageRoot,
+ packageConfig,
+ packagesDiscoveryProvider,
+ options,
+ environment);
+ }
+
+ CompilerOptions._(
+ this.entryPoint,
+ this.libraryRoot,
+ this.packageRoot,
+ this.packageConfig,
+ this.packagesDiscoveryProvider,
+ this.options,
+ this.environment);
+}
+
+/// Returns a future that completes to a [CompilationResult] when the Dart
+/// sources in [options] have been compiled.
+///
+/// The generated compiler output is obtained by providing a [compilerOutput].
+///
+/// If the compilation fails, the future's `CompilationResult.isSuccess` is
+/// `false` and [CompilerDiagnostics.report] on [compilerDiagnostics]
+/// is invoked at least once with `kind == Diagnostic.ERROR` or
+/// `kind == Diagnostic.CRASH`.
+Future<CompilationResult> compile(
+ CompilerOptions compilerOptions,
+ CompilerInput compilerInput,
+ CompilerDiagnostics compilerDiagnostics,
+ CompilerOutput compilerOutput) {
+
+ if (compilerOptions == null) {
+ throw new ArgumentError("compilerOptions must be non-null");
+ }
+ if (compilerInput == null) {
+ throw new ArgumentError("compilerInput must be non-null");
+ }
+ if (compilerDiagnostics == null) {
+ throw new ArgumentError("compilerDiagnostics must be non-null");
+ }
+ if (compilerOutput == null) {
+ throw new ArgumentError("compilerOutput must be non-null");
+ }
+
+ Compiler compiler = new Compiler(
+ compilerInput,
+ compilerOutput,
+ compilerDiagnostics,
+ compilerOptions.libraryRoot,
+ compilerOptions.packageRoot,
+ compilerOptions.options,
+ compilerOptions.environment,
+ compilerOptions.packageConfig,
+ compilerOptions.packagesDiscoveryProvider);
+ return compiler.run(compilerOptions.entryPoint).then((bool success) {
+ return new CompilationResult(compiler, isSuccess: success);
+ });
+}
diff --git a/pkg/compiler/lib/src/apiimpl.dart b/pkg/compiler/lib/src/apiimpl.dart
index c65cbc5..cac25b1 100644
--- a/pkg/compiler/lib/src/apiimpl.dart
+++ b/pkg/compiler/lib/src/apiimpl.dart
@@ -7,7 +7,7 @@
import 'dart:async';
import 'dart:convert';
-import '../compiler.dart' as api;
+import '../compiler_new.dart' as api;
import 'dart2jslib.dart' as leg;
import 'tree/tree.dart' as tree;
import 'elements/elements.dart' as elements;
@@ -24,8 +24,8 @@
const bool.fromEnvironment('DART2JS_EXPERIMENTAL_INCREMENTAL_SUPPORT');
class Compiler extends leg.Compiler {
- api.CompilerInputProvider provider;
- api.DiagnosticHandler handler;
+ api.CompilerInput provider;
+ api.CompilerDiagnostics handler;
final Uri libraryRoot;
final Uri packageConfig;
final Uri packageRoot;
@@ -41,7 +41,7 @@
leg.GenericTask userPackagesDiscoveryTask;
Compiler(this.provider,
- api.CompilerOutputProvider outputProvider,
+ api.CompilerOutput outputProvider,
this.handler,
this.libraryRoot,
this.packageRoot,
@@ -196,7 +196,7 @@
}
void log(message) {
- handler(null, null, null, message, api.Diagnostic.VERBOSE_INFO);
+ callUserHandler(null, null, null, message, api.Diagnostic.VERBOSE_INFO);
}
/// See [leg.Compiler.translateResolvedUri].
@@ -373,7 +373,7 @@
// and we can't depend on 'dart:io' classes.
packages = new NonFilePackagesDirectoryPackages(packageRoot);
} else if (packageConfig != null) {
- return provider(packageConfig).then((packageConfigContents) {
+ return callUserProvider(packageConfig).then((packageConfigContents) {
if (packageConfigContents is String) {
packageConfigContents = UTF8.encode(packageConfigContents);
}
@@ -442,7 +442,7 @@
String message, api.Diagnostic kind) {
try {
userHandlerTask.measure(() {
- handler(uri, begin, end, message, kind);
+ handler.report(uri, begin, end, message, kind);
});
} catch (ex, s) {
diagnoseCrashInUserCode(
@@ -453,7 +453,7 @@
Future callUserProvider(Uri uri) {
try {
- return userProviderTask.measure(() => provider(uri));
+ return userProviderTask.measure(() => provider.readFromUri(uri));
} catch (ex, s) {
diagnoseCrashInUserCode('Uncaught exception in input provider', ex, s);
rethrow;
diff --git a/pkg/compiler/lib/src/compiler.dart b/pkg/compiler/lib/src/compiler.dart
index 0cc5a67..d35e501 100644
--- a/pkg/compiler/lib/src/compiler.dart
+++ b/pkg/compiler/lib/src/compiler.dart
@@ -255,6 +255,9 @@
Backend(this.compiler);
+ /// Returns true if the backend supports reflection.
+ bool get supportsReflection;
+
/// The [ConstantSystem] used to interpret compile-time constants for this
/// backend.
ConstantSystem get constantSystem;
@@ -792,7 +795,7 @@
final bool allowNativeExtensions;
/// Output provider from user of Compiler API.
- api.CompilerOutputProvider userOutputProvider;
+ api.CompilerOutput userOutputProvider;
/// Generate output even when there are compile-time errors.
final bool generateCodeWithCompileTimeErrors;
@@ -1061,7 +1064,7 @@
this.allowNativeExtensions: false,
this.generateCodeWithCompileTimeErrors: false,
this.testMode: false,
- api.CompilerOutputProvider outputProvider,
+ api.CompilerOutput outputProvider,
List<String> strips: const []})
: this.disableTypeInferenceFlag =
disableTypeInferenceFlag || !emitJavaScript,
@@ -1071,9 +1074,8 @@
this.analyzeAllFlag = analyzeAllFlag,
this.hasIncrementalSupport = hasIncrementalSupport,
cacheStrategy = new CacheStrategy(hasIncrementalSupport),
- this.userOutputProvider = (outputProvider == null)
- ? NullSink.outputProvider
- : outputProvider {
+ this.userOutputProvider = outputProvider == null
+ ? const NullCompilerOutput() : outputProvider {
if (hasIncrementalSupport) {
// TODO(ahe): This is too much. Any method from platform and package
// libraries can be inlined.
@@ -1370,9 +1372,9 @@
return true;
});
- if (const bool.fromEnvironment("dart2js.use.new.emitter")) {
+ if (!backend.supportsReflection) {
reportError(NO_LOCATION_SPANNABLE,
- MessageKind.MIRRORS_LIBRARY_NEW_EMITTER);
+ MessageKind.MIRRORS_LIBRARY_NOT_SUPPORT_BY_BACKEND);
} else {
reportWarning(NO_LOCATION_SPANNABLE,
MessageKind.IMPORT_EXPERIMENTAL_MIRRORS,
@@ -2170,7 +2172,7 @@
return new NullSink('$name.$extension');
}
}
- return userOutputProvider(name, extension);
+ return userOutputProvider.createEventSink(name, extension);
}
}
@@ -2304,26 +2306,6 @@
/// Returns `true` when [s] is public if used as an identifier.
bool isPublicName(String s) => !isPrivateName(s);
-/// A sink that drains into /dev/null.
-class NullSink implements EventSink<String> {
- final String name;
-
- NullSink(this.name);
-
- add(String value) {}
-
- void addError(Object error, [StackTrace stackTrace]) {}
-
- void close() {}
-
- toString() => name;
-
- /// Convenience method for getting an [api.CompilerOutputProvider].
- static NullSink outputProvider(String name, String extension) {
- return new NullSink('$name.$extension');
- }
-}
-
/// Information about suppressed warnings and hints for a given library.
class SuppressionInfo {
int warnings = 0;
diff --git a/pkg/compiler/lib/src/cps_ir/cps_fragment.dart b/pkg/compiler/lib/src/cps_ir/cps_fragment.dart
index 6eda707..db1ea0b 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_fragment.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_fragment.dart
@@ -273,14 +273,12 @@
/// Reads the value of the given mutable variable.
Primitive getMutable(MutableVariable variable) {
- return letPrim(new GetMutableVariable(variable));
+ return letPrim(new GetMutable(variable));
}
/// Sets the value of the given mutable variable.
void setMutable(MutableVariable variable, Primitive value) {
- SetMutableVariable setter = new SetMutableVariable(variable, value);
- put(setter);
- context = setter;
+ letPrim(new SetMutable(variable, value));
}
/// Declare a new mutable variable.
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
index cca5f7b..7117c80 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder.dart
@@ -193,7 +193,7 @@
}
/// True if a jump inserted now will escape from a try block.
- ///
+ ///
/// Concretely, this is true when [enterTry] has been called without
/// its corresponding [leaveTry] call.
bool get isEscapingTry => _boxedTryVariables.isNotEmpty;
@@ -546,7 +546,8 @@
/// Creates a [ir.MutableVariable] for the given local.
void makeMutableVariable(Local local) {
- mutableVariables[local] = new ir.MutableVariable(local);
+ mutableVariables[local] =
+ new ir.MutableVariable(local);
}
/// Remove an [ir.MutableVariable] for a local.
@@ -1013,7 +1014,7 @@
ir.Primitive buildStaticFieldSet(FieldElement field,
ir.Primitive value,
[SourceInformation sourceInformation]) {
- add(new ir.SetStatic(field, value, sourceInformation));
+ addPrimitive(new ir.SetStatic(field, value, sourceInformation));
return value;
}
@@ -2290,9 +2291,10 @@
state.functionParameters.add(parameter);
ClosureLocation location = state.boxedVariables[parameterElement];
if (location != null) {
- add(new ir.SetField(environment.lookup(location.box),
- location.field,
- parameter));
+ addPrimitive(new ir.SetField(
+ environment.lookup(location.box),
+ location.field,
+ parameter));
} else {
environment.extend(parameterElement, parameter);
}
@@ -2314,12 +2316,14 @@
}
ClosureLocation location = state.boxedVariables[variableElement];
if (location != null) {
- add(new ir.SetField(environment.lookup(location.box),
- location.field,
- initialValue));
+ addPrimitive(new ir.SetField(
+ environment.lookup(location.box),
+ location.field,
+ initialValue));
} else if (isInMutableVariable(variableElement)) {
- add(new ir.LetMutable(getMutableVariable(variableElement),
- initialValue));
+ add(new ir.LetMutable(
+ getMutableVariable(variableElement),
+ initialValue));
} else {
initialValue.useElementAsHint(variableElement);
environment.extend(variableElement, initialValue);
@@ -2360,7 +2364,7 @@
result.useElementAsHint(local);
return addPrimitive(result);
} else if (isInMutableVariable(local)) {
- return addPrimitive(new ir.GetMutableVariable(getMutableVariable(local)));
+ return addPrimitive(new ir.GetMutable(getMutableVariable(local)));
} else {
return environment.lookup(local);
}
@@ -2372,11 +2376,13 @@
assert(isOpen);
ClosureLocation location = state.boxedVariables[local];
if (location != null) {
- add(new ir.SetField(environment.lookup(location.box),
- location.field,
- value));
+ addPrimitive(new ir.SetField(
+ environment.lookup(location.box),
+ location.field,
+ value));
} else if (isInMutableVariable(local)) {
- add(new ir.SetMutableVariable(getMutableVariable(local), value));
+ addPrimitive(new ir.SetMutable(
+ getMutableVariable(local), value));
} else {
value.useElementAsHint(local);
environment.update(local, value);
@@ -2420,7 +2426,7 @@
for (VariableElement loopVar in scope.boxedLoopVariables) {
ClosureLocation location = scope.capturedVariables[loopVar];
ir.Primitive value = addPrimitive(new ir.GetField(box, location.field));
- add(new ir.SetField(newBox, location.field, value));
+ addPrimitive(new ir.SetField(newBox, location.field, value));
}
environment.update(scope.box, newBox);
}
@@ -2439,10 +2445,10 @@
return addPrimitive(new ir.GetField(receiver, target));
}
- void buildFieldSet(ir.Primitive receiver,
- FieldElement target,
+ void buildFieldSet(ir.Primitive receiver,
+ FieldElement target,
ir.Primitive value) {
- add(new ir.SetField(receiver, target, value));
+ addPrimitive(new ir.SetField(receiver, target, value));
}
ir.Primitive buildSuperFieldGet(FieldElement target) {
@@ -2450,7 +2456,7 @@
}
ir.Primitive buildSuperFieldSet(FieldElement target, ir.Primitive value) {
- add(new ir.SetField(buildThis(), target, value));
+ addPrimitive(new ir.SetField(buildThis(), target, value));
return value;
}
@@ -2581,21 +2587,19 @@
NativeBehavior behavior,
{Element dependency}) {
types.TypeMask type = program.getTypeMaskForForeign(behavior);
- if (codeTemplate.isExpression) {
- return _continueWithExpression((k) => new ir.ForeignCode(
+ ir.Primitive result = _continueWithExpression((k) => new ir.ForeignCode(
codeTemplate,
type,
arguments,
behavior,
- continuation: k,
+ k,
dependency: dependency));
- } else {
- assert(isOpen);
- add(new ir.ForeignCode(codeTemplate, type, arguments, behavior,
- dependency: dependency));
+ if (!codeTemplate.isExpression) {
+ // Close the term if this is a "throw" expression.
+ add(new ir.Unreachable());
_current = null;
- return null;
}
+ return result;
}
/// Creates a type test or type cast of [value] against [type].
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
index 2c4fa8e..2ce1b01 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart
@@ -612,6 +612,11 @@
}
}
+ @override
+ void previsitDeferredAccess(ast.Send node, PrefixElement prefix, _) {
+ giveup(node, 'deferred access is not implemented');
+ }
+
ir.Primitive visitNamedArgument(ast.NamedArgument node) {
assert(irBuilder.isOpen);
return visit(node.expression);
@@ -3207,7 +3212,7 @@
}
return irBuilder.buildForeignCode(
js.js.expressionTemplateYielding(
- backend.emitter.staticFunctionAccess(function)),
+ backend.emitter.staticFunctionAccess(closure)),
<ir.Primitive>[],
NativeBehavior.PURE,
dependency: closure);
@@ -3309,6 +3314,16 @@
const <ir.Primitive>[],
NativeBehavior.PURE);
+ case 'JS_SET_STATIC_STATE':
+ validateArgumentCount(exactly: 1);
+
+ ir.Primitive value = visit(argumentNodes.single);
+ String isolateName = backend.namer.staticStateHolder;
+ return irBuilder.buildForeignCode(
+ js.js.parseForeignJS("$isolateName = #"),
+ <ir.Primitive>[value],
+ NativeBehavior.PURE);
+
case 'JS_CALL_IN_ISOLATE':
validateArgumentCount(exactly: 2);
@@ -3384,18 +3399,6 @@
node.body = replacementFor(node.body);
}
- processSetMutableVariable(ir.SetMutableVariable node) {
- node.body = replacementFor(node.body);
- }
-
- processSetField(ir.SetField node) {
- node.body = replacementFor(node.body);
- }
-
- processSetStatic(ir.SetStatic node) {
- node.body = replacementFor(node.body);
- }
-
processContinuation(ir.Continuation node) {
node.body = replacementFor(node.body);
}
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
index 8c5bf34..98d9a35 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes.dart
@@ -36,10 +36,55 @@
/// invoke a [Continuation] with the result as argument. Alternatively, values
/// that can be obtained without side-effects, divergence, or throwing
/// exceptions can be built using a [LetPrim].
+///
+/// All subclasses implement exactly one of [CallExpression],
+/// [InteriorExpression], or [TailExpression].
abstract class Expression extends Node {
InteriorNode get parent; // Only InteriorNodes may contain expressions.
Expression plug(Expression expr) => throw 'impossible';
+
+ /// The next expression in the basic block.
+ ///
+ /// For [InteriorExpression]s this is the body, for [CallExpressions] it is
+ /// the body of the continuation, and for [TailExpressions] it is `null`.
+ Expression get next;
+}
+
+/// Represents a node with a child node, which can be accessed through the
+/// `body` member. A typical usage is when removing a node from the CPS graph:
+///
+/// Node child = node.body;
+/// InteriorNode parent = node.parent;
+///
+/// child.parent = parent;
+/// parent.body = child;
+abstract class InteriorNode extends Node {
+ Expression get body;
+ void set body(Expression body);
+}
+
+/// An expression that creates new bindings and continues evaluation in
+/// a subexpression.
+///
+/// The interior expressions are [LetPrim], [LetCont], [LetHandler], and
+/// [LetMutable].
+abstract class InteriorExpression extends Expression implements InteriorNode {
+ Expression get next => body;
+}
+
+/// An expression that passes a continuation to a call.
+abstract class CallExpression extends Expression {
+ Reference<Continuation> get continuation;
+ Expression get next => continuation.definition.body;
+}
+
+/// An expression without a continuation or a subexpression body.
+///
+/// These break straight-line control flow and can be throught of as ending a
+/// basic block.
+abstract class TailExpression extends Expression {
+ Expression get next => null;
}
/// The base class of things that variables can refer to: primitives,
@@ -147,7 +192,7 @@
///
/// During one-pass construction a LetPrim with an empty body is used to
/// represent the one-hole context `let val x = V in []`.
-class LetPrim extends Expression implements InteriorNode {
+class LetPrim extends InteriorExpression {
Primitive primitive;
Expression body;
@@ -175,7 +220,7 @@
/// During one-pass construction a LetCont whose first continuation has an empty
/// body is used to represent the one-hole context
/// `let cont ... k(v) = [] ... in E`.
-class LetCont extends Expression implements InteriorNode {
+class LetCont extends InteriorExpression {
List<Continuation> continuations;
Expression body;
@@ -206,7 +251,7 @@
// [LetHandler] differs from a [LetCont] binding in that it (1) has the
// runtime semantics of pushing/popping a handler from the dynamic exception
// handler stack and (2) it does not have any explicit invocations.
-class LetHandler extends Expression implements InteriorNode {
+class LetHandler extends InteriorExpression {
Continuation handler;
Expression body;
@@ -224,7 +269,7 @@
/// to prevent unrestricted use of references to them. During one-pass
/// construction, a [LetMutable] with an empty body is use to represent the
/// one-hole context 'let mutable v = P in []'.
-class LetMutable extends Expression implements InteriorNode {
+class LetMutable extends InteriorExpression {
final MutableVariable variable;
final Reference<Primitive> value;
Expression body;
@@ -239,25 +284,6 @@
accept(Visitor visitor) => visitor.visitLetMutable(this);
}
-abstract class Invoke implements Expression {
- Selector get selector;
- List<Reference<Primitive>> get arguments;
- Reference<Continuation> get continuation;
-}
-
-/// Represents a node with a child node, which can be accessed through the
-/// `body` member. A typical usage is when removing a node from the CPS graph:
-///
-/// Node child = node.body;
-/// InteriorNode parent = node.parent;
-///
-/// child.parent = parent;
-/// parent.body = child;
-abstract class InteriorNode extends Node {
- Expression get body;
- void set body(Expression body);
-}
-
/// Invoke a static function.
///
/// All optional arguments declared by [target] are passed in explicitly, and
@@ -266,7 +292,7 @@
/// Discussion:
/// All information in the [selector] is technically redundant; it will likely
/// be removed.
-class InvokeStatic extends Expression implements Invoke {
+class InvokeStatic extends CallExpression {
final FunctionElement target;
final Selector selector;
final List<Reference<Primitive>> arguments;
@@ -299,7 +325,7 @@
///
/// The [selector] records the names of named arguments. The value of named
/// arguments occur at the end of the [arguments] list, in normalized order.
-class InvokeMethod extends Expression implements Invoke {
+class InvokeMethod extends CallExpression {
Reference<Primitive> receiver;
Selector selector;
TypeMask mask;
@@ -349,7 +375,7 @@
///
/// All optional arguments declared by [target] are passed in explicitly, and
/// occur at the end of [arguments] list, in normalized order.
-class InvokeMethodDirectly extends Expression implements Invoke {
+class InvokeMethodDirectly extends CallExpression {
Reference<Primitive> receiver;
final FunctionElement target;
final Selector selector;
@@ -385,7 +411,7 @@
///
/// Note that [InvokeConstructor] does it itself allocate an object.
/// The invoked constructor will do that using [CreateInstance].
-class InvokeConstructor extends Expression implements Invoke {
+class InvokeConstructor extends CallExpression {
final DartType type;
final ConstructorElement target;
final List<Reference<Primitive>> arguments;
@@ -451,7 +477,7 @@
/// [value], which is typically in scope in the continuation. However, it might
/// simplify type propagation, since a better type can be computed for the
/// continuation parameter without needing flow-sensitive analysis.
-class TypeCast extends Expression {
+class TypeCast extends CallExpression {
Reference<Primitive> value;
final DartType type;
@@ -490,7 +516,7 @@
///
/// Throw is an expression, i.e., it always occurs in tail position with
/// respect to a body or expression.
-class Throw extends Expression {
+class Throw extends TailExpression {
Reference<Primitive> value;
Throw(Primitive value) : value = new Reference<Primitive>(value);
@@ -503,7 +529,7 @@
/// Rethrow can only occur inside a continuation bound by [LetHandler]. It
/// implicitly throws the exception parameter of the enclosing handler with
/// the same stack trace as the enclosing handler.
-class Rethrow extends Expression {
+class Rethrow extends TailExpression {
accept(Visitor visitor) => visitor.visitRethrow(this);
}
@@ -528,24 +554,24 @@
///
/// This can be placed as the body of a call continuation, when the caller is
/// known never to invoke it, e.g. because the calling expression always throws.
-class Unreachable extends Expression {
+class Unreachable extends TailExpression {
accept(Visitor visitor) => visitor.visitUnreachable(this);
}
/// Gets the value from a [MutableVariable].
///
/// [MutableVariable]s can be seen as ref cells that are not first-class
-/// values. A [LetPrim] with a [GetMutableVariable] can then be seen as:
+/// values. A [LetPrim] with a [GetMutable] can then be seen as:
///
/// let prim p = ![variable] in [body]
///
-class GetMutableVariable extends Primitive {
+class GetMutable extends Primitive {
final Reference<MutableVariable> variable;
- GetMutableVariable(MutableVariable variable)
+ GetMutable(MutableVariable variable)
: this.variable = new Reference<MutableVariable>(variable);
- accept(Visitor visitor) => visitor.visitGetMutableVariable(this);
+ accept(Visitor visitor) => visitor.visitGetMutable(this);
bool get isSafeForElimination => true;
bool get isSafeForReordering => false;
@@ -557,25 +583,22 @@
/// values. This can be seen as a dereferencing assignment:
///
/// { [variable] := [value]; [body] }
-class SetMutableVariable extends Expression implements InteriorNode {
+class SetMutable extends Primitive {
final Reference<MutableVariable> variable;
final Reference<Primitive> value;
- Expression body;
- SetMutableVariable(MutableVariable variable, Primitive value)
+ SetMutable(MutableVariable variable, Primitive value)
: this.variable = new Reference<MutableVariable>(variable),
this.value = new Reference<Primitive>(value);
- accept(Visitor visitor) => visitor.visitSetMutableVariable(this);
+ accept(Visitor visitor) => visitor.visitSetMutable(this);
- Expression plug(Expression expr) {
- assert(body == null);
- return body = expr;
- }
+ bool get isSafeForElimination => false;
+ bool get isSafeForReordering => false;
}
/// Invoke a continuation in tail position.
-class InvokeContinuation extends Expression {
+class InvokeContinuation extends TailExpression {
Reference<Continuation> continuation;
List<Reference<Primitive>> arguments;
SourceInformation sourceInformation;
@@ -627,7 +650,7 @@
/// Choose between a pair of continuations based on a condition value.
///
/// The two continuations must not declare any parameters.
-class Branch extends Expression {
+class Branch extends TailExpression {
final Condition condition;
final Reference<Continuation> trueContinuation;
final Reference<Continuation> falseContinuation;
@@ -640,22 +663,19 @@
}
/// Directly assigns to a field on a given object.
-class SetField extends Expression implements InteriorNode {
+class SetField extends Primitive {
final Reference<Primitive> object;
FieldElement field;
final Reference<Primitive> value;
- Expression body;
SetField(Primitive object, this.field, Primitive value)
: this.object = new Reference<Primitive>(object),
this.value = new Reference<Primitive>(value);
- Expression plug(Expression expr) {
- assert(body == null);
- return body = expr;
- }
-
accept(Visitor visitor) => visitor.visitSetField(this);
+
+ bool get isSafeForElimination => false;
+ bool get isSafeForReordering => false;
}
/// Directly reads from a field on a given object.
@@ -756,21 +776,18 @@
}
/// Sets the value of a static field.
-class SetStatic extends Expression implements InteriorNode {
+class SetStatic extends Primitive {
final FieldElement element;
final Reference<Primitive> value;
- Expression body;
final SourceInformation sourceInformation;
SetStatic(this.element, Primitive value, [this.sourceInformation])
: this.value = new Reference<Primitive>(value);
- Expression plug(Expression expr) {
- assert(body == null);
- return body = expr;
- }
-
accept(Visitor visitor) => visitor.visitSetStatic(this);
+
+ bool get isSafeForElimination => false;
+ bool get isSafeForReordering => false;
}
/// Reads the value of a lazily initialized static field.
@@ -779,7 +796,7 @@
/// and assigned to the field.
///
/// [continuation] is then invoked with the value of the field as argument.
-class GetLazyStatic extends Expression {
+class GetLazyStatic extends CallExpression {
final FieldElement element;
final Reference<Continuation> continuation;
final SourceInformation sourceInformation;
@@ -832,9 +849,11 @@
class Interceptor extends Primitive {
final Reference<Primitive> input;
- final Set<ClassElement> interceptedClasses;
- Interceptor(Primitive input, this.interceptedClasses)
+ final Set<ClassElement> interceptedClasses = new Set<ClassElement>();
+
+ Interceptor(Primitive input)
: this.input = new Reference<Primitive>(input);
+
accept(Visitor visitor) => visitor.visitInterceptor(this);
bool get isSafeForElimination => true;
@@ -855,22 +874,18 @@
bool get isSafeForReordering => true;
}
-class ForeignCode extends Expression {
+class ForeignCode extends CallExpression {
final js.Template codeTemplate;
final TypeMask type;
final List<Reference<Primitive>> arguments;
final native.NativeBehavior nativeBehavior;
final FunctionElement dependency;
-
- /// The continuation, if the foreign code is not a JavaScript 'throw',
- /// otherwise null.
final Reference<Continuation> continuation;
ForeignCode(this.codeTemplate, this.type, List<Primitive> arguments,
- this.nativeBehavior, {Continuation continuation, this.dependency})
- : arguments = _referenceList(arguments),
- continuation = continuation == null ? null
- : new Reference<Continuation>(continuation);
+ this.nativeBehavior, Continuation continuation, {this.dependency})
+ : this.arguments = _referenceList(arguments),
+ this.continuation = new Reference<Continuation>(continuation);
accept(Visitor visitor) => visitor.visitForeignCode(this);
}
@@ -1107,7 +1122,7 @@
T visitRethrow(Rethrow node);
T visitBranch(Branch node);
T visitTypeCast(TypeCast node);
- T visitSetMutableVariable(SetMutableVariable node);
+ T visitSetMutable(SetMutable node);
T visitSetStatic(SetStatic node);
T visitGetLazyStatic(GetLazyStatic node);
T visitSetField(SetField node);
@@ -1118,7 +1133,7 @@
T visitLiteralMap(LiteralMap node);
T visitConstant(Constant node);
T visitCreateFunction(CreateFunction node);
- T visitGetMutableVariable(GetMutableVariable node);
+ T visitGetMutable(GetMutable node);
T visitParameter(Parameter node);
T visitContinuation(Continuation node);
T visitMutableVariable(MutableVariable node);
@@ -1265,12 +1280,11 @@
node.typeArguments.forEach(processReference);
}
- processSetMutableVariable(SetMutableVariable node) {}
- visitSetMutableVariable(SetMutableVariable node) {
- processSetMutableVariable(node);
+ processSetMutable(SetMutable node) {}
+ visitSetMutable(SetMutable node) {
+ processSetMutable(node);
processReference(node.variable);
processReference(node.value);
- visit(node.body);
}
processGetLazyStatic(GetLazyStatic node) {}
@@ -1310,9 +1324,9 @@
processMutableVariable(node);
}
- processGetMutableVariable(GetMutableVariable node) {}
- visitGetMutableVariable(GetMutableVariable node) {
- processGetMutableVariable(node);
+ processGetMutable(GetMutable node) {}
+ visitGetMutable(GetMutable node) {
+ processGetMutable(node);
processReference(node.variable);
}
@@ -1352,7 +1366,6 @@
processSetField(node);
processReference(node.object);
processReference(node.value);
- visit(node.body);
}
processGetField(GetField node) {}
@@ -1370,7 +1383,6 @@
visitSetStatic(SetStatic node) {
processSetStatic(node);
processReference(node.value);
- visit(node.body);
}
processCreateBox(CreateBox node) {}
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart
index e200071..c6cdfc5 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_nodes_sexpr.dart
@@ -7,6 +7,7 @@
import '../constants/values.dart';
import '../util/util.dart';
import 'cps_ir_nodes.dart';
+import '../universe/universe.dart' show Selector, CallStructure;
/// A [Decorator] is a function used by [SExpressionStringifier] to augment the
/// output produced for a node or reference. It can be provided to the
@@ -115,14 +116,15 @@
return '$indentation(LetMutable ($name $value)\n$body)';
}
- String formatArguments(Invoke node) {
- int positionalArgumentCount = node.selector.positionalArgumentCount;
+ String formatArguments(CallStructure call,
+ List<Reference<Primitive>> arguments) {
+ int positionalArgumentCount = call.positionalArgumentCount;
List<String> args = new List<String>();
- args.addAll(
- node.arguments.getRange(0, positionalArgumentCount).map(access));
- for (int i = 0; i < node.selector.namedArgumentCount; ++i) {
- String name = node.selector.namedArguments[i];
- String arg = access(node.arguments[positionalArgumentCount + i]);
+ args.addAll(arguments.getRange(0, positionalArgumentCount).map(access));
+ List<String> argumentNames = call.getOrderedNamedArguments();
+ for (int i = 0; i < argumentNames.length; ++i) {
+ String name = argumentNames[i];
+ String arg = access(arguments[positionalArgumentCount + i]);
args.add("($name: $arg)");
}
return '(${args.join(' ')})';
@@ -131,7 +133,7 @@
String visitInvokeStatic(InvokeStatic node) {
String name = node.target.name;
String cont = access(node.continuation);
- String args = formatArguments(node);
+ String args = formatArguments(node.selector.callStructure, node.arguments);
return '$indentation(InvokeStatic $name $args $cont)';
}
@@ -139,7 +141,7 @@
String name = node.selector.name;
String rcv = access(node.receiver);
String cont = access(node.continuation);
- String args = formatArguments(node);
+ String args = formatArguments(node.selector.callStructure, node.arguments);
return '$indentation(InvokeMethod $rcv $name $args $cont)';
}
@@ -147,7 +149,7 @@
String receiver = access(node.receiver);
String name = node.selector.name;
String cont = access(node.continuation);
- String args = formatArguments(node);
+ String args = formatArguments(node.selector.callStructure, node.arguments);
return '$indentation(InvokeMethodDirectly $receiver $name $args $cont)';
}
@@ -169,7 +171,7 @@
callName = '${className}.${node.target.name}';
}
String cont = access(node.continuation);
- String args = formatArguments(node);
+ String args = formatArguments(node.selector.callStructure, node.arguments);
return '$indentation(InvokeConstructor $callName $args $cont)';
}
@@ -216,15 +218,13 @@
return '(Unexpected Continuation)';
}
- String visitGetMutableVariable(GetMutableVariable node) {
- return '(GetMutableVariable ${access(node.variable)})';
+ String visitGetMutable(GetMutable node) {
+ return '(GetMutable ${access(node.variable)})';
}
- String visitSetMutableVariable(SetMutableVariable node) {
+ String visitSetMutable(SetMutable node) {
String value = access(node.value);
- String body = indentBlock(() => visit(node.body));
- return '$indentation(SetMutableVariable ${access(node.variable)} '
- '$value\n$body)';
+ return '(SetMutable ${access(node.variable)} $value)';
}
String visitTypeCast(TypeCast node) {
@@ -260,8 +260,7 @@
String object = access(node.object);
String field = node.field.name;
String value = access(node.value);
- String body = indentBlock(() => visit(node.body));
- return '$indentation(SetField $object $field $value)\n$body';
+ return '(SetField $object $field $value)';
}
String visitGetField(GetField node) {
@@ -278,8 +277,7 @@
String visitSetStatic(SetStatic node) {
String element = node.element.name;
String value = access(node.value);
- String body = indentBlock(() => visit(node.body));
- return '$indentation(SetStatic $element $value\n$body)';
+ return '(SetStatic $element $value)';
}
String visitGetLazyStatic(GetLazyStatic node) {
@@ -333,7 +331,6 @@
return '(ApplyBuiltinOperator $operator ($args))';
}
- @override
String visitForeignCode(ForeignCode node) {
String arguments = node.arguments.map(access).join(' ');
String continuation = node.continuation == null ? ''
@@ -341,20 +338,17 @@
return '(JS ${node.type} ${node.codeTemplate} ($arguments)$continuation)';
}
- @override
String visitGetLength(GetLength node) {
String object = access(node.object);
return '(GetLength $object)';
}
- @override
String visitGetIndex(GetIndex node) {
String object = access(node.object);
String index = access(node.index);
return '(GetIndex $object $index)';
}
- @override
String visitSetIndex(SetIndex node) {
String object = access(node.object);
String index = access(node.index);
diff --git a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
index 0064b6b..a299237 100644
--- a/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
+++ b/pkg/compiler/lib/src/cps_ir/cps_ir_tracer.dart
@@ -110,7 +110,13 @@
visitLetCont(cps_ir.LetCont node) {
if (IR_TRACE_LET_CONT) {
String dummy = names.name(node);
- String ids = node.continuations.map(names.name).join(', ');
+
+ String nameContinuation(cps_ir.Continuation cont) {
+ String name = names.name(cont);
+ return cont.isRecursive ? '$name*' : name;
+ }
+
+ String ids = node.continuations.map(nameContinuation).join(', ');
printStmt(dummy, "LetCont $ids");
}
visit(node.body);
@@ -227,12 +233,10 @@
printStmt(dummy, "Branch $condition ($trueCont, $falseCont)");
}
- visitSetMutableVariable(cps_ir.SetMutableVariable node) {
- String dummy = names.name(node);
+ visitSetMutable(cps_ir.SetMutable node) {
String variable = names.name(node.variable.definition);
String value = formatReference(node.value);
- printStmt(dummy, 'SetMutableVariable $variable := $value');
- visit(node.body);
+ return 'SetMutable $variable := $value';
}
String formatReference(cps_ir.Reference ref) {
@@ -267,12 +271,10 @@
}
visitSetField(cps_ir.SetField node) {
- String dummy = names.name(node);
String object = formatReference(node.object);
String field = node.field.name;
String value = formatReference(node.value);
- printStmt(dummy, 'SetField $object.$field = $value');
- visit(node.body);
+ return 'SetField $object.$field = $value';
}
visitGetField(cps_ir.GetField node) {
@@ -287,11 +289,9 @@
}
visitSetStatic(cps_ir.SetStatic node) {
- String dummy = names.name(node);
String element = node.element.name;
String value = formatReference(node.value);
- printStmt(dummy, 'SetStatic $element = $value');
- visit(node.body);
+ return 'SetStatic $element = $value';
}
visitGetLazyStatic(cps_ir.GetLazyStatic node) {
@@ -320,9 +320,9 @@
return "CreateFunction ${node.definition.element.name}";
}
- visitGetMutableVariable(cps_ir.GetMutableVariable node) {
+ visitGetMutable(cps_ir.GetMutable node) {
String variable = names.name(node.variable.definition);
- return 'GetMutableVariable $variable';
+ return 'GetMutable $variable';
}
visitReadTypeVariable(cps_ir.ReadTypeVariable node) {
@@ -523,18 +523,6 @@
visitUnreachable(cps_ir.Unreachable node) {
}
- visitSetMutableVariable(cps_ir.SetMutableVariable exp) {
- visit(exp.body);
- }
-
- visitSetField(cps_ir.SetField exp) {
- visit(exp.body);
- }
-
- visitSetStatic(cps_ir.SetStatic exp) {
- visit(exp.body);
- }
-
visitGetLazyStatic(cps_ir.GetLazyStatic exp) {
addEdgeToContinuation(exp.continuation);
}
@@ -583,7 +571,7 @@
unexpectedNode(node);
}
- visitGetMutableVariable(cps_ir.GetMutableVariable node) {
+ visitGetMutable(cps_ir.GetMutable node) {
unexpectedNode(node);
}
@@ -659,6 +647,18 @@
unexpectedNode(node);
}
+ visitSetMutable(cps_ir.SetMutable node) {
+ unexpectedNode(node);
+ }
+
+ visitSetField(cps_ir.SetField node) {
+ unexpectedNode(node);
+ }
+
+ visitSetStatic(cps_ir.SetStatic node) {
+ unexpectedNode(node);
+ }
+
@override
visitForeignCode(cps_ir.ForeignCode node) {
if (node.continuation != null) {
diff --git a/pkg/compiler/lib/src/cps_ir/let_sinking.dart b/pkg/compiler/lib/src/cps_ir/let_sinking.dart
new file mode 100644
index 0000000..c7f2c21
--- /dev/null
+++ b/pkg/compiler/lib/src/cps_ir/let_sinking.dart
@@ -0,0 +1,243 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library dart2js.cps_ir.let_sinking;
+
+import 'cps_ir_nodes.dart';
+import 'optimizers.dart';
+
+/// Sinks single-use primitives to the use when this is safe and profitable.
+///
+/// To avoid sinking non-constant primitives into loops, this pass performs a
+/// control-flow analysis to determine the effective nesting of loops.
+///
+/// In the example below, the value 'p' can be sunk to its use site in the
+/// 'else' branch because that branch is not effectively part of a loop,
+/// despite being lexically nested in a recursive continuation.
+///
+/// let prim p = getInterceptor(<something>)
+/// let rec kont x =
+/// if (<loop condition>)
+/// <loop body>
+/// InvokeContinuation kont x'
+/// else
+/// <after loop>
+/// return p.foo()
+///
+class LetSinker extends RecursiveVisitor implements Pass {
+ String get passName => 'Let sinking';
+
+ LoopHierarchy loopHierarchy;
+ List<Continuation> stack = <Continuation>[];
+ Set<LetPrim> sunkNodes = new Set<LetPrim>();
+
+ void rewrite(FunctionDefinition node) {
+ new ParentVisitor().visit(node);
+ loopHierarchy = new LoopHierarchy(node);
+ visit(node.body);
+ }
+
+ void visitLetPrim(LetPrim node) {
+ // Visit the body, wherein this primitive may be sunk to its use site.
+ visit(node.body);
+
+ if (node.primitive != null) {
+ // The primitive could not be sunk. Sink dependencies to this location.
+ visit(node.primitive);
+ } else {
+ // The primitive was sunk. Destroy the old LetPrim.
+ InteriorNode parent = node.parent;
+ parent.body = node.body;
+ node.body.parent = parent;
+ }
+ }
+
+ void processReference(Reference ref) {
+ Definition definition = ref.definition;
+ if (definition is Primitive &&
+ definition is! Parameter &&
+ definition.hasExactlyOneUse &&
+ definition.isSafeForReordering) {
+ // Check if use is in the same loop.
+ LetPrim binding = definition.parent;
+ Continuation bindingLoop = loopHierarchy.getLoopHeader(binding);
+ Expression use = getEnclosingExpression(ref.parent);
+ Continuation useLoop = loopHierarchy.getLoopHeader(use);
+ if (bindingLoop == useLoop || definition is Constant) {
+ // Sink the definition.
+
+ binding.primitive = null; // Mark old binding for deletion.
+ LetPrim newBinding = new LetPrim(definition);
+ definition.parent = newBinding;
+ InteriorNode useParent = use.parent;
+ useParent.body = newBinding;
+ newBinding.body = use;
+ use.parent = newBinding;
+ newBinding.parent = useParent;
+
+ // Now that the final binding location has been found, sink the
+ // dependencies of the definition down here as well.
+ visit(definition);
+ }
+ }
+ }
+
+ Expression getEnclosingExpression(Node node) {
+ while (node is! Expression) {
+ node = node.parent;
+ }
+ return node;
+ }
+}
+
+/// Determines the effective nesting of loops.
+///
+/// The effective nesting of loops is different from the lexical nesting, since
+/// recursive continuations can generally contain all the code following
+/// after the loop in addition to the looping code itself.
+///
+/// For example, the 'else' branch below is not effectively part of the loop:
+///
+/// let rec kont x =
+/// if (<loop condition>)
+/// <loop body>
+/// InvokeContinuation kont x'
+/// else
+/// <after loop>
+/// return p.foo()
+///
+/// We use the term "loop" to mean recursive continuation.
+/// The `null` value is used to represent a context not part of any loop.
+class LoopHierarchy {
+ /// Nesting depth of the given loop.
+ Map<Continuation, int> loopDepth = <Continuation, int>{};
+
+ /// The innermost loop (other than itself) that may be invoked recursively
+ /// as a result of invoking the given continuation.
+ Map<Continuation, Continuation> loopTarget = <Continuation, Continuation>{};
+
+ /// Current nesting depth.
+ int currentDepth = 0;
+
+ /// Computes the loop hierarchy for the given function.
+ ///
+ /// Parent pointers must be computed for [node].
+ LoopHierarchy(FunctionDefinition node) {
+ _processBlock(node.body, null);
+ }
+
+ /// Returns the innermost loop which [node] is effectively part of.
+ Continuation getLoopHeader(Expression exp) {
+ Node node = exp.parent;
+ while (node != null && node is! Continuation) {
+ node = node.parent;
+ }
+ if (node is Continuation) {
+ if (node.isRecursive) {
+ return node;
+ } else {
+ return loopTarget[node];
+ }
+ }
+ return null;
+ }
+
+ /// Marks the innermost loop as a subloop of the other loop.
+ ///
+ /// Returns the innermost loop.
+ ///
+ /// Both continuations, [c1] and [c2] may be null (i.e. no loop).
+ ///
+ /// A loop is said to be a subloop of an enclosing loop if it can invoke
+ /// that loop recursively. This information is stored in [loopTarget].
+ ///
+ /// This method is only invoked with two distinct loops if there is a
+ /// point that can reach a recursive invocation of both loops.
+ /// This implies that one loop is nested in the other, because they must
+ /// both be in scope at that point.
+ Continuation _markInnerLoop(Continuation c1, Continuation c2) {
+ assert(c1 == null || c1.isRecursive);
+ assert(c2 == null || c2.isRecursive);
+ if (c1 == null) return c2;
+ if (c2 == null) return c1;
+ if (c1 == c2) return c1;
+ if (loopDepth[c1] > loopDepth[c2]) {
+ loopTarget[c1] = _markInnerLoop(loopTarget[c1], c2);
+ return c1;
+ } else {
+ loopTarget[c2] = _markInnerLoop(loopTarget[c2], c1);
+ return c2;
+ }
+ }
+
+ /// Analyzes the body of [cont] and returns the innermost loop
+ /// that can be invoked recursively from [cont] (other than [cont] itself).
+ ///
+ /// [catchLoop] is the innermost loop that can be invoked recursively
+ /// from the current exception handler.
+ Continuation _processContinuation(Continuation cont, Continuation catchLoop) {
+ if (cont.isRecursive) {
+ ++currentDepth;
+ loopDepth[cont] = currentDepth;
+ Continuation target = _processBlock(cont.body, catchLoop);
+ _markInnerLoop(loopTarget[cont], target);
+ --currentDepth;
+ } else {
+ loopTarget[cont] = _processBlock(cont.body, catchLoop);
+ }
+ return loopTarget[cont];
+ }
+
+ bool _isCallContinuation(Continuation cont) {
+ return cont.hasExactlyOneUse && cont.firstRef.parent is CallExpression;
+ }
+
+ /// Analyzes a basic block and returns the innermost loop that
+ /// can be invoked recursively from that block.
+ Continuation _processBlock(Expression node, Continuation catchLoop) {
+ List<Continuation> callContinuations = <Continuation>[];
+ for (; node is! TailExpression; node = node.next) {
+ if (node is LetCont) {
+ for (Continuation cont in node.continuations) {
+ if (!_isCallContinuation(cont)) {
+ // Process non-call continuations at the binding site, so they
+ // their loop target is known at all use sites.
+ _processContinuation(cont, catchLoop);
+ } else {
+ // To avoid deep recursion, do not analyze call continuations
+ // recursively. This basic block traversal steps into the
+ // call contiunation after visiting its use site. We store the
+ // continuations in a list so we can set the loop target once
+ // it is known.
+ callContinuations.add(cont);
+ }
+ }
+ } else if (node is LetHandler) {
+ catchLoop = _processContinuation(node.handler, catchLoop);
+ }
+ }
+ Continuation target;
+ if (node is InvokeContinuation) {
+ if (node.isRecursive) {
+ target = node.continuation.definition;
+ } else {
+ target = loopTarget[node.continuation.definition];
+ }
+ } else if (node is Branch) {
+ target = _markInnerLoop(
+ loopTarget[node.trueContinuation.definition],
+ loopTarget[node.falseContinuation.definition]);
+ } else {
+ assert(node is Unreachable || node is Throw);
+ }
+ target = _markInnerLoop(target, catchLoop);
+ for (Continuation cont in callContinuations) {
+ // Store the loop target on each call continuation in the basic block.
+ // Because we walk over call continuations as part of the basic block
+ // traversal, these do not get their loop target set otherwise.
+ loopTarget[cont] = target;
+ }
+ return target;
+ }
+}
diff --git a/pkg/compiler/lib/src/cps_ir/mutable_ssa.dart b/pkg/compiler/lib/src/cps_ir/mutable_ssa.dart
new file mode 100644
index 0000000..c561e81
--- /dev/null
+++ b/pkg/compiler/lib/src/cps_ir/mutable_ssa.dart
@@ -0,0 +1,254 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library dart2js.cps_ir.mutable_ssa;
+
+import 'cps_ir_nodes.dart';
+import 'optimizers.dart';
+
+/// Determines which mutable variables should be rewritten to phi assignments
+/// in this pass.
+///
+/// We do not rewrite variables that have an assignment inside a try block that
+/// does not contain its declaration.
+class MutableVariablePreanalysis extends RecursiveVisitor {
+ // Number of try blocks enclosing the current position.
+ int currentDepth = 0;
+
+ /// Number of try blocks enclosing the declaration of a given mutable
+ /// variable.
+ ///
+ /// All mutable variables seen will be present in the map after the analysis.
+ Map<MutableVariable, int> variableDepth = <MutableVariable, int>{};
+
+ /// Variables with an assignment inside a try block that does not contain
+ /// its declaration.
+ Set<MutableVariable> hasAssignmentInTry = new Set<MutableVariable>();
+
+ void visitLetHandler(LetHandler node) {
+ ++currentDepth;
+ visit(node.body);
+ --currentDepth;
+ visit(node.handler);
+ }
+
+ void processLetMutable(LetMutable node) {
+ variableDepth[node.variable] = currentDepth;
+ }
+
+ void processSetMutable(SetMutable node) {
+ MutableVariable variable = node.variable.definition;
+ if (currentDepth > variableDepth[variable]) {
+ hasAssignmentInTry.add(variable);
+ }
+ }
+
+ /// True if there are no mutable variables or they are all assigned inside
+ /// a try block. In this case, there is nothing to do and the pass should
+ /// be skipped.
+ bool get allMutablesAreAssignedInTryBlocks {
+ return hasAssignmentInTry.length == variableDepth.length;
+ }
+}
+
+/// Replaces mutable variables with continuation parameters, effectively
+/// bringing them into SSA form.
+///
+/// This pass is intended to clean up mutable variables that were introduced
+/// by an optimization in the type propagation pass.
+///
+/// This implementation potentially creates a lot of redundant and dead phi
+/// parameters. These will be cleaned up by redundant phi elimination and
+/// shrinking reductions.
+///
+/// Discussion:
+/// For methods with a lot of mutable variables, creating all the spurious
+/// parameters might be too expensive. If this is the case, we should
+/// improve this pass to avoid most spurious parameters in practice.
+class MutableVariableEliminator implements Pass {
+ String get passName => 'Mutable variable elimination';
+
+ /// Mutable variables currently in scope, in order of declaration.
+ /// This list determines the order of the corresponding phi parameters.
+ final List<MutableVariable> mutableVariables = <MutableVariable>[];
+
+ /// Number of phi parameters added to the given continuation.
+ final Map<Continuation, int> continuationPhiCount = <Continuation, int>{};
+
+ /// Stack of yet unprocessed continuations interleaved with the
+ /// mutable variables currently in scope.
+ ///
+ /// Continuations are processed when taken off the stack and mutable
+ /// variables fall out of scope (i.e. removed from [mutableVariables]) when
+ /// taken off the stack.
+ final List<StackItem> stack = <StackItem>[];
+
+ MutableVariablePreanalysis analysis;
+
+ void rewrite(FunctionDefinition node) {
+ analysis = new MutableVariablePreanalysis()..visit(node);
+ if (analysis.allMutablesAreAssignedInTryBlocks) {
+ // Skip the pass if there is nothing to do.
+ return;
+ }
+ processBlock(node.body, <MutableVariable, Primitive>{});
+ while (stack.isNotEmpty) {
+ StackItem item = stack.removeLast();
+ if (item is ContinuationItem) {
+ processBlock(item.continuation.body, item.environment);
+ } else {
+ assert(item is VariableItem);
+ mutableVariables.removeLast();
+ }
+ }
+ }
+
+ bool shouldRewrite(MutableVariable variable) {
+ return !analysis.hasAssignmentInTry.contains(variable);
+ }
+
+ bool isJoinContinuation(Continuation cont) {
+ return !cont.hasExactlyOneUse ||
+ cont.firstRef.parent is InvokeContinuation;
+ }
+
+ void removeNode(InteriorNode node) {
+ InteriorNode parent = node.parent;
+ parent.body = node.body;
+ node.body.parent = parent;
+ }
+
+ /// If some useful source information is attached to exactly one of the
+ /// two definitions, the information is copied onto the other.
+ void mergeHints(MutableVariable variable, Primitive value) {
+ if (variable.hint == null) {
+ variable.hint = value.hint;
+ } else if (value.hint == null) {
+ value.hint = variable.hint;
+ }
+ }
+
+ /// Processes a basic block, replacing mutable variable uses with direct
+ /// references to their values.
+ ///
+ /// [environment] is the current value of each mutable variable. The map
+ /// will be mutated during the processing.
+ ///
+ /// Continuations to be processed are put on the stack for later processing.
+ void processBlock(Expression node,
+ Map<MutableVariable, Primitive> environment) {
+ for (; node is! TailExpression; node = node.next) {
+ if (node is LetMutable && shouldRewrite(node.variable)) {
+ // Put the new mutable variable on the stack while processing the body,
+ // and pop it off again when done with the body.
+ mutableVariables.add(node.variable);
+ stack.add(new VariableItem());
+
+ // Put the initial value into the environment.
+ Primitive value = node.value.definition;
+ environment[node.variable] = value;
+
+ // Preserve variable names.
+ mergeHints(node.variable, value);
+
+ // Remove the mutable variable binding.
+ node.value.unlink();
+ removeNode(node);
+ } else if (node is LetPrim && node.primitive is SetMutable) {
+ SetMutable setter = node.primitive;
+ MutableVariable variable = setter.variable.definition;
+ if (shouldRewrite(variable)) {
+ // As above, update the environment, preserve variables and remove
+ // the mutable variable assignment.
+ environment[variable] = setter.value.definition;
+ mergeHints(variable, setter.value.definition);
+ setter.value.unlink();
+ removeNode(node);
+ }
+ } else if (node is LetPrim && node.primitive is GetMutable) {
+ GetMutable getter = node.primitive;
+ MutableVariable variable = getter.variable.definition;
+ if (shouldRewrite(variable)) {
+ // Replace with the reaching definition from the environment.
+ Primitive value = environment[variable];
+ value.substituteFor(getter);
+ mergeHints(variable, value);
+ removeNode(node);
+ }
+ } else if (node is LetCont) {
+ // Create phi parameters for each join continuation bound here, and put
+ // them on the stack for later processing.
+ // Note that non-join continuations are handled at the use-site.
+ for (Continuation cont in node.continuations) {
+ if (!isJoinContinuation(cont)) continue;
+ // Create a phi parameter for every mutable variable in scope.
+ // At the same time, build the environment to use for processing
+ // the continuation (mapping mutables to phi parameters).
+ continuationPhiCount[cont] = mutableVariables.length;
+ Map<MutableVariable, Primitive> environment =
+ <MutableVariable, Primitive>{};
+ for (MutableVariable variable in mutableVariables) {
+ Parameter phi = new Parameter(variable.hint);
+ cont.parameters.add(phi);
+ phi.parent = cont;
+ environment[variable] = phi;
+ }
+ stack.add(new ContinuationItem(cont, environment));
+ }
+ } else if (node is LetHandler) {
+ // Process the catch block later and continue into the try block.
+ // We can use the same environment object for the try and catch blocks.
+ // The current environment bindings cannot change inside the try block
+ // because we exclude all variables assigned inside a try block.
+ // The environment might be extended with more bindings before we
+ // analyze the catch block, but that's ok.
+ stack.add(new ContinuationItem(node.handler, environment));
+ }
+ }
+
+ // Analyze the terminal node.
+ if (node is InvokeContinuation) {
+ Continuation cont = node.continuation.definition;
+ if (cont.isReturnContinuation) return;
+ // This is a call to a join continuation. Add arguments for the phi
+ // parameters that were added to this continuation.
+ int phiCount = continuationPhiCount[cont];
+ for (int i = 0; i < phiCount; ++i) {
+ Primitive value = environment[mutableVariables[i]];
+ Reference<Primitive> arg = new Reference<Primitive>(value);
+ node.arguments.add(arg);
+ arg.parent = node;
+ }
+ } else if (node is Branch) {
+ // Enqueue both branches with the current environment.
+ // Clone the environments once so the processing of one branch does not
+ // mutate the environment needed to process the other branch.
+ stack.add(new ContinuationItem(
+ node.trueContinuation.definition,
+ new Map<MutableVariable, Primitive>.from(environment)));
+ stack.add(new ContinuationItem(
+ node.falseContinuation.definition,
+ environment));
+ } else {
+ assert(node is Throw || node is Unreachable);
+ }
+ }
+}
+
+abstract class StackItem {}
+
+/// Represents a mutable variable that is in scope.
+///
+/// The topmost mutable variable falls out of scope when this item is
+/// taken off the stack.
+class VariableItem extends StackItem {}
+
+/// Represents a yet unprocessed continuation together with the
+/// environment in which to process it.
+class ContinuationItem extends StackItem {
+ final Continuation continuation;
+ final Map<MutableVariable, Primitive> environment;
+
+ ContinuationItem(this.continuation, this.environment);
+}
diff --git a/pkg/compiler/lib/src/cps_ir/optimizers.dart b/pkg/compiler/lib/src/cps_ir/optimizers.dart
index 3b48349..4371086 100644
--- a/pkg/compiler/lib/src/cps_ir/optimizers.dart
+++ b/pkg/compiler/lib/src/cps_ir/optimizers.dart
@@ -11,6 +11,8 @@
export 'redundant_phi.dart' show RedundantPhiEliminator;
export 'redundant_join.dart' show RedundantJoinEliminator;
export 'shrinking_reductions.dart' show ShrinkingReducer, ParentVisitor;
+export 'mutable_ssa.dart' show MutableVariableEliminator;
+export 'let_sinking.dart' show LetSinker;
/// An optimization pass over the CPS IR.
abstract class Pass {
diff --git a/pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart b/pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart
index f1970de..0173804 100644
--- a/pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart
+++ b/pkg/compiler/lib/src/cps_ir/shrinking_reductions.dart
@@ -574,9 +574,8 @@
node.value.parent = node;
}
- processSetMutableVariable(SetMutableVariable node) {
+ processSetMutable(SetMutable node) {
node.variable.parent = node;
- node.body.parent = node;
node.value.parent = node;
}
@@ -623,7 +622,6 @@
processSetField(SetField node) {
node.object.parent = node;
node.value.parent = node;
- node.body.parent = node;
}
processGetField(GetField node) {
@@ -635,10 +633,9 @@
processSetStatic(SetStatic node) {
node.value.parent = node;
- node.body.parent = node;
}
- processGetMutableVariable(GetMutableVariable node) {
+ processGetMutable(GetMutable node) {
node.variable.parent = node;
}
diff --git a/pkg/compiler/lib/src/cps_ir/type_propagation.dart b/pkg/compiler/lib/src/cps_ir/type_propagation.dart
index 50b77b1..60e9c4c 100644
--- a/pkg/compiler/lib/src/cps_ir/type_propagation.dart
+++ b/pkg/compiler/lib/src/cps_ir/type_propagation.dart
@@ -44,6 +44,8 @@
TypeMask numStringBoolType;
+ ClassElement get jsNullClass => backend.jsNullClass;
+
// TODO(karlklose): remove compiler here.
TypeMaskSystem(dart2js.Compiler compiler)
: inferrer = compiler.typesTask,
@@ -599,7 +601,7 @@
}
/// Inserts [insertedCode] before [node].
- ///
+ ///
/// [node] will end up in the hole of [insertedCode], and [insertedCode]
/// will become rooted where [node] was.
void insertBefore(Expression node, CpsFragment insertedCode) {
@@ -614,7 +616,7 @@
// We want to recompute the types for [insertedCode] without
// traversing the entire subtree of [node]. Temporarily close the
// term with a dummy node while recomputing types.
- context.body = new Unreachable();
+ context.body = new Unreachable();
new ParentVisitor().visit(insertedCode.root);
reanalyze(insertedCode.root);
@@ -653,7 +655,7 @@
/// The new expression will be visited.
///
/// Returns true if the node was replaced.
- bool constifyExpression(Invoke node) {
+ bool constifyExpression(CallExpression node) {
Continuation continuation = node.continuation.definition;
ConstantValue constant = replacements[node];
if (constant == null) return false;
@@ -692,13 +694,13 @@
return;
}
- if (condition is ApplyBuiltinOperator &&
+ if (condition is ApplyBuiltinOperator &&
condition.operator == BuiltinOperator.LooseEq) {
Primitive leftArg = condition.arguments[0].definition;
Primitive rightArg = condition.arguments[1].definition;
AbstractValue left = getValue(leftArg);
AbstractValue right = getValue(rightArg);
- if (right.isNullConstant &&
+ if (right.isNullConstant &&
lattice.isDefinitelyNotNumStringBool(left)) {
// Rewrite:
// if (x == null) S1 else S2
@@ -707,7 +709,7 @@
Branch branch = new Branch(new IsTrue(leftArg), falseCont, trueCont);
replaceSubtree(node, branch);
return;
- } else if (left.isNullConstant &&
+ } else if (left.isNullConstant &&
lattice.isDefinitelyNotNumStringBool(right)) {
Branch branch = new Branch(new IsTrue(rightArg), falseCont, trueCont);
replaceSubtree(node, branch);
@@ -832,18 +834,19 @@
if (target.isFinal) return false;
assert(cont.parameters.single.hasNoUses);
cont.parameters.clear();
- SetField set = new SetField(getDartReceiver(node),
- target,
- getDartArgument(node, 0));
- set.body = new InvokeContinuation(cont, <Primitive>[]);
- replaceSubtree(node, set);
- visitSetField(set);
+ CpsFragment cps = new CpsFragment(node.sourceInformation);
+ cps.letPrim(new SetField(getDartReceiver(node),
+ target,
+ getDartArgument(node, 0)));
+ cps.invokeContinuation(cont);
+ replaceSubtree(node, cps.result);
+ visit(cps.result);
return true;
}
}
/// Create a check that throws if [index] is not a valid index on [list].
- ///
+ ///
/// This function assumes that [index] is an integer.
///
/// Returns a CPS fragment whose context is the branch where no error
@@ -894,7 +897,7 @@
int count = 0;
for (Reference ref = list.firstRef; ref != null; ref = ref.next) {
Node use = ref.parent;
- if (use is InvokeMethod &&
+ if (use is InvokeMethod &&
(use.selector.isIndex || use.selector.isIndexSet) &&
getDartReceiver(use) == list) {
++count;
@@ -918,7 +921,7 @@
if (!lattice.isDefinitelyNativeList(listValue, allowNull: true)) {
return false;
}
- bool isFixedLength =
+ bool isFixedLength =
lattice.isDefinitelyFixedNativeList(listValue, allowNull: true);
bool isMutable =
lattice.isDefinitelyMutableNativeList(listValue, allowNull: true);
@@ -1041,23 +1044,22 @@
MutableVariable current = new MutableVariable(new LoopItemEntity());
// Rewrite all uses of the iterator.
- while (iterator.firstRef != null) {
+ while (iterator.firstRef != null) {
InvokeMethod use = iterator.firstRef.parent;
Continuation useCont = use.continuation.definition;
- if (use.selector == currentSelector) {
+ if (use.selector == currentSelector) {
// Rewrite iterator.current to a use of the 'current' variable.
Parameter result = useCont.parameters.single;
if (result.hint != null) {
// If 'current' was originally moved into a named variable, use
// that variable name for the mutable variable.
- current.hint = result.hint;
+ current.hint = result.hint;
}
- LetPrim let =
- makeLetPrimInvoke(new GetMutableVariable(current), useCont);
+ LetPrim let = makeLetPrimInvoke(new GetMutable(current), useCont);
replaceSubtree(use, let);
} else {
assert (use.selector == moveNextSelector);
- // Rewrite iterator.moveNext() to:
+ // Rewrite iterator.moveNext() to:
//
// if (index < list.length) {
// current = null;
@@ -1075,16 +1077,16 @@
// We must check for concurrent modification when calling moveNext.
// When moveNext is used as a loop condition, the check prevents
- // `index < list.length` from becoming the loop condition, and we
+ // `index < list.length` from becoming the loop condition, and we
// get code like this:
//
// while (true) {
// if (originalLength !== list.length) throw;
- // if (index < list.length) {
+ // if (index < list.length) {
// ...
- // } else {
- // ...
- // break;
+ // } else {
+ // ...
+ // break;
// }
// }
//
@@ -1097,17 +1099,17 @@
// if (originalLength !== list.length) throw;
// }
//
- // The check before the loop can often be eliminated because it
+ // The check before the loop can often be eliminated because it
// follows immediately after the 'iterator' call.
InteriorNode parent = getEffectiveParent(use);
if (!isFixedLength) {
if (parent is Continuation && parent.isRecursive) {
// Check for concurrent modification before every invocation
// of the continuation.
- // TODO(asgerf): Do this in a continuation so multiple
+ // TODO(asgerf): Do this in a continuation so multiple
// continues can share the same code.
- for (Reference ref = parent.firstRef;
- ref != null;
+ for (Reference ref = parent.firstRef;
+ ref != null;
ref = ref.next) {
Expression invocationCaller = ref.parent;
if (getEffectiveParent(invocationCaller) == iteratorCont) {
@@ -1137,7 +1139,7 @@
..invokeContinuation(useCont, [falseBranch.makeFalse()]);
// Return true if there are more element.
- cps.setMutable(current,
+ cps.setMutable(current,
cps.letPrim(new GetIndex(list, cps.getMutable(index))));
cps.setMutable(index, cps.applyBuiltin(
BuiltinOperator.NumAdd,
@@ -1177,12 +1179,12 @@
/// If [prim] is the parameter to a call continuation, returns the
/// corresponding call.
- Invoke getInvocationWithResult(Primitive prim) {
+ CallExpression getCallWithResult(Primitive prim) {
if (prim is Parameter && prim.parent is Continuation) {
Continuation cont = prim.parent;
if (cont.hasExactlyOneUse) {
Node use = cont.firstRef.parent;
- if (use is Invoke) {
+ if (use is CallExpression) {
return use;
}
}
@@ -1243,7 +1245,7 @@
visitInvokeStatic(invoke);
return true;
}
- Invoke tearOffInvoke = getInvocationWithResult(tearOff);
+ CallExpression tearOffInvoke = getCallWithResult(tearOff);
if (tearOffInvoke is InvokeMethod && tearOffInvoke.selector.isGetter) {
Selector getter = tearOffInvoke.selector;
@@ -1549,6 +1551,23 @@
visit(body);
}
}
+
+ void visitInterceptor(Interceptor node) {
+ // Filter out intercepted classes that do not match the input type.
+ AbstractValue value = getValue(node.input.definition);
+ node.interceptedClasses.retainWhere((ClassElement clazz) {
+ if (clazz == typeSystem.jsNullClass) {
+ return value.isNullable;
+ } else {
+ TypeMask classMask = typeSystem.nonNullSubclass(clazz);
+ return !typeSystem.areDisjoint(value.type, classMask);
+ }
+ });
+ // Remove the interceptor call if it can only return its input.
+ if (node.interceptedClasses.isEmpty) {
+ node.input.definition.substituteFor(node);
+ }
+ }
}
/**
@@ -2006,9 +2025,8 @@
}
}
- void visitSetMutableVariable(SetMutableVariable node) {
+ void visitSetMutable(SetMutable node) {
setValue(node.variable.definition, getValue(node.value.definition));
- setReachable(node.body);
}
void visitLiteralList(LiteralList node) {
@@ -2040,7 +2058,7 @@
setValue(node, constantValue(constant, typeSystem.functionType));
}
- void visitGetMutableVariable(GetMutableVariable node) {
+ void visitGetMutable(GetMutable node) {
setValue(node, getValue(node.variable.definition));
}
@@ -2096,9 +2114,7 @@
}
}
- void visitSetStatic(SetStatic node) {
- setReachable(node.body);
- }
+ void visitSetStatic(SetStatic node) {}
void visitGetLazyStatic(GetLazyStatic node) {
Continuation cont = node.continuation.definition;
@@ -2126,9 +2142,7 @@
setValue(node, nonConstant(typeSystem.getFieldType(node.field)));
}
- void visitSetField(SetField node) {
- setReachable(node.body);
- }
+ void visitSetField(SetField node) {}
void visitCreateBox(CreateBox node) {
setValue(node, nonConstant(typeSystem.nonNullType));
diff --git a/pkg/compiler/lib/src/dart2js.dart b/pkg/compiler/lib/src/dart2js.dart
index 51cdae4..5e36769 100644
--- a/pkg/compiler/lib/src/dart2js.dart
+++ b/pkg/compiler/lib/src/dart2js.dart
@@ -502,7 +502,7 @@
void fail(String message) {
if (diagnosticHandler != null) {
- diagnosticHandler.diagnosticHandler(
+ diagnosticHandler.report(
null, -1, -1, message, api.Diagnostic.ERROR);
} else {
print('Error: $message');
diff --git a/pkg/compiler/lib/src/dart2jslib.dart b/pkg/compiler/lib/src/dart2jslib.dart
index fcbeecb..14dad6a 100644
--- a/pkg/compiler/lib/src/dart2jslib.dart
+++ b/pkg/compiler/lib/src/dart2jslib.dart
@@ -9,7 +9,7 @@
import 'dart:profiler' show
UserTag;
-import '../compiler.dart' as api;
+import '../compiler_new.dart' as api;
import 'cache_strategy.dart';
import 'closure.dart' as closureMapping;
import 'compile_time_constants.dart';
@@ -43,6 +43,7 @@
LibraryLoaderTask,
LoadedLibraries;
import 'mirrors_used.dart' show MirrorUsageAnalyzerTask;
+import 'null_compiler_output.dart';
import 'native/native.dart' as native;
import 'ordered_typeset.dart';
import 'patch_parser.dart';
diff --git a/pkg/compiler/lib/src/dart_backend/backend.dart b/pkg/compiler/lib/src/dart_backend/backend.dart
index 2e9bad4..22b7e1e 100644
--- a/pkg/compiler/lib/src/dart_backend/backend.dart
+++ b/pkg/compiler/lib/src/dart_backend/backend.dart
@@ -18,6 +18,8 @@
final List<CompilerTask> tasks;
final bool stripAsserts;
+ bool get supportsReflection => true;
+
// TODO(zarah) Maybe change this to a command-line option.
// Right now, it is set by the tests.
bool useMirrorHelperLibrary = false;
diff --git a/pkg/compiler/lib/src/deferred_load.dart b/pkg/compiler/lib/src/deferred_load.dart
index 3213f9f..e261ff6 100644
--- a/pkg/compiler/lib/src/deferred_load.dart
+++ b/pkg/compiler/lib/src/deferred_load.dart
@@ -280,6 +280,23 @@
elements.add(dependency);
}
+
+ void registerTypeArgumentsAsDependencies(DartType type) {
+ Element dependency = type.element;
+ if (dependency == null || dependency.isErroneous ||
+ dependency.isTypeVariable) {
+ return;
+ }
+ elements.add(dependency);
+ if (type is GenericType) {
+ type.typeArguments.forEach(registerTypeArgumentsAsDependencies);
+ }
+ }
+
+ treeElements.forEachType((Node node, DartType type) {
+ if (node is NewExpression) registerTypeArgumentsAsDependencies(type);
+ });
+
treeElements.forEachConstantNode((Node node, _) {
// Explicitly depend on the backend constants.
ConstantValue value =
diff --git a/pkg/compiler/lib/src/elements/modelx.dart b/pkg/compiler/lib/src/elements/modelx.dart
index 1c5f782..85d7579 100644
--- a/pkg/compiler/lib/src/elements/modelx.dart
+++ b/pkg/compiler/lib/src/elements/modelx.dart
@@ -1120,6 +1120,8 @@
void markAsDeferred(Import deferredImport) {
_deferredImport = deferredImport;
}
+
+ String toString() => '$kind($name)';
}
class TypedefElementX extends ElementX
@@ -1240,8 +1242,12 @@
originVariable.constant = value;
return null;
}
- assert(invariant(this, constantCache == null || constantCache == value,
- message: "Constant has already been computed for $this."));
+ assert(invariant(
+ this, constantCache == null || constantCache == value,
+ message: "Constant has already been computed for $this. "
+ "Existing constant: "
+ "${constantCache != null ? constantCache.getText() : ''}, "
+ "New constant: ${value != null ? value.getText() : ''}."));
constantCache = value;
}
}
diff --git a/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart b/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart
index e8af978..e4725b2 100644
--- a/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart
+++ b/pkg/compiler/lib/src/inferrer/inferrer_visitor.dart
@@ -816,6 +816,11 @@
return types.dynamicType;
}
+ @override
+ void previsitDeferredAccess(Send node, PrefixElement prefix, _) {
+ // Deferred access does not affect inference.
+ }
+
T handleTypeLiteralGet() {
return types.typeType;
}
diff --git a/pkg/compiler/lib/src/js/rewrite_async.dart b/pkg/compiler/lib/src/js/rewrite_async.dart
index 41a8466..1282401 100644
--- a/pkg/compiler/lib/src/js/rewrite_async.dart
+++ b/pkg/compiler/lib/src/js/rewrite_async.dart
@@ -1281,12 +1281,20 @@
@override
void visitReturn(js.Return node) {
- assert(node.value == null || (!isSyncStar && !isAsyncStar));
js.Node target = analysis.targets[node];
if (node.value != null) {
- withExpression(node.value, (js.Expression value) {
- addStatement(js.js.statement("# = #;", [returnValue, value]));
- }, store: false);
+ if(isSyncStar || isAsyncStar) {
+ // Even though `return expr;` is not allowed in the dart sync* and
+ // async* code, the backend sometimes generates code like this, but
+ // only when it is known that the 'expr' throws, and the return is just
+ // to tell the JavaScript VM that the code won't continue here.
+ // It is therefore interpreted as `expr; return;`
+ visitExpressionIgnoreResult(node.value);
+ } else {
+ withExpression(node.value, (js.Expression value) {
+ addStatement(js.js.statement("# = #;", [returnValue, value]));
+ }, store: false);
+ }
}
translateJump(target, exitLabel);
}
diff --git a/pkg/compiler/lib/src/js_backend/backend.dart b/pkg/compiler/lib/src/js_backend/backend.dart
index bbe0c3b..ba39217 100644
--- a/pkg/compiler/lib/src/js_backend/backend.dart
+++ b/pkg/compiler/lib/src/js_backend/backend.dart
@@ -242,6 +242,8 @@
static const String START_ROOT_ISOLATE = 'startRootIsolate';
+ bool get supportsReflection => emitter.emitter.supportsReflection;
+
String get patchVersion => USE_LAZY_EMITTER ? 'lazy' : 'full';
final Annotations annotations;
diff --git a/pkg/compiler/lib/src/js_backend/codegen/task.dart b/pkg/compiler/lib/src/js_backend/codegen/task.dart
index 9c4658c..de97137 100644
--- a/pkg/compiler/lib/src/js_backend/codegen/task.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen/task.dart
@@ -72,19 +72,7 @@
// switch.
if (element.isNative ||
element.isPatched ||
- libraryName == 'origin library(dart:typed_data)' ||
- // Using switch or try-finally.
- library.isInternalLibrary && name == 'unwrapException' ||
- library.isPlatformLibrary && className == 'IterableBase' ||
- library.isInternalLibrary && className == 'Closure' ||
- libraryName == 'origin library(dart:collection)' &&
- name == 'mapToString' ||
- libraryName == 'library(dart:html)' && name == 'sanitizeNode' ||
- className == '_IsolateContext' ||
- className == 'IsolateNatives' ||
- className == '_Deserializer' ||
- name == '_rootRun' ||
- name == '_microtaskLoopEntry') {
+ libraryName == 'origin library(dart:typed_data)') {
compiler.log('Using SSA compiler for platform element $element');
return fallbackCompiler.compile(work);
}
@@ -130,6 +118,10 @@
}
}
traceGraph("IR Builder", cpsNode);
+ // Eliminating redundant phis before the unsugaring pass will make it
+ // insert fewer getInterceptor calls.
+ new RedundantPhiEliminator().rewrite(cpsNode);
+ traceGraph("Redundant phi elimination", cpsNode);
new UnsugarVisitor(glue).rewrite(cpsNode);
traceGraph("Unsugaring", cpsNode);
return cpsNode;
@@ -181,14 +173,15 @@
assert(checkCpsIntegrity(cpsNode));
}
- applyCpsPass(new RedundantPhiEliminator());
TypePropagator typePropagator = new TypePropagator(compiler);
applyCpsPass(typePropagator);
dumpTypedIR(cpsNode, typePropagator);
applyCpsPass(new ShrinkingReducer());
+ applyCpsPass(new MutableVariableEliminator());
applyCpsPass(new RedundantJoinEliminator());
applyCpsPass(new RedundantPhiEliminator());
applyCpsPass(new ShrinkingReducer());
+ applyCpsPass(new LetSinker());
return cpsNode;
}
diff --git a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
index bbe998f..110d156 100644
--- a/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
+++ b/pkg/compiler/lib/src/js_backend/codegen/unsugar.dart
@@ -5,12 +5,7 @@
import '../../cps_ir/optimizers.dart' show ParentVisitor;
import '../../constants/expressions.dart';
import '../../constants/values.dart';
-import '../../elements/elements.dart' show
- ClassElement,
- FieldElement,
- FunctionElement,
- Local,
- ExecutableElement;
+import '../../elements/elements.dart';
import '../../js_backend/codegen/glue.dart';
import '../../dart2jslib.dart' show Selector, World;
import '../../cps_ir/cps_ir_builder.dart' show ThisParameterLocal;
@@ -22,6 +17,16 @@
toString() => 'ExplicitReceiverParameterEntity($executableContext)';
}
+/// Suggested name for an interceptor.
+class InterceptorEntity extends Entity {
+ Entity interceptedVariable;
+
+ InterceptorEntity(this.interceptedVariable);
+
+ String get name => interceptedVariable.name + '_';
+}
+
+
/// Rewrites the initial CPS IR to make Dart semantics explicit and inserts
/// special nodes that respect JavaScript behavior.
///
@@ -38,6 +43,8 @@
Parameter thisParameter;
Parameter explicitReceiverParameter;
+ Map<Primitive, Interceptor> interceptors = <Primitive, Interceptor>{};
+
// In a catch block, rethrow implicitly throws the block's exception
// parameter. This is the exception parameter when nested in a catch
// block and null otherwise.
@@ -227,6 +234,32 @@
// worry about unlinking.
}
+ /// Returns an interceptor for the given value, capable of responding to
+ /// [selector].
+ ///
+ /// A single getInterceptor call will be created per primitive, bound
+ /// immediately after the primitive is bound.
+ ///
+ /// The type propagation pass will later narrow the set of interceptors
+ /// based on the input type, and the let sinking pass will propagate the
+ /// getInterceptor call closer to its use when this is profitable.
+ Interceptor getInterceptorFor(Primitive prim, Selector selector) {
+ Interceptor interceptor = interceptors[prim];
+ if (interceptor == null) {
+ interceptor = new Interceptor(prim);
+ interceptors[prim] = interceptor;
+ InteriorNode parent = prim.parent;
+ insertLetPrim(interceptor, parent.body);
+ if (prim.hint != null) {
+ interceptor.hint = new InterceptorEntity(prim.hint);
+ }
+ }
+ // Add the interceptor classes that can respond to the given selector.
+ interceptor.interceptedClasses.addAll(
+ _glue.getInterceptedClassesOn(selector));
+ return interceptor;
+ }
+
processInvokeMethod(InvokeMethod node) {
Selector selector = node.selector;
if (!_glue.isInterceptedSelector(selector)) return;
@@ -240,13 +273,7 @@
// Change 'receiver.foo()' to 'this.foo(receiver)'.
newReceiver = thisParameter;
} else {
- // TODO(sra): Move the computation of interceptedClasses to a much later
- // phase and take into account the remaining uses of the interceptor.
- Set<ClassElement> interceptedClasses =
- _glue.getInterceptedClassesOn(selector);
- _glue.registerSpecializedGetInterceptor(interceptedClasses);
- newReceiver = new Interceptor(receiver, interceptedClasses);
- insertLetPrim(newReceiver, node);
+ newReceiver = getInterceptorFor(receiver, node.selector);
}
node.arguments.insert(0, node.receiver);
diff --git a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
index 0b9cdb2..cdcc609 100644
--- a/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
+++ b/pkg/compiler/lib/src/js_emitter/code_emitter_task.dart
@@ -5,6 +5,8 @@
part of dart2js.js_emitter;
const USE_LAZY_EMITTER = const bool.fromEnvironment("dart2js.use.lazy.emitter");
+const USE_STARTUP_EMITTER =
+ const bool.fromEnvironment("dart2js.use.startup.emitter");
/**
* Generates the code for all used classes in the program. Static fields (even
@@ -38,9 +40,14 @@
this.namer = namer,
this.typeTestRegistry = new TypeTestRegistry(compiler) {
nativeEmitter = new NativeEmitter(this);
- emitter = USE_LAZY_EMITTER
- ? new lazy_js_emitter.Emitter(compiler, namer, nativeEmitter)
- : new full_js_emitter.Emitter(compiler, namer, generateSourceMap, this);
+ if (USE_LAZY_EMITTER) {
+ emitter = new lazy_js_emitter.Emitter(compiler, namer, nativeEmitter);
+ } else if (USE_STARTUP_EMITTER) {
+ emitter = new startup_js_emitter.Emitter(compiler, namer, nativeEmitter);
+ } else {
+ emitter =
+ new full_js_emitter.Emitter(compiler, namer, generateSourceMap, this);
+ }
metadataCollector = new MetadataCollector(compiler, emitter);
}
@@ -145,6 +152,9 @@
/// the program, and returns the size of the generated output.
int emitProgram(ProgramBuilder programBuilder);
+ /// Returns true, if the emitter supports reflection.
+ bool get supportsReflection;
+
/// Returns the JS function that must be invoked to get the value of the
/// lazily initialized static.
jsAst.Expression isolateLazyInitializerAccess(FieldElement element);
diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart
index 278e356..02a0ac2 100644
--- a/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/full_emitter/emitter.dart
@@ -8,7 +8,9 @@
import 'dart:collection' show HashMap;
import 'package:js_runtime/shared/embedded_names.dart' as embeddedNames;
-import 'package:js_runtime/shared/embedded_names.dart' show JsBuiltin;
+import 'package:js_runtime/shared/embedded_names.dart' show
+ JsBuiltin,
+ JsGetName;
import '../js_emitter.dart' hide Emitter;
import '../js_emitter.dart' as js_emitter show Emitter;
@@ -288,6 +290,9 @@
String get globalsHolder => r"$globals$";
@override
+ bool get supportsReflection => true;
+
+ @override
jsAst.Expression generateEmbeddedGlobalAccess(String global) {
return js(generateEmbeddedGlobalAccessString(global));
}
diff --git a/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart b/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
index aa30bd9..309e121 100644
--- a/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/full_emitter/setup_program_builder.dart
@@ -279,7 +279,7 @@
#initializeEmptyInstance = function(name, o, fields) {
#allClasses[name].apply(o, fields);
- return o; //
+ return o;
}
}
@@ -747,6 +747,8 @@
mangledNames[name] = reflectionName;
funcs[0].$reflectionNameField = reflectionName;
funcs[0].$metadataIndexField = unmangledNameIndex + 1;
+ // The following line installs the [${JsGetName.CALL_CATCH_ALL}]
+ // property for closures.
if (optionalParameterCount) prototype[unmangledName + "*"] = funcs[0];
}
}
diff --git a/pkg/compiler/lib/src/js_emitter/js_emitter.dart b/pkg/compiler/lib/src/js_emitter/js_emitter.dart
index 4c642eb..fff722e 100644
--- a/pkg/compiler/lib/src/js_emitter/js_emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/js_emitter.dart
@@ -50,8 +50,9 @@
import 'model.dart';
import 'program_builder/program_builder.dart';
-import 'lazy_emitter/emitter.dart' as lazy_js_emitter;
import 'full_emitter/emitter.dart' as full_js_emitter;
+import 'lazy_emitter/emitter.dart' as lazy_js_emitter;
+import 'startup_emitter/emitter.dart' as startup_js_emitter;
import '../universe/universe.dart' show
TypeMaskSet,
diff --git a/pkg/compiler/lib/src/js_emitter/lazy_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/lazy_emitter/emitter.dart
index e8b7a5d..70431c1 100644
--- a/pkg/compiler/lib/src/js_emitter/lazy_emitter/emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/lazy_emitter/emitter.dart
@@ -47,6 +47,9 @@
return _emitter.emitProgram(program);
}
+ @override
+ bool get supportsReflection => false;
+
// TODO(floitsch): copied from full emitter. Adjust or share.
@override
bool isConstantInlinedOrAlreadyEmitted(ConstantValue constant) {
diff --git a/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart b/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
index 3423d30..f391ed9 100644
--- a/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
+++ b/pkg/compiler/lib/src/js_emitter/main_call_stub_generator.dart
@@ -52,7 +52,9 @@
callback(null);
return;
}
- if (document.currentScript) {
+ // When running as a content-script of a chrome-extension the
+ // 'currentScript' is `null` (but not undefined).
+ if (typeof document.currentScript != 'undefined') {
callback(document.currentScript);
return;
}
diff --git a/pkg/compiler/lib/src/js_emitter/model.dart b/pkg/compiler/lib/src/js_emitter/model.dart
index b43c51c..a76c63a 100644
--- a/pkg/compiler/lib/src/js_emitter/model.dart
+++ b/pkg/compiler/lib/src/js_emitter/model.dart
@@ -84,8 +84,10 @@
final String name;
final int index;
final bool isStaticStateHolder;
+ final bool isConstantsHolder;
- Holder(this.name, this.index, {this.isStaticStateHolder: false});
+ Holder(this.name, this.index,
+ {this.isStaticStateHolder: false, this.isConstantsHolder: false});
}
/**
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
index deadcb7..a526b48 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart
@@ -100,8 +100,7 @@
_registry.registerElements);
// We always add the current isolate holder.
- _registry.registerHolder(
- namer.staticStateHolder, isStaticStateHolder: true);
+ _registerStaticStateHolder();
// We need to run the native-preparation before we build the output. The
// preparation code, in turn needs the classes to be set up.
@@ -208,6 +207,8 @@
}
js.Statement _buildInvokeMain() {
+ if (_compiler.isMockCompilation) return js.js.comment("Mock compilation");
+
MainCallStubGenerator generator =
new MainCallStubGenerator(_compiler, backend, backend.emitter);
return generator.generateInvokeMain();
@@ -249,17 +250,19 @@
ConstantValue initialValue = handler.getInitialValueFor(element);
// TODO(zarah): The holder should not be registered during building of
// a static field.
- _registry.registerHolder(namer.globalObjectForConstant(initialValue));
+ _registry.registerHolder(
+ namer.globalObjectForConstant(initialValue), isConstantsHolder: true);
js.Expression code = _task.emitter.constantReference(initialValue);
js.Name name = namer.globalPropertyName(element);
bool isFinal = false;
bool isLazy = false;
// TODO(floitsch): we shouldn't update the registry in the middle of
- // building a static field. (Note that the $ holder is already registered
- // earlier).
+ // building a static field. (Note that the static-state holder was
+ // already registered earlier, and that we just call the register to get
+ // the holder-instance.
return new StaticField(element,
- name, _registry.registerHolder(r'$'), code,
+ name, _registerStaticStateHolder(), code,
isFinal, isLazy);
}
@@ -291,10 +294,11 @@
bool isFinal = element.isFinal;
bool isLazy = true;
// TODO(floitsch): we shouldn't update the registry in the middle of
- // building a static field. (Note that the $ holder is already registered
- // earlier).
+ // building a static field. (Note that the static-state holder was
+ // already registered earlier, and that we just call the register to get
+ // the holder-instance.
return new StaticField(element,
- name, _registry.registerHolder(r'$'), code,
+ name, _registerStaticStateHolder(), code,
isFinal, isLazy);
}
@@ -791,9 +795,15 @@
assert(!_constants.containsKey(constantValue));
js.Name name = namer.constantName(constantValue);
String constantObject = namer.globalObjectForConstant(constantValue);
- Holder holder = _registry.registerHolder(constantObject);
+ Holder holder =
+ _registry.registerHolder(constantObject, isConstantsHolder: true);
Constant constant = new Constant(name, holder, constantValue);
_constants[constantValue] = constant;
}
}
+
+ Holder _registerStaticStateHolder() {
+ return _registry.registerHolder(
+ namer.staticStateHolder, isStaticStateHolder: true);
+ }
}
diff --git a/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart b/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart
index 2fe3e12..5614bf9 100644
--- a/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart
+++ b/pkg/compiler/lib/src/js_emitter/program_builder/registry.dart
@@ -113,10 +113,17 @@
// Ignore for now.
}
- Holder registerHolder(String name, {bool isStaticStateHolder: false}) {
+ Holder registerHolder(
+ String name,
+ {bool isStaticStateHolder: false, bool isConstantsHolder: false}) {
+ assert(_holdersMap[name] == null ||
+ (_holdersMap[name].isStaticStateHolder == isStaticStateHolder &&
+ _holdersMap[name].isConstantsHolder == isConstantsHolder));
+
return _holdersMap.putIfAbsent(name, () {
return new Holder(name, _holdersMap.length,
- isStaticStateHolder: isStaticStateHolder);
+ isStaticStateHolder: isStaticStateHolder,
+ isConstantsHolder: isConstantsHolder);
});
}
}
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/emitter.dart
new file mode 100644
index 0000000..fb5b823
--- /dev/null
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/emitter.dart
@@ -0,0 +1,185 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library dart2js.js_emitter.startup_emitter;
+
+import 'package:js_runtime/shared/embedded_names.dart' show
+ JsBuiltin,
+ METADATA,
+ TYPES;
+
+import '../program_builder/program_builder.dart' show ProgramBuilder;
+import '../model.dart';
+import 'model_emitter.dart';
+import '../../common.dart';
+import '../../elements/elements.dart' show FieldElement;
+import '../../js/js.dart' as js;
+
+import '../../js_backend/js_backend.dart' show
+JavaScriptBackend,
+Namer;
+
+import '../js_emitter.dart' show
+ NativeEmitter;
+
+import '../js_emitter.dart' as emitterTask show
+ Emitter;
+
+import '../../util/util.dart' show
+ NO_LOCATION_SPANNABLE;
+
+class Emitter implements emitterTask.Emitter {
+ final Compiler _compiler;
+ final Namer namer;
+ final ModelEmitter _emitter;
+
+ JavaScriptBackend get _backend => _compiler.backend;
+
+ Emitter(Compiler compiler, Namer namer, NativeEmitter nativeEmitter)
+ : this._compiler = compiler,
+ this.namer = namer,
+ _emitter = new ModelEmitter(compiler, namer, nativeEmitter);
+
+ @override
+ int emitProgram(ProgramBuilder programBuilder) {
+ Program program = programBuilder.buildProgram();
+ return _emitter.emitProgram(program);
+ }
+
+ @override
+ bool get supportsReflection => false;
+
+ @override
+ bool isConstantInlinedOrAlreadyEmitted(ConstantValue constant) {
+ return _emitter.isConstantInlinedOrAlreadyEmitted(constant);
+ }
+
+ @override
+ int compareConstants(ConstantValue a, ConstantValue b) {
+ return _emitter.compareConstants(a, b);
+ }
+
+ @override
+ js.Expression constantReference(ConstantValue value) {
+ return _emitter.generateConstantReference(value);
+ }
+
+ @override
+ js.Expression generateEmbeddedGlobalAccess(String global) {
+ return _emitter.generateEmbeddedGlobalAccess(global);
+ }
+
+ @override
+ // TODO(herhut): Use a single shared function.
+ js.Expression generateFunctionThatReturnsNull() {
+ return js.js('function() {}');
+ }
+
+ js.PropertyAccess _globalPropertyAccess(Element element) {
+ js.Name name = namer.globalPropertyName(element);
+ js.PropertyAccess pa = new js.PropertyAccess(
+ new js.VariableUse(namer.globalObjectFor(element)), name);
+ return pa;
+ }
+
+ @override
+ js.Expression isolateLazyInitializerAccess(FieldElement element) {
+ return js.js('#.#', [namer.globalObjectFor(element),
+ namer.lazyInitializerName(element)]);
+ }
+
+ @override
+ js.Expression isolateStaticClosureAccess(FunctionElement element) {
+ return _emitter.generateStaticClosureAccess(element);
+ }
+
+ @override
+ js.PropertyAccess staticFieldAccess(FieldElement element) {
+ return _globalPropertyAccess(element);
+ }
+
+ @override
+ js.PropertyAccess staticFunctionAccess(FunctionElement element) {
+ return _globalPropertyAccess(element);
+ }
+
+ @override
+ js.PropertyAccess constructorAccess(ClassElement element) {
+ return _globalPropertyAccess(element);
+ }
+
+ @override
+ js.PropertyAccess prototypeAccess(ClassElement element,
+ bool hasBeenInstantiated) {
+ js.Expression constructor =
+ hasBeenInstantiated ? constructorAccess(element) : typeAccess(element);
+ return js.js('#.prototype', constructor);
+ }
+
+ @override
+ js.Expression interceptorClassAccess(ClassElement element) {
+ return _globalPropertyAccess(element);
+ }
+
+ @override
+ js.Expression typeAccess(Element element) {
+ return _globalPropertyAccess(element);
+ }
+
+ @override
+ js.Template templateForBuiltin(JsBuiltin builtin) {
+ String typeNameProperty = ModelEmitter.typeNameProperty;
+
+ switch (builtin) {
+ case JsBuiltin.dartObjectConstructor:
+ return js.js.expressionTemplateYielding(
+ typeAccess(_compiler.objectClass));
+
+ case JsBuiltin.isCheckPropertyToJsConstructorName:
+ int isPrefixLength = namer.operatorIsPrefix.length;
+ return js.js.expressionTemplateFor('#.substring($isPrefixLength)');
+
+ case JsBuiltin.isFunctionType:
+ return _backend.rti.representationGenerator.templateForIsFunctionType;
+
+ case JsBuiltin.rawRtiToJsConstructorName:
+ return js.js.expressionTemplateFor("#.$typeNameProperty");
+
+ case JsBuiltin.rawRuntimeType:
+ return js.js.expressionTemplateFor("#.constructor");
+
+ case JsBuiltin.createFunctionTypeRti:
+ return _backend.rti.representationGenerator
+ .templateForCreateFunctionType;
+
+ case JsBuiltin.isSubtype:
+ // TODO(floitsch): move this closer to where is-check properties are
+ // built.
+ String isPrefix = namer.operatorIsPrefix;
+ return js.js.expressionTemplateFor("('$isPrefix' + #) in #.prototype");
+
+ case JsBuiltin.isGivenTypeRti:
+ return js.js.expressionTemplateFor('#.$typeNameProperty === #');
+
+ case JsBuiltin.getMetadata:
+ String metadataAccess =
+ _emitter.generateEmbeddedGlobalAccessString(METADATA);
+ return js.js.expressionTemplateFor("$metadataAccess[#]");
+
+ case JsBuiltin.getType:
+ String typesAccess =
+ _emitter.generateEmbeddedGlobalAccessString(TYPES);
+ return js.js.expressionTemplateFor("$typesAccess[#]");
+
+ default:
+ _compiler.internalError(NO_LOCATION_SPANNABLE,
+ "Unhandled Builtin: $builtin");
+ return null;
+ }
+ }
+
+ @override
+ void invalidateCaches() {
+ }
+}
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
new file mode 100644
index 0000000..390ecd6
--- /dev/null
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/fragment_emitter.dart
@@ -0,0 +1,276 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+part of dart2js.js_emitter.startup_emitter.model_emitter;
+
+/// The fast startup emitter's goal is to minimize the amount of work that the
+/// JavaScript engine has to do before it can start running user code.
+///
+/// Whenever possible, the emitter uses object literals instead of updating
+/// objects.
+///
+/// Example:
+///
+/// // Holders are initialized directly with the classes and static
+/// // functions.
+/// var A = { Point: function Point(x, y) { this.x = x; this.y = y },
+/// someStaticFunction: function someStaticFunction() { ... } };
+///
+/// // Class-behavior is emitted in a prototype object that is directly
+/// // assigned:
+/// A.Point.prototype = { distanceTo: function(other) { ... } };
+///
+/// // Inheritance is achieved by updating the prototype objects (hidden in
+/// // a helper function):
+/// A.Point.prototype.__proto__ = H.Object.prototype;
+///
+/// The emitter doesn't try to be clever and emits everything beforehand. This
+/// increases the output size, but improves performance.
+///
+// The code relies on the fact that all Dart code is inside holders. As such
+// we can use "global" names however we want. As long as we don't shadow
+// JavaScript variables (like `Array`) we are free to chose whatever variable
+// names we want. Furthermore, the minifier reduces the names of the variables.
+const String mainBoilerplate = '''
+{
+// Declare deferred-initializer global, which is used to keep track of the
+// loaded fragments.
+#deferredInitializer;
+
+(function() {
+// Copies the own properties from [from] to [to].
+function copyProperties(from, to) {
+ var keys = Object.keys(from);
+ for (var i = 0; i < keys.length; i++) {
+ to[keys[i]] = from[keys[i]];
+ }
+}
+
+// Makes [cls] inherit from [sup].
+// On Chrome, Firefox and recent IEs this happens by updating the internal
+// proto-property of the classes 'prototype' field.
+// Older IEs use `Object.create` and copy over the properties.
+function inherit(cls, sup) {
+ // TODO(floitsch): IE doesn't support changing the __proto__ property. There,
+ // we need to copy the properties instead.
+ cls.#typeNameProperty = cls.name; // Needed for RTI.
+ cls.prototype.constructor = cls;
+ cls.prototype[#operatorIsPrefix + cls.name] = cls;
+ cls.prototype.__proto__ = sup.prototype;
+}
+
+// Mixes in the properties of [mixin] into [cls].
+function mixin(cls, mixin) {
+ copyProperties(mixin.prototype, cls.prototype);
+}
+
+// Creates a lazy field.
+//
+// A lazy field has a storage entry, [name], which holds the value, and a
+// getter ([getterName]) to access the field. If the field wasn't set before
+// the first access, it is initialized with the [initializer].
+function lazy(holder, name, getterName, initializer) {
+ holder[name] = null;
+ holder[getterName] = function() {
+ holder[getterName] = function() { #cyclicThrow(name) };
+ var result;
+ var sentinelInProgress = initializer;
+ try {
+ result = holder[name] = sentinelInProgress;
+ result = holder[name] = initializer();
+ } finally {
+ // Use try-finally, not try-catch/throw as it destroys the stack
+ // trace.
+ if (result === sentinelInProgress) {
+ // The lazy static (holder[name]) might have been set to a different
+ // value. According to spec we still have to reset it to null, if
+ // the initialization failed.
+ holder[name] = null;
+ }
+ // TODO(floitsch): for performance reasons the function should probably
+ // be unique for each static.
+ holder[getterName] = function() { return this[name]; };
+ }
+ return result;
+ };
+}
+
+// Given a list, marks it as constant.
+//
+// The runtime ensures that const-lists cannot be modified.
+function makeConstList(list) {
+ // By assigning a function to the properties they become part of the
+ // hidden class. The actual values of the fields don't matter, since we
+ // only check if they exist.
+ list.immutable\$list = Array;
+ list.fixed\$length = Array;
+ return list;
+}
+
+// TODO(floitsch): provide code for tear-offs.
+
+// Instead of setting the interceptor tags directly we use this update
+// function. This makes it easier for deferred fragments to contribute to the
+// embedded global.
+function setOrUpdateInterceptorsByTag(newTags) {
+ var tags = #embeddedInterceptorTags;
+ if (!tags) {
+ #embeddedInterceptorTags = newTags;
+ return;
+ }
+ copyProperties(newTags, tags);
+}
+
+// Instead of setting the leaf tags directly we use this update
+// function. This makes it easier for deferred fragments to contribute to the
+// embedded global.
+function setOrUpdateLeafTags(newTags) {
+ var tags = #embeddedLeafTags;
+ if (!tags) {
+ #embeddedLeafTags = newTags;
+ return;
+ }
+ copyProperties(newTags, tags);
+}
+
+// Updates the types embedded global.
+function updateTypes(newTypes) {
+ var types = #embeddedTypes;
+ types.push.apply(types, newTypes);
+}
+
+// Updates the given holder with the properties of the [newHolder].
+// This function is used when a deferred fragment is initialized.
+function updateHolder(holder, newHolder) {
+ // TODO(floitsch): updating the prototype (instead of copying) is
+ // *horribly* inefficient in Firefox. There we should just copy the
+ // properties.
+ var oldPrototype = holder.__proto__;
+ newHolder.__proto__ = oldPrototype;
+ holder.__proto__ = newHolder;
+ return holder;
+}
+
+// Every deferred hunk (i.e. fragment) is a function that we can invoke to
+// initialize it. At this moment it contributes its data to the main hunk.
+function initializeDeferredHunk(hunk) {
+ // TODO(floitsch): extend natives.
+ hunk(derive, mixin, lazy, makeConstList, installTearOff,
+ updateHolder, updateTypes, updateInterceptorsByTag, updateLeafTags,
+ #embeddedGlobalsObject, #holdersList, #currentIsolate);
+}
+
+// Creates the holders.
+#holders;
+// Sets the prototypes of classes.
+#prototypes;
+// Sets aliases of methods (on the prototypes of classes).
+#aliases;
+// Installs the tear-offs of functions.
+#tearOffs;
+// Builds the inheritance structure.
+#inheritance;
+
+// Emits the embedded globals.
+#embeddedGlobals;
+
+// Sets up the native support.
+// Native-support uses setOrUpdateInterceptorsByTag and setOrUpdateLeafTags.
+#nativeSupport;
+
+// Instantiates all constants.
+#constants;
+// Initializes the static non-final fields (with their constant values).
+#staticNonFinalFields;
+// Creates lazy getters for statics that must run initializers on first access.
+#lazyStatics;
+
+// Invokes main (making sure that it records the 'current-script' value).
+#invokeMain;
+})();
+}''';
+
+/// Deferred fragments (aka 'hunks') are built similarly to the main fragment.
+///
+/// However, at specific moments they need to contribute their data.
+/// For example, once the holders have been created, they are included into
+/// the main holders.
+const String deferredBoilerplate = '''
+{
+#deferredInitializers.current =
+function(derive, mixin, lazy, makeConstList, installTearOff,
+ updateHolder, updateTypes,
+ setOrUpdateInterceptorsByTag, setOrUpdateLeafTags,
+ #embeddedGlobalsObject, holdersList, #currentIsolate) {
+
+// Builds the holders. They only contain the data for new holders.
+#holders;
+// Updates the holders of the main-fragment. Uses the provided holdersList to
+// access the main holders.
+// The local holders are replaced by the combined holders. This is necessary
+// for the inheritance setup below.
+#updateHolders;
+// Sets the prototypes of the new classes.
+#prototypes;
+// Sets aliases of methods (on the prototypes of classes).
+#aliases;
+// Installs the tear-offs of functions.
+#tearOffs;
+// Builds the inheritance structure.
+#inheritance;
+
+updateTypes(#types);
+
+// Native-support uses setOrUpdateInterceptorsByTag and setOrUpdateLeafTags.
+#nativeSupport;
+
+// Instantiates all constants of this deferred fragment.
+// Note that the constant-holder has been updated earlier and storing the
+// constant values in the constant-holder makes them available globally.
+#constants;
+// Initializes the static non-final fields (with their constant values).
+#staticNonFinalFields;
+// Creates lazy getters for statics that must run initializers on first access.
+#lazyStatics;
+};
+// TODO(floitsch): this last line should be outside the AST, since it
+// requires to know the hash of the part of the code above this comment.
+#deferredInitializers[#hash] = #deferredInitializers.current;
+}''';
+
+/**
+ * This class builds a JavaScript tree for a given fragment.
+ *
+ * A fragment is generally written into a separate file so that it can be
+ * loaded dynamically when a deferred library is loaded.
+ *
+ * This class is stateless and can be reused for different fragments.
+ */
+class FragmentEmitter {
+ final Compiler compiler;
+ final Namer namer;
+ final JavaScriptBackend backend;
+ final ConstantEmitter constantEmitter;
+ final ModelEmitter modelEmitter;
+
+ FragmentEmitter(this.compiler, this.namer, this.backend, this.constantEmitter,
+ this.modelEmitter);
+
+ js.Expression generateEmbeddedGlobalAccess(String global) =>
+ modelEmitter.generateEmbeddedGlobalAccess(global);
+
+ js.Expression generateConstantReference(ConstantValue value) =>
+ modelEmitter.generateConstantReference(value);
+
+ js.Statement emitMainFragment(Program program) {
+ MainFragment fragment = program.fragments.first;
+ throw new UnimplementedError('emitMain');
+ }
+
+ js.Statement emitDeferredFragment(DeferredFragment fragment,
+ js.Expression deferredTypes,
+ List<Holder> holders) {
+ throw new UnimplementedError('emitDeferred');
+ }
+}
\ No newline at end of file
diff --git a/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart b/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
new file mode 100644
index 0000000..9797dbb
--- /dev/null
+++ b/pkg/compiler/lib/src/js_emitter/startup_emitter/model_emitter.dart
@@ -0,0 +1,180 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library dart2js.js_emitter.startup_emitter.model_emitter;
+
+import '../../constants/values.dart' show ConstantValue, FunctionConstantValue;
+import '../../dart2jslib.dart' show Compiler;
+import '../../elements/elements.dart' show ClassElement, FunctionElement;
+import '../../js/js.dart' as js;
+import '../../js_backend/js_backend.dart' show
+ JavaScriptBackend,
+ Namer,
+ ConstantEmitter;
+
+import '../js_emitter.dart' show AstContainer, NativeEmitter;
+
+import 'package:js_runtime/shared/embedded_names.dart' show
+ CREATE_NEW_ISOLATE,
+ DEFERRED_INITIALIZED,
+ DEFERRED_LIBRARY_URIS,
+ DEFERRED_LIBRARY_HASHES,
+ GET_TYPE_FROM_NAME,
+ INITIALIZE_LOADED_HUNK,
+ INTERCEPTORS_BY_TAG,
+ IS_HUNK_INITIALIZED,
+ IS_HUNK_LOADED,
+ LEAF_TAGS,
+ MANGLED_GLOBAL_NAMES,
+ METADATA,
+ NATIVE_SUPERCLASS_TAG_NAME,
+ TYPE_TO_INTERCEPTOR_MAP,
+ TYPES;
+
+import '../js_emitter.dart' show NativeGenerator, buildTearOffCode;
+import '../model.dart';
+
+part 'fragment_emitter.dart';
+
+class ModelEmitter {
+ final Compiler compiler;
+ final Namer namer;
+ ConstantEmitter constantEmitter;
+ final NativeEmitter nativeEmitter;
+
+ JavaScriptBackend get backend => compiler.backend;
+
+ /// For deferred loading we communicate the initializers via this global var.
+ static const String deferredInitializersGlobal =
+ r"$__dart_deferred_initializers__";
+
+ static const String deferredExtension = "part.js";
+
+ static const String typeNameProperty = r"builtin$cls";
+
+ ModelEmitter(Compiler compiler, Namer namer, this.nativeEmitter)
+ : this.compiler = compiler,
+ this.namer = namer {
+ this.constantEmitter = new ConstantEmitter(
+ compiler, namer, this.generateConstantReference,
+ constantListGenerator);
+ }
+
+ js.Expression constantListGenerator(js.Expression array) {
+ // TODO(floitsch): remove hard-coded name.
+ return js.js('makeConstList(#)', [array]);
+ }
+
+ js.Expression generateEmbeddedGlobalAccess(String global) {
+ return js.js(generateEmbeddedGlobalAccessString(global));
+ }
+
+ String generateEmbeddedGlobalAccessString(String global) {
+ // TODO(floitsch): don't use 'init' as global embedder storage.
+ return 'init.$global';
+ }
+
+ bool isConstantInlinedOrAlreadyEmitted(ConstantValue constant) {
+ if (constant.isFunction) return true; // Already emitted.
+ if (constant.isPrimitive) return true; // Inlined.
+ if (constant.isDummy) return true; // Inlined.
+ return false;
+ }
+
+ // TODO(floitsch): copied from OldEmitter. Adjust or share.
+ int compareConstants(ConstantValue a, ConstantValue b) {
+ // Inlined constants don't affect the order and sometimes don't even have
+ // names.
+ int cmp1 = isConstantInlinedOrAlreadyEmitted(a) ? 0 : 1;
+ int cmp2 = isConstantInlinedOrAlreadyEmitted(b) ? 0 : 1;
+ if (cmp1 + cmp2 < 2) return cmp1 - cmp2;
+
+ // Emit constant interceptors first. Constant interceptors for primitives
+ // might be used by code that builds other constants. See Issue 18173.
+ if (a.isInterceptor != b.isInterceptor) {
+ return a.isInterceptor ? -1 : 1;
+ }
+
+ // Sorting by the long name clusters constants with the same constructor
+ // which compresses a tiny bit better.
+ int r = namer.constantLongName(a).compareTo(namer.constantLongName(b));
+ if (r != 0) return r;
+ // Resolve collisions in the long name by using the constant name (i.e. JS
+ // name) which is unique.
+ return namer.constantName(a).compareTo(namer.constantName(b));
+ }
+
+ js.Expression generateStaticClosureAccess(FunctionElement element) {
+ return js.js('#.#()',
+ [namer.globalObjectFor(element), namer.staticClosureName(element)]);
+ }
+
+ js.Expression generateConstantReference(ConstantValue value) {
+ if (value.isFunction) {
+ FunctionConstantValue functionConstant = value;
+ return generateStaticClosureAccess(functionConstant.element);
+ }
+
+ // We are only interested in the "isInlined" part, but it does not hurt to
+ // test for the other predicates.
+ if (isConstantInlinedOrAlreadyEmitted(value)) {
+ return constantEmitter.generate(value);
+ }
+ return js.js('#.#', [namer.globalObjectForConstant(value),
+ namer.constantName(value)]);
+ }
+
+ int emitProgram(Program program) {
+ List<Fragment> fragments = program.fragments;
+ MainFragment mainFragment = fragments.first;
+
+ int totalSize = 0;
+
+ FragmentEmitter fragmentEmitter =
+ new FragmentEmitter(compiler, namer, backend, constantEmitter, this);
+
+ // We have to emit the deferred fragments first, since we need their
+ // deferred hash (which depends on the output) when emitting the main
+ // fragment.
+ List<js.Expression> fragmentsCode = fragments.skip(1).map(
+ (DeferredFragment deferredFragment) {
+ js.Expression types =
+ program.metadataTypesForOutputUnit(deferredFragment.outputUnit);
+ return fragmentEmitter.emitDeferredFragment(
+ deferredFragment, types, program.holders);
+ }).toList();
+
+ js.Statement mainAst = fragmentEmitter.emitMainFragment(program);
+
+ js.TokenCounter counter = new js.TokenCounter();
+ fragmentsCode.forEach(counter.countTokens);
+ counter.countTokens(mainAst);
+
+ program.finalizers.forEach((js.TokenFinalizer f) => f.finalizeTokens());
+
+ for (int i = 0; i < fragmentsCode.length; ++i) {
+ String code = js.prettyPrint(fragmentsCode[i], compiler).getText();
+ totalSize += code.length;
+ compiler.outputProvider(fragments[i+1].outputFileName, deferredExtension)
+ ..add(code)
+ ..close();
+ }
+
+ String mainCode = js.prettyPrint(mainAst, compiler).getText();
+ compiler.outputProvider(mainFragment.outputFileName, 'js')
+ ..add(buildGeneratedBy(compiler))
+ ..add(mainCode)
+ ..close();
+ totalSize += mainCode.length;
+
+ return totalSize;
+ }
+
+ String buildGeneratedBy(compiler) {
+ var suffix = '';
+ if (compiler.hasBuildId) suffix = ' version: ${compiler.buildId}';
+ return '// Generated by dart2js (fast startup), '
+ 'the Dart to JavaScript compiler$suffix.\n';
+ }
+}
diff --git a/pkg/compiler/lib/src/mirrors/analyze.dart b/pkg/compiler/lib/src/mirrors/analyze.dart
index 8932fff..96dc594 100644
--- a/pkg/compiler/lib/src/mirrors/analyze.dart
+++ b/pkg/compiler/lib/src/mirrors/analyze.dart
@@ -11,6 +11,7 @@
import '../../compiler.dart' as api;
import '../apiimpl.dart' as apiimpl;
import '../dart2jslib.dart' show Compiler;
+import '../old_to_new_api.dart';
//------------------------------------------------------------------------------
// Analysis entry point.
@@ -53,15 +54,16 @@
diagnosticHandler(uri, begin, end, message, kind);
}
- Compiler compiler = new apiimpl.Compiler(inputProvider,
- null,
- internalDiagnosticHandler,
- libraryRoot,
- packageRoot,
- options,
- const {},
- packageConfig,
- findPackages);
+ Compiler compiler = new apiimpl.Compiler(
+ new LegacyCompilerInput(inputProvider),
+ new LegacyCompilerOutput(),
+ new LegacyCompilerDiagnostics(internalDiagnosticHandler),
+ libraryRoot,
+ packageRoot,
+ options,
+ const {},
+ packageConfig,
+ findPackages);
compiler.librariesToAnalyzeWhenRun = libraries;
return compiler.run(null).then((bool success) {
if (success && !compilationFailed) {
diff --git a/pkg/compiler/lib/src/null_compiler_output.dart b/pkg/compiler/lib/src/null_compiler_output.dart
new file mode 100644
index 0000000..acc323f
--- /dev/null
+++ b/pkg/compiler/lib/src/null_compiler_output.dart
@@ -0,0 +1,40 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/// Null pattern implementation of the [CompilerOutput] interface.
+
+library compiler.null_api;
+
+import '../compiler_new.dart';
+import 'dart:async';
+
+/// Null pattern implementation of the [CompilerOutput] interface.
+class NullCompilerOutput implements CompilerOutput {
+ const NullCompilerOutput();
+
+ @override
+ EventSink<String> createEventSink(String name, String extension) {
+ return NullSink.outputProvider(name, extension);
+ }
+}
+
+/// A sink that drains into /dev/null.
+class NullSink implements EventSink<String> {
+ final String name;
+
+ NullSink(this.name);
+
+ add(String value) {}
+
+ void addError(Object error, [StackTrace stackTrace]) {}
+
+ void close() {}
+
+ toString() => name;
+
+ /// Convenience method for getting an [api.CompilerOutputProvider].
+ static NullSink outputProvider(String name, String extension) {
+ return new NullSink('$name.$extension');
+ }
+}
diff --git a/pkg/compiler/lib/src/old_to_new_api.dart b/pkg/compiler/lib/src/old_to_new_api.dart
new file mode 100644
index 0000000..34d6e79
--- /dev/null
+++ b/pkg/compiler/lib/src/old_to_new_api.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/// Implementation of the new compiler API in '../compiler_new.dart' through the
+/// old compiler API in '../compiler.dart'.
+
+library compiler.api.legacy;
+
+import 'dart:async' show EventSink, Future;
+import 'null_compiler_output.dart' show NullSink;
+import '../compiler.dart';
+import '../compiler_new.dart';
+
+/// Implementation of [CompilerInput] using a [CompilerInputProvider].
+class LegacyCompilerInput implements CompilerInput {
+ final CompilerInputProvider _inputProvider;
+
+ LegacyCompilerInput(this._inputProvider);
+
+ @override
+ Future readFromUri(Uri uri) {
+ return _inputProvider(uri);
+ }
+}
+
+/// Implementation of [CompilerDiagnostics] using a [DiagnosticHandler].
+class LegacyCompilerDiagnostics implements CompilerDiagnostics {
+ final DiagnosticHandler _handler;
+
+ LegacyCompilerDiagnostics(this._handler);
+
+ @override
+ void report(Uri uri, int begin, int end,
+ String message, Diagnostic kind) {
+ _handler(uri, begin, end, message, kind);
+ }
+}
+
+/// Implementation of [CompilerOutput] using an optional
+/// [CompilerOutputProvider].
+class LegacyCompilerOutput implements CompilerOutput {
+ final CompilerOutputProvider _outputProvider;
+
+ LegacyCompilerOutput([this._outputProvider]);
+
+ @override
+ EventSink<String> createEventSink(String name, String extension) {
+ if (_outputProvider != null) return _outputProvider(name, extension);
+ return NullSink.outputProvider(name, extension);
+ }
+}
diff --git a/pkg/compiler/lib/src/resolution/members.dart b/pkg/compiler/lib/src/resolution/members.dart
index 96961f3..ea44ed2 100644
--- a/pkg/compiler/lib/src/resolution/members.dart
+++ b/pkg/compiler/lib/src/resolution/members.dart
@@ -327,7 +327,16 @@
ClassElement classElement = element;
classElement.ensureResolved(compiler);
}
- return new ElementResult(registry.useElement(node, element));
+ if (element != null) {
+ registry.useElement(node, element);
+ if (element.isPrefix) {
+ return new PrefixResult(element, null);
+ } else if (element.isClass && sendIsMemberAccess) {
+ return new PrefixResult(null, element);
+ }
+ return new ElementResult(element);
+ }
+ return const NoneResult();
}
}
@@ -1638,7 +1647,6 @@
message: "Unexpected unary operator '${operator}'."));
return handleUserDefinableUnary(node, operator);
}
- return handleUserDefinableUnary(node, operator);
}
} else {
BinaryOperator operator = BinaryOperator.parse(operatorText);
@@ -1907,29 +1915,60 @@
cls.ensureResolved(compiler);
if (sendIsMemberAccess) {
registry.useElement(node, cls);
- return new ElementResult(cls);
+ return new PrefixResult(null, cls);
} else {
// `C` or `C()` where 'C' is a class.
return handleClassTypeLiteralAccess(node, name, cls);
}
}
+ /// Compute a [DeferredPrefixStructure] for [node].
+ ResolutionResult handleDeferredAccess(
+ Send node,
+ PrefixElement prefix,
+ ResolutionResult result) {
+ assert(invariant(node, prefix.isDeferred,
+ message: "Prefix $prefix is not deferred."));
+ SendStructure sendStructure = registry.getSendStructure(node);
+ assert(invariant(node, sendStructure != null,
+ message: "No SendStructure for $node."));
+ registry.registerSendStructure(node,
+ new DeferredPrefixStructure(prefix, sendStructure));
+ if (result.isConstant) {
+ ConstantExpression constant =
+ new DeferredConstantExpression(result.constant, prefix);
+ registry.setConstant(node, constant);
+ result = new ConstantResult(node, constant);
+ }
+ return result;
+ }
+
/// Handle qualified [Send] where the receiver resolves to a [prefix],
/// like `prefix.toplevelFunction()` or `prefix.Class.staticField` where
/// `prefix` is a library prefix.
ResolutionResult handleLibraryPrefixSend(
Send node, PrefixElement prefix, Name name) {
+ ResolutionResult result;
Element member = prefix.lookupLocalMember(name.text);
if (member == null) {
registry.registerThrowNoSuchMethod();
Element error = reportAndCreateErroneousElement(
node, name.text, MessageKind.NO_SUCH_LIBRARY_MEMBER,
{'libraryName': prefix.name, 'memberName': name});
- registry.useElement(node, error);
- return new ElementResult(error);
+ result = handleUnresolvedAccess(node, name, error);
} else {
- return handleResolvedSend(node, name, member);
+ result = handleResolvedSend(node, name, member);
}
+ if (result.kind == ResultKind.PREFIX) {
+ // [member] is a class prefix of a static access like `prefix.Class` of
+ // `prefix.Class.foo`. No need to call [handleDeferredAccess]; it will
+ // called on the parent `prefix.Class.foo` node.
+ result = new PrefixResult(prefix, result.element);
+ } else if (prefix.isDeferred &&
+ (member == null || !member.isDeferredLoaderGetter)) {
+ result = handleDeferredAccess(node, prefix, result);
+ }
+ return result;
}
/// Handle a [Send] that resolves to a [prefix]. Like `prefix` in
@@ -1952,20 +1991,24 @@
registry.useElement(node.selector, prefix);
}
registry.useElement(node, prefix);
- return new ElementResult(prefix);
+ return new PrefixResult(prefix, null);
}
/// Handle qualified [Send] where the receiver resolves to an [Element], like
- /// `a.b` where `a` is a local, field, class, or prefix, etc.
- ResolutionResult handleResolvedQualifiedSend(
- Send node, Name name, Element element) {
+ /// `a.b` where `a` is a prefix or a class.
+ ResolutionResult handlePrefixSend(
+ Send node, Name name, PrefixResult prefixResult) {
+ Element element = prefixResult.element;
if (element.isPrefix) {
return handleLibraryPrefixSend(node, element, name);
- } else if (element.isClass) {
- return handleStaticMemberAccess(node, name, element);
+ } else {
+ assert(element.isClass);
+ ResolutionResult result = handleStaticMemberAccess(node, name, element);
+ if (prefixResult.isDeferred) {
+ result = handleDeferredAccess(node, prefixResult.prefix, result);
+ }
+ return result;
}
- // TODO(johnniwinther): Use the [element].
- return handleDynamicPropertyAccess(node, name);
}
/// Handle dynamic access of [semantics].
@@ -2045,9 +2088,10 @@
return handleConditionalAccess(node, name);
}
ResolutionResult result = visitExpressionPrefix(node.receiver);
- if (result.element != null) {
- return handleResolvedQualifiedSend(node, name, result.element);
+ if (result.kind == ResultKind.PREFIX) {
+ return handlePrefixSend(node, name, result);
} else {
+ // TODO(johnniwinther): Use the `element` of [result].
return handleDynamicPropertyAccess(node, name);
}
}
@@ -2448,7 +2492,7 @@
}
}
- /// Regigster read access of [target] inside a closure.
+ /// Register read access of [target] inside a closure.
void registerPotentialAccessInClosure(Send node, Element target) {
if (isPotentiallyMutableTarget(target)) {
if (enclosingElement != target.enclosingElement) {
diff --git a/pkg/compiler/lib/src/resolution/registry.dart b/pkg/compiler/lib/src/resolution/registry.dart
index d71e295..1f3e943 100644
--- a/pkg/compiler/lib/src/resolution/registry.dart
+++ b/pkg/compiler/lib/src/resolution/registry.dart
@@ -556,6 +556,12 @@
mapping.setSendStructure(node, sendStructure);
}
+ // TODO(johnniwinther): Remove this when [SendStructure]s are part of the
+ // [ResolutionResult].
+ SendStructure getSendStructure(Send node) {
+ return mapping.getSendStructure(node);
+ }
+
void registerAsyncMarker(FunctionElement element) {
backend.registerAsyncMarker(element, world, this);
}
diff --git a/pkg/compiler/lib/src/resolution/resolution_result.dart b/pkg/compiler/lib/src/resolution/resolution_result.dart
index ba2b74c..4b12234 100644
--- a/pkg/compiler/lib/src/resolution/resolution_result.dart
+++ b/pkg/compiler/lib/src/resolution/resolution_result.dart
@@ -10,6 +10,7 @@
TYPE,
ASSERT,
CONSTANT,
+ PREFIX,
}
/// The result of resolving a node.
@@ -30,13 +31,32 @@
bool get isConstant => false;
}
+/// The prefix of top level or member access, like `prefix.member`,
+/// `prefix.Class.member` or `Class.member`.
+class PrefixResult extends ResolutionResult {
+ final PrefixElement prefix;
+ final ClassElement cls;
+
+ PrefixResult(this.prefix, this.cls);
+
+ Element get element => cls != null ? cls : prefix;
+
+ bool get isDeferred => prefix != null && prefix.isDeferred;
+
+ ResultKind get kind => ResultKind.PREFIX;
+
+ String toString() => 'PrefixResult($prefix,$cls)';
+}
+
/// The result for the resolution of a node that points to an [Element].
class ElementResult extends ResolutionResult {
final Element element;
ResultKind get kind => ResultKind.ELEMENT;
- ElementResult(this.element);
+ ElementResult(this.element) {
+ assert(element != null);
+ }
String toString() => 'ElementResult($element)';
}
diff --git a/pkg/compiler/lib/src/resolution/semantic_visitor.dart b/pkg/compiler/lib/src/resolution/semantic_visitor.dart
index 131f52d..3c265cc 100644
--- a/pkg/compiler/lib/src/resolution/semantic_visitor.dart
+++ b/pkg/compiler/lib/src/resolution/semantic_visitor.dart
@@ -4055,6 +4055,21 @@
NodeList arguments,
CallStructure callStructure,
A arg);
+
+ /// Access of library through a deferred [prefix].
+ ///
+ /// For instance
+ /// import 'lib.dart' deferred as prefix;
+ ///
+ /// m() => prefix.foo;
+ ///
+ /// This visit method is special in that it is called as a pre-step to calling
+ /// the visit method for the actual access. Therefore this method cannot
+ /// return a result to its caller.
+ void previsitDeferredAccess(
+ Send node,
+ PrefixElement prefix,
+ A arg);
}
abstract class SemanticDeclarationVisitor<R, A> {
diff --git a/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart b/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart
index f366052..c1dfa54 100644
--- a/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart
+++ b/pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart
@@ -2478,6 +2478,14 @@
A arg) {
return bulkHandleNode(node, 'Lazy or `#` unhandled.', arg);
}
+
+ @override
+ void previsitDeferredAccess(
+ Send node,
+ PrefixElement prefix,
+ A arg) {
+ bulkHandleNode(node, 'Deferred access `#` unhandled.', arg);
+ }
}
/// Mixin that implements all visitor methods for `super` calls in
@@ -3510,6 +3518,13 @@
}
@override
+ void previsitDeferredAccess(
+ Send node,
+ PrefixElement prefix,
+ A arg) {
+ }
+
+ @override
R errorInvalidAssert(
Send node,
NodeList arguments,
diff --git a/pkg/compiler/lib/src/resolution/send_structure.dart b/pkg/compiler/lib/src/resolution/send_structure.dart
index cc4a9ab..a64c293 100644
--- a/pkg/compiler/lib/src/resolution/send_structure.dart
+++ b/pkg/compiler/lib/src/resolution/send_structure.dart
@@ -2304,6 +2304,30 @@
String toString() => 'postfix($operator,$semantics)';
}
+
+/// The structure for a [Send] whose prefix is a prefix for a deferred library.
+/// For instance `deferred.a` where `deferred` is a deferred prefix.
+class DeferredPrefixStructure<R, A> implements SendStructure<R, A> {
+ /// The deferred prefix element.
+ final PrefixElement prefix;
+
+ /// The send structure for the whole [Send] node. For instance a
+ /// [GetStructure] for `deferred.a` where `a` is a top level member of the
+ /// deferred library.
+ final SendStructure sendStructure;
+
+ DeferredPrefixStructure(this.prefix, this.sendStructure) {
+ assert(sendStructure != null);
+ }
+
+ @override
+ R dispatch(SemanticSendVisitor<R, A> visitor, Send send, A arg) {
+ visitor.previsitDeferredAccess(send, prefix, arg);
+ return sendStructure.dispatch(visitor, send, arg);
+ }
+}
+
+
/// The structure for a [NewExpression] of a new invocation.
abstract class NewStructure<R, A> implements SemanticSendStructure<R, A> {
/// Calls the matching visit method on [visitor] with [node] and [arg].
diff --git a/pkg/compiler/lib/src/resolution/tree_elements.dart b/pkg/compiler/lib/src/resolution/tree_elements.dart
index 993c3cc..48c5430 100644
--- a/pkg/compiler/lib/src/resolution/tree_elements.dart
+++ b/pkg/compiler/lib/src/resolution/tree_elements.dart
@@ -11,7 +11,9 @@
/// Iterables of the dependencies that this [TreeElement] records of
/// [analyzedElement].
Iterable<Element> get allElements;
+
void forEachConstantNode(f(Node n, ConstantExpression c));
+ void forEachType(f(Node n, DartType t));
/// A set of additional dependencies. See [registerDependency] below.
Iterable<Element> get otherDependencies;
@@ -173,6 +175,12 @@
DartType getType(Node node) => _types != null ? _types[node] : null;
+ void forEachType(f(Node n, DartType t)) {
+ if (_types != null) {
+ _types.forEach(f);
+ }
+ }
+
Iterable<Node> get superUses {
return _superUses != null ? _superUses : const <Node>[];
}
diff --git a/pkg/compiler/lib/src/resolved_visitor.dart b/pkg/compiler/lib/src/resolved_visitor.dart
index b07c36d..dd60417 100644
--- a/pkg/compiler/lib/src/resolved_visitor.dart
+++ b/pkg/compiler/lib/src/resolved_visitor.dart
@@ -389,6 +389,13 @@
}
@override
+ void previsitDeferredAccess(
+ Send node,
+ PrefixElement prefix,
+ ResolvedKindVisitor<R> visitor) {
+ }
+
+ @override
R errorInvalidAssert(
Send node,
NodeList arguments,
diff --git a/pkg/compiler/lib/src/source_file_provider.dart b/pkg/compiler/lib/src/source_file_provider.dart
index cbc6ff3..932864a 100644
--- a/pkg/compiler/lib/src/source_file_provider.dart
+++ b/pkg/compiler/lib/src/source_file_provider.dart
@@ -10,12 +10,14 @@
import 'dart:math' as math;
import '../compiler.dart' as api show Diagnostic, DiagnosticHandler;
+import '../compiler_new.dart' as api show CompilerInput, CompilerDiagnostics;
import 'dart2js.dart' show AbortLeg;
import 'colors.dart' as colors;
import 'io/source_file.dart';
import 'filenames.dart';
import 'util/uri_extras.dart';
import 'dart:typed_data';
+import '../compiler_new.dart';
List<int> readAll(String filename) {
var file = (new File(filename)).openSync();
@@ -27,7 +29,7 @@
return buffer;
}
-abstract class SourceFileProvider {
+abstract class SourceFileProvider implements CompilerInput {
bool isWindows = (Platform.operatingSystem == 'windows');
Uri cwd = currentDirectory;
Map<Uri, SourceFile> sourceFiles = <Uri, SourceFile>{};
@@ -100,6 +102,8 @@
});
}
+ // TODO(johnniwinther): Remove this when no longer needed for the old compiler
+ // API.
Future/*<List<int> | String>*/ call(Uri resourceUri);
relativizeUri(Uri uri) => relativize(cwd, uri, isWindows);
@@ -110,10 +114,15 @@
}
class CompilerSourceFileProvider extends SourceFileProvider {
- Future<List<int>> call(Uri resourceUri) => readUtf8BytesFromUri(resourceUri);
+ // TODO(johnniwinther): Remove this when no longer needed for the old compiler
+ // API.
+ Future<List<int>> call(Uri resourceUri) => readFromUri(resourceUri);
+
+ @override
+ Future readFromUri(Uri uri) => readUtf8BytesFromUri(uri);
}
-class FormattingDiagnosticHandler {
+class FormattingDiagnosticHandler implements CompilerDiagnostics {
final SourceFileProvider provider;
bool showWarnings = true;
bool showHints = true;
@@ -160,8 +169,9 @@
throw 'Unexpected diagnostic kind: $kind (${kind.ordinal})';
}
- void diagnosticHandler(Uri uri, int begin, int end, String message,
- api.Diagnostic kind) {
+ @override
+ void report(Uri uri, int begin, int end, String message,
+ api.Diagnostic kind) {
// TODO(ahe): Remove this when source map is handled differently.
if (identical(kind.name, 'source map')) return;
@@ -223,8 +233,10 @@
}
}
+ // TODO(johnniwinther): Remove this when no longer needed for the old compiler
+ // API.
void call(Uri uri, int begin, int end, String message, api.Diagnostic kind) {
- return diagnosticHandler(uri, begin, end, message, kind);
+ return report(uri, begin, end, message, kind);
}
}
diff --git a/pkg/compiler/lib/src/ssa/builder.dart b/pkg/compiler/lib/src/ssa/builder.dart
index 1335674..573bde0 100644
--- a/pkg/compiler/lib/src/ssa/builder.dart
+++ b/pkg/compiler/lib/src/ssa/builder.dart
@@ -3417,10 +3417,13 @@
}
}
+ @override
+ void previsitDeferredAccess(ast.Send node, PrefixElement prefix, _) {
+ generateIsDeferredLoadedCheckIfNeeded(prefix, node);
+ }
+
/// Read a static or top level [field].
void generateStaticFieldGet(ast.Send node, FieldElement field) {
- generateIsDeferredLoadedCheckOfSend(node);
-
ConstantExpression constant =
backend.constants.getConstantForVariable(field);
SourceInformation sourceInformation =
@@ -3455,7 +3458,6 @@
if (getter.isDeferredLoaderGetter) {
generateDeferredLoaderGet(node, getter, sourceInformation);
} else {
- generateIsDeferredLoadedCheckOfSend(node);
pushInvokeStatic(node, getter, <HInstruction>[],
sourceInformation: sourceInformation);
}
@@ -3470,7 +3472,6 @@
/// Generate a closurization of the static or top level [function].
void generateStaticFunctionGet(ast.Send node, MethodElement function) {
- generateIsDeferredLoadedCheckOfSend(node);
// TODO(5346): Try to avoid the need for calling [declaration] before
// creating an [HStatic].
SourceInformation sourceInformation =
@@ -5185,8 +5186,6 @@
ast.Send node,
FunctionElement function,
CallStructure callStructure) {
- generateIsDeferredLoadedCheckOfSend(node);
-
List<HInstruction> inputs = makeStaticArgumentList(
callStructure,
node.arguments,
@@ -5457,7 +5456,6 @@
/// Generate the constant value for a constant type literal.
void generateConstantTypeLiteral(ast.Send node) {
- generateIsDeferredLoadedCheckOfSend(node);
// TODO(karlklose): add type representation
if (node.isCall) {
// The node itself is not a constant but we register the selector (the
diff --git a/pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart b/pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart
index 6fda009..1141665 100644
--- a/pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart
+++ b/pkg/compiler/lib/src/tree_ir/optimization/statement_rewriter.dart
@@ -165,7 +165,7 @@
/// Binding environment for variables that are assigned to effectively
/// constant expressions (see [isEffectivelyConstant]).
- final Map<Variable, Expression> constantEnvironment;
+ Map<Variable, Expression> constantEnvironment;
/// Substitution map for labels. Any break to a label L should be substituted
/// for a break to L' if L maps to L'.
@@ -209,10 +209,13 @@
void inEmptyEnvironment(void action()) {
List oldEnvironment = environment;
+ Map oldConstantEnvironment = constantEnvironment;
environment = <Expression>[];
+ constantEnvironment = <Variable, Expression>{};
action();
assert(environment.isEmpty);
environment = oldEnvironment;
+ constantEnvironment = oldConstantEnvironment;
}
/// Left-hand side of the given assignment, or `null` if not an assignment.
@@ -352,6 +355,7 @@
exp is This ||
exp is CreateInvocationMirror ||
exp is GetStatic && exp.element.isFunction ||
+ exp is GetField && exp.objectIsNotNull && exp.field.isFinal ||
exp is Interceptor ||
exp is ApplyBuiltinOperator ||
exp is VariableUse && constantEnvironment.containsKey(exp.variable);
diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
index 47d7898..73e4cfe 100644
--- a/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
+++ b/pkg/compiler/lib/src/tree_ir/tree_ir_builder.dart
@@ -258,14 +258,12 @@
internalError(CURRENT_ELEMENT_SPANNABLE, 'Unexpected IR node: $node');
}
- Statement visitSetField(cps_ir.SetField node) {
- return new ExpressionStatement(
- new SetField(getVariableUse(node.object),
- node.field,
- getVariableUse(node.value)),
- visit(node.body));
+ Expression visitSetField(cps_ir.SetField node) {
+ return new SetField(getVariableUse(node.object),
+ node.field,
+ getVariableUse(node.value));
}
-
+
Expression visitInterceptor(cps_ir.Interceptor node) {
return new Interceptor(getVariableUse(node.input), node.interceptedClasses);
}
@@ -279,7 +277,8 @@
}
Expression visitGetField(cps_ir.GetField node) {
- return new GetField(getVariableUse(node.object), node.field);
+ return new GetField(getVariableUse(node.object), node.field,
+ objectIsNotNull: node.objectIsNotNull);
}
Expression visitCreateBox(cps_ir.CreateBox node) {
@@ -300,12 +299,12 @@
Statement visitLetPrim(cps_ir.LetPrim node) {
Variable variable = getVariable(node.primitive);
-
- // Don't translate unused primitives.
- if (variable == null) return visit(node.body);
-
Expression value = visit(node.primitive);
- return Assign.makeStatement(variable, value, visit(node.body));
+ if (node.primitive.hasAtLeastOneUse) {
+ return Assign.makeStatement(variable, value, visit(node.body));
+ } else {
+ return new ExpressionStatement(value, visit(node.body));
+ }
}
Statement visitLetCont(cps_ir.LetCont node) {
@@ -412,14 +411,14 @@
return Assign.makeStatement(variable, value, body);
}
- Expression visitGetMutableVariable(cps_ir.GetMutableVariable node) {
+ Expression visitGetMutable(cps_ir.GetMutable node) {
return getMutableVariableUse(node.variable);
}
- Statement visitSetMutableVariable(cps_ir.SetMutableVariable node) {
+ Expression visitSetMutable(cps_ir.SetMutable node) {
Variable variable = getMutableVariable(node.variable.definition);
Expression value = getVariableUse(node.value);
- return Assign.makeStatement(variable, value, visit(node.body));
+ return new Assign(variable, value);
}
Statement visitTypeCast(cps_ir.TypeCast node) {
@@ -586,12 +585,11 @@
return continueWithExpression(node.continuation, value);
}
- Statement visitSetStatic(cps_ir.SetStatic node) {
- SetStatic setStatic = new SetStatic(
+ Expression visitSetStatic(cps_ir.SetStatic node) {
+ return new SetStatic(
node.element,
getVariableUse(node.value),
node.sourceInformation);
- return new ExpressionStatement(setStatic, visit(node.body));
}
Expression visitApplyBuiltinOperator(cps_ir.ApplyBuiltinOperator node) {
@@ -612,7 +610,7 @@
node.dependency);
return continueWithExpression(node.continuation, foreignCode);
} else {
- assert(node.continuation == null);
+ assert(node.continuation.definition.body is cps_ir.Unreachable);
return new ForeignStatement(
node.codeTemplate,
node.type,
diff --git a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
index d922d09..07a5168 100644
--- a/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
+++ b/pkg/compiler/lib/src/tree_ir/tree_ir_nodes.dart
@@ -695,8 +695,9 @@
class GetField extends Expression {
Expression object;
Element field;
+ bool objectIsNotNull;
- GetField(this.object, this.field);
+ GetField(this.object, this.field, {this.objectIsNotNull: false});
accept(ExpressionVisitor visitor) => visitor.visitGetField(this);
accept1(ExpressionVisitor1 visitor, arg) => visitor.visitGetField(this, arg);
diff --git a/pkg/compiler/lib/src/warnings.dart b/pkg/compiler/lib/src/warnings.dart
index 350af41..e2f2fb3 100644
--- a/pkg/compiler/lib/src/warnings.dart
+++ b/pkg/compiler/lib/src/warnings.dart
@@ -2524,10 +2524,9 @@
''');
- static const MessageKind MIRRORS_LIBRARY_NEW_EMITTER =
+ static const MessageKind MIRRORS_LIBRARY_NOT_SUPPORT_BY_BACKEND =
const MessageKind(
- "dart:mirrors library is not supported when using the new emitter "
- "(DART_VM_OPTIONS='-Ddart2js.use.new.emitter=true')");
+ "dart:mirrors library is not supported when using this backend.");
static const MessageKind CALL_NOT_SUPPORTED_ON_NATIVE_CLASS =
const MessageKind(
diff --git a/pkg/dart2js_incremental/lib/caching_compiler.dart b/pkg/dart2js_incremental/lib/caching_compiler.dart
index aeab05a..2bc2047 100644
--- a/pkg/dart2js_incremental/lib/caching_compiler.dart
+++ b/pkg/dart2js_incremental/lib/caching_compiler.dart
@@ -7,9 +7,9 @@
/// Do not call this method directly. It will be made private.
// TODO(ahe): Make this method private.
Future<Compiler> reuseCompiler(
- {DiagnosticHandler diagnosticHandler,
- CompilerInputProvider inputProvider,
- CompilerOutputProvider outputProvider,
+ {CompilerDiagnostics diagnosticHandler,
+ CompilerInput inputProvider,
+ CompilerOutput outputProvider,
List<String> options: const [],
Compiler cachedCompiler,
Uri libraryRoot,
@@ -28,7 +28,7 @@
throw 'Missing diagnosticHandler';
}
if (outputProvider == null) {
- outputProvider = NullSink.outputProvider;
+ outputProvider = const NullCompilerOutput();
}
if (environment == null) {
environment = {};
@@ -185,10 +185,10 @@
}
/// Output provider which collect output in [output].
-class OutputProvider {
+class OutputProvider implements CompilerOutput {
final Map<String, String> output = new Map<String, String>();
- EventSink<String> call(String name, String extension) {
+ EventSink<String> createEventSink(String name, String extension) {
return new StringEventSink((String data) {
output['$name.$extension'] = data;
});
diff --git a/pkg/dart2js_incremental/lib/compiler.dart b/pkg/dart2js_incremental/lib/compiler.dart
index 6e86667..f0a195e 100644
--- a/pkg/dart2js_incremental/lib/compiler.dart
+++ b/pkg/dart2js_incremental/lib/compiler.dart
@@ -15,6 +15,13 @@
IncrementalCompilationFailed,
IncrementalCompiler;
+import 'package:compiler/compiler_new.dart' show
+ CompilerOutput;
+
+import 'package:compiler/src/old_to_new_api.dart' show
+ LegacyCompilerDiagnostics,
+ LegacyCompilerInput;
+
import 'package:compiler/src/source_file_provider.dart' show
FormattingDiagnosticHandler;
@@ -104,8 +111,9 @@
IncrementalCompiler compiler = new IncrementalCompiler(
libraryRoot: libraryRoot,
packageRoot: packageRoot,
- inputProvider: inputProvider,
- diagnosticHandler: resilientDiagnosticHandler,
+ inputProvider: new LegacyCompilerInput(inputProvider),
+ diagnosticHandler:
+ new LegacyCompilerDiagnostics(resilientDiagnosticHandler),
outputProvider: outputProvider);
bool success = await compiler.compile(originalInput);
@@ -142,10 +150,10 @@
}
/// Output provider which collects output in [output].
-class OutputProvider {
+class OutputProvider implements CompilerOutput {
final Map<String, String> output = new Map<String, String>();
- EventSink<String> call(String name, String extension) {
+ EventSink<String> createEventSink(String name, String extension) {
return new StringEventSink((String data) {
output['$name.$extension'] = data;
});
diff --git a/pkg/dart2js_incremental/lib/dart2js_incremental.dart b/pkg/dart2js_incremental/lib/dart2js_incremental.dart
index ee04336..bcbc760 100644
--- a/pkg/dart2js_incremental/lib/dart2js_incremental.dart
+++ b/pkg/dart2js_incremental/lib/dart2js_incremental.dart
@@ -14,14 +14,14 @@
import 'package:compiler/src/apiimpl.dart' show
Compiler;
-import 'package:compiler/compiler.dart' show
- CompilerInputProvider,
- CompilerOutputProvider,
- Diagnostic,
- DiagnosticHandler;
+import 'package:compiler/compiler_new.dart' show
+ CompilerDiagnostics,
+ CompilerInput,
+ CompilerOutput,
+ Diagnostic;
-import 'package:compiler/src/dart2jslib.dart' show
- NullSink;
+import 'package:compiler/src/null_compiler_output.dart' show
+ NullCompilerOutput;
import 'package:compiler/src/js_backend/js_backend.dart' show
JavaScriptBackend;
@@ -51,10 +51,10 @@
class IncrementalCompiler {
final Uri libraryRoot;
final Uri packageRoot;
- final CompilerInputProvider inputProvider;
- final DiagnosticHandler diagnosticHandler;
+ final CompilerInput inputProvider;
+ final CompilerDiagnostics diagnosticHandler;
final List<String> options;
- final CompilerOutputProvider outputProvider;
+ final CompilerOutput outputProvider;
final Map<String, dynamic> environment;
final List<String> _updates = <String>[];
final IncrementalCompilerContext _context = new IncrementalCompilerContext();
diff --git a/pkg/docgen/lib/src/generator.dart b/pkg/docgen/lib/src/generator.dart
index 7df0260..18ed895 100644
--- a/pkg/docgen/lib/src/generator.dart
+++ b/pkg/docgen/lib/src/generator.dart
@@ -268,10 +268,10 @@
Future<MirrorSystem> analyzeLibraries(List<Uri> libraries, String
libraryRoot, {String packageRoot}) {
SourceFileProvider provider = new CompilerSourceFileProvider();
- api.DiagnosticHandler diagnosticHandler = (new FormattingDiagnosticHandler(
+ api.DiagnosticHandler diagnosticHandler = new FormattingDiagnosticHandler(
provider)
..showHints = false
- ..showWarnings = false).diagnosticHandler;
+ ..showWarnings = false;
Uri libraryUri = new Uri.file(appendSlash(libraryRoot));
Uri packageUri = null;
if (packageRoot == null) {
diff --git a/pkg/pkg.status b/pkg/pkg.status
index bc0d302..d5a359a 100644
--- a/pkg/pkg.status
+++ b/pkg/pkg.status
@@ -162,7 +162,6 @@
analyzer/test/generated/element_test: Crash # The null object does not have a getter '_element'.
analyzer/test/generated/incremental_resolver_test: Crash # The null object does not have a getter '_element'.
analyzer/test/generated/incremental_scanner_test: Crash # The null object does not have a getter '_element'.
-analyzer/test/generated/java_core_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
analyzer/test/generated/non_error_resolver_test: Crash # The null object does not have a getter '_element'.
analyzer/test/generated/parser_test: Crash # The null object does not have a getter '_element'.
analyzer/test/generated/resolver_test: Crash # The null object does not have a getter '_element'.
@@ -174,8 +173,10 @@
analyzer/test/generated/utilities_test: Crash # The null object does not have a getter '_element'.
analyzer/test/instrumentation/instrumentation_test: Crash # The null object does not have a getter '_element'.
analyzer/test/parse_compilation_unit_test: Crash # The null object does not have a getter '_element'.
+analyzer/test/source/analysis_options_provider_test: Crash # The null object does not have a getter '_element'.
analyzer/test/source/package_map_provider_test: Crash # The null object does not have a getter '_element'.
analyzer/test/source/package_map_resolver_test: Crash # The null object does not have a getter '_element'.
+analyzer/test/source/sdk_ext_test: Crash # The null object does not have a getter '_element'.
analyzer/test/src/context/cache_test: Crash # The null object does not have a getter '_element'.
analyzer/test/src/context/context_test: Crash # The null object does not have a getter '_element'.
analyzer/test/src/task/dart_test: Crash # The null object does not have a getter '_element'.
@@ -190,7 +191,4 @@
analyzer/test/src/task/model_test: Crash # The null object does not have a getter '_element'.
analyzer/test/src/util/asserts_test: Crash # The null object does not have a getter '_element'.
analyzer/test/src/util/lru_map_test: Crash # The null object does not have a getter '_element'.
-fixnum/test/int_32_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-fixnum/test/int_64_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-typed_data/test/typed_buffers_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-typed_mock/test/typed_mock_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+typed_data/test/typed_buffers_test/none: RuntimeError # Please triage this failure.
diff --git a/runtime/bin/builtin_natives.cc b/runtime/bin/builtin_natives.cc
index 80a03cf..844e9db 100644
--- a/runtime/bin/builtin_natives.cc
+++ b/runtime/bin/builtin_natives.cc
@@ -7,6 +7,7 @@
#include <string.h>
#include "include/dart_api.h"
+#include "include/dart_tools_api.h"
#include "platform/assert.h"
@@ -119,6 +120,9 @@
}
+extern bool capture_stdout;
+
+
// Implementation of native functions which are used for some
// test/debug functionality in standalone dart mode.
void FUNCTION_NAME(Builtin_PrintString)(Dart_NativeArguments args) {
@@ -126,18 +130,19 @@
uint8_t* chars = NULL;
Dart_Handle str = Dart_GetNativeArgument(args, 0);
Dart_Handle result = Dart_StringToUTF8(str, &chars, &length);
- if (Dart_IsError(result)) {
- // TODO(turnidge): Consider propagating some errors here. What if
- // an isolate gets interrupted by the embedder in the middle of
- // Dart_StringToUTF8? We need to make sure not to swallow the
- // interrupt.
- fprintf(stdout, "%s\n", Dart_GetError(result));
- } else {
- // Uses fwrite to support printing NUL bytes.
- fwrite(chars, 1, length, stdout);
- fputs("\n", stdout);
- }
+ if (Dart_IsError(result)) Dart_PropagateError(result);
+
+ // Uses fwrite to support printing NUL bytes.
+ fwrite(chars, 1, length, stdout);
+ fputs("\n", stdout);
fflush(stdout);
+ if (capture_stdout) {
+ // For now we report print output on the Stdout stream.
+ uint8_t newline[] = { '\n' };
+ Dart_ServiceSendDataEvent("Stdout", "WriteEvent", chars, length);
+ Dart_ServiceSendDataEvent("Stdout", "WriteEvent",
+ newline, sizeof(newline));
+ }
}
} // namespace bin
diff --git a/runtime/bin/file.cc b/runtime/bin/file.cc
index 59f8300..8175d9b 100644
--- a/runtime/bin/file.cc
+++ b/runtime/bin/file.cc
@@ -10,12 +10,22 @@
#include "bin/utils.h"
#include "include/dart_api.h"
+#include "include/dart_tools_api.h"
namespace dart {
namespace bin {
static const int kMSPerSecond = 1000;
+// Are we capturing output from either stdout or stderr for the VM Service?
+bool capture_stdio = false;
+
+// Are we capturing output from stdout for the VM service?
+bool capture_stdout = false;
+
+// Are we capturing output from stderr for the VM service?
+bool capture_stderr = false;
+
// The file pointer has been passed into Dart as an intptr_t and it is safe
// to pull it out of Dart as a 64-bit integer, cast it to an intptr_t and
@@ -52,6 +62,18 @@
remaining -= bytes_written; // Reduce the number of remaining bytes.
current_buffer += bytes_written; // Move the buffer forward.
}
+ if (capture_stdio) {
+ intptr_t fd = GetFD();
+ if (fd == STDOUT_FILENO && capture_stdout) {
+ Dart_ServiceSendDataEvent("Stdout", "WriteEvent",
+ reinterpret_cast<const uint8_t*>(buffer),
+ num_bytes);
+ } else if (fd == STDERR_FILENO && capture_stderr) {
+ Dart_ServiceSendDataEvent("Stderr", "WriteEvent",
+ reinterpret_cast<const uint8_t*>(buffer),
+ num_bytes);
+ }
+ }
return true;
}
@@ -581,7 +603,7 @@
void FUNCTION_NAME(File_OpenStdio)(Dart_NativeArguments args) {
int64_t fd = DartUtils::GetIntegerValue(Dart_GetNativeArgument(args, 0));
- ASSERT(fd == 0 || fd == 1 || fd == 2);
+ ASSERT(fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO);
File* file = File::OpenStdio(static_cast<int>(fd));
Dart_SetReturnValue(args, Dart_NewInteger(reinterpret_cast<intptr_t>(file)));
}
@@ -589,7 +611,7 @@
void FUNCTION_NAME(File_GetStdioHandleType)(Dart_NativeArguments args) {
int64_t fd = DartUtils::GetIntegerValue(Dart_GetNativeArgument(args, 0));
- ASSERT(fd == 0 || fd == 1 || fd == 2);
+ ASSERT(fd == STDIN_FILENO || fd == STDOUT_FILENO || fd == STDERR_FILENO);
File::StdioHandleType type = File::GetStdioHandleType(static_cast<int>(fd));
Dart_SetReturnValue(args, Dart_NewInteger(type));
}
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc
index cebd7e6..5b14dff 100644
--- a/runtime/bin/main.cc
+++ b/runtime/bin/main.cc
@@ -859,6 +859,37 @@
}
+extern bool capture_stdio;
+extern bool capture_stdout;
+extern bool capture_stderr;
+static const char* kStdoutStreamId = "Stdout";
+static const char* kStderrStreamId = "Stderr";
+
+
+static bool ServiceStreamListenCallback(const char* stream_id) {
+ if (strcmp(stream_id, kStdoutStreamId) == 0) {
+ capture_stdio = true;
+ capture_stdout = true;
+ return true;
+ } else if (strcmp(stream_id, kStderrStreamId) == 0) {
+ capture_stdio = true;
+ capture_stderr = true;
+ return true;
+ }
+ return false;
+}
+
+
+static void ServiceStreamCancelCallback(const char* stream_id) {
+ if (strcmp(stream_id, kStdoutStreamId) == 0) {
+ capture_stdout = false;
+ } else if (strcmp(stream_id, kStderrStreamId) == 0) {
+ capture_stderr = false;
+ }
+ capture_stdio = (capture_stdout || capture_stderr);
+}
+
+
void main(int argc, char** argv) {
char* script_name;
const int EXTRA_VM_ARGUMENTS = 2;
@@ -947,6 +978,8 @@
Dart_RegisterIsolateServiceRequestCallback(
"getIO", &ServiceGetIOHandler, NULL);
+ Dart_SetServiceStreamCallbacks(&ServiceStreamListenCallback,
+ &ServiceStreamCancelCallback);
// Call CreateIsolateAndSetup which creates an isolate and loads up
// the specified application script.
diff --git a/runtime/include/dart_tools_api.h b/runtime/include/dart_tools_api.h
index f2bc2a4..cd096de 100644
--- a/runtime/include/dart_tools_api.h
+++ b/runtime/include/dart_tools_api.h
@@ -807,6 +807,74 @@
/*
* ========
+ * Event Streams
+ * ========
+ */
+
+/**
+ * A callback invoked when the VM service gets a request to listen to
+ * some stream.
+ *
+ * \return Returns true iff the embedder supports the named stream id.
+ */
+typedef bool (*Dart_ServiceStreamListenCallback)(const char* stream_id);
+
+/**
+ * A callback invoked when the VM service gets a request to cancel
+ * some stream.
+ */
+typedef void (*Dart_ServiceStreamCancelCallback)(const char* stream_id);
+
+/**
+ * Adds VM service stream callbacks.
+ *
+ * \param listen_callback A function pointer to a listen callback function.
+ * A listen callback function should not be already set when this function
+ * is called. A NULL value removes the existing listen callback function
+ * if any.
+ *
+ * \param cancel_callback A function pointer to a cancel callback function.
+ * A cancel callback function should not be already set when this function
+ * is called. A NULL value removes the existing cancel callback function
+ * if any.
+ *
+ * \return Success if the callbacks were added. Otherwise, returns an
+ * error handle.
+ */
+DART_EXPORT Dart_Handle Dart_SetServiceStreamCallbacks(
+ Dart_ServiceStreamListenCallback listen_callback,
+ Dart_ServiceStreamCancelCallback cancel_callback);
+
+/**
+ * Sends a data event to clients of the VM Service.
+ *
+ * A data event is used to pass an array of bytes to subscribed VM
+ * Service clients. For example, in the standalone embedder, this is
+ * function used to provide WriteEvents on the Stdout and Stderr
+ * streams.
+ *
+ * If the embedder passes in a stream id for which no client is
+ * subscribed, then the event is ignored.
+ *
+ * \param stream_id The id of the stream on which to post the event.
+ *
+ * \param event_kind A string identifying what kind of event this is.
+ * For example, 'WriteEvent'.
+ *
+ * \param bytes A pointer to an array of bytes.
+ *
+ * \param bytes_length The length of the byte array.
+ *
+ * \return Success if the arguments are well formed. Otherwise, returns an
+ * error handle.
+ */
+DART_EXPORT Dart_Handle Dart_ServiceSendDataEvent(const char* stream_id,
+ const char* event_kind,
+ const uint8_t* bytes,
+ intptr_t bytes_length);
+
+/*
+ * ========
* Timeline
* ========
*/
diff --git a/runtime/lib/invocation_mirror_patch.dart b/runtime/lib/invocation_mirror_patch.dart
index e06c531..cc820cb 100644
--- a/runtime/lib/invocation_mirror_patch.dart
+++ b/runtime/lib/invocation_mirror_patch.dart
@@ -89,6 +89,7 @@
_namedArguments[new internal.Symbol.unvalidated(arg_name)] =
arg_value;
}
+ _namedArguments = new Map.unmodifiable(_namedArguments);
}
return _namedArguments;
}
diff --git a/runtime/lib/isolate.cc b/runtime/lib/isolate.cc
index 378e6eb..5199f19 100644
--- a/runtime/lib/isolate.cc
+++ b/runtime/lib/isolate.cc
@@ -217,11 +217,15 @@
}
-DEFINE_NATIVE_ENTRY(Isolate_spawnFunction, 4) {
+DEFINE_NATIVE_ENTRY(Isolate_spawnFunction, 7) {
GET_NON_NULL_NATIVE_ARGUMENT(SendPort, port, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(Instance, closure, arguments->NativeArgAt(1));
GET_NON_NULL_NATIVE_ARGUMENT(Instance, message, arguments->NativeArgAt(2));
GET_NON_NULL_NATIVE_ARGUMENT(Bool, paused, arguments->NativeArgAt(3));
+ GET_NATIVE_ARGUMENT(Bool, fatalErrors, arguments->NativeArgAt(4));
+ GET_NATIVE_ARGUMENT(SendPort, onExit, arguments->NativeArgAt(5));
+ GET_NATIVE_ARGUMENT(SendPort, onError, arguments->NativeArgAt(6));
+
if (closure.IsClosure()) {
Function& func = Function::Handle();
func = Closure::function(closure);
@@ -233,10 +237,18 @@
#endif
// Get the parent function so that we get the right function name.
func = func.parent_function();
+
+ bool fatal_errors = fatalErrors.IsNull() ? true : fatalErrors.value();
+ Dart_Port on_exit_port = onExit.IsNull() ? ILLEGAL_PORT : onExit.Id();
+ Dart_Port on_error_port = onError.IsNull() ? ILLEGAL_PORT : onError.Id();
+
Spawn(isolate, new IsolateSpawnState(port.Id(),
func,
message,
- paused.value()));
+ paused.value(),
+ fatal_errors,
+ on_exit_port,
+ on_error_port));
return Object::null();
}
}
@@ -247,7 +259,7 @@
}
-DEFINE_NATIVE_ENTRY(Isolate_spawnUri, 7) {
+DEFINE_NATIVE_ENTRY(Isolate_spawnUri, 10) {
GET_NON_NULL_NATIVE_ARGUMENT(SendPort, port, arguments->NativeArgAt(0));
GET_NON_NULL_NATIVE_ARGUMENT(String, uri, arguments->NativeArgAt(1));
GET_NON_NULL_NATIVE_ARGUMENT(Instance, args, arguments->NativeArgAt(2));
@@ -255,6 +267,9 @@
GET_NON_NULL_NATIVE_ARGUMENT(Bool, paused, arguments->NativeArgAt(4));
GET_NATIVE_ARGUMENT(Bool, checked, arguments->NativeArgAt(5));
GET_NATIVE_ARGUMENT(String, package_root, arguments->NativeArgAt(6));
+ GET_NATIVE_ARGUMENT(Bool, fatalErrors, arguments->NativeArgAt(7));
+ GET_NATIVE_ARGUMENT(SendPort, onExit, arguments->NativeArgAt(8));
+ GET_NATIVE_ARGUMENT(SendPort, onError, arguments->NativeArgAt(9));
// Canonicalize the uri with respect to the current isolate.
char* error = NULL;
@@ -275,12 +290,19 @@
utf8_package_root[len] = '\0';
}
+ bool fatal_errors = fatalErrors.IsNull() ? true : fatalErrors.value();
+ Dart_Port on_exit_port = onExit.IsNull() ? ILLEGAL_PORT : onExit.Id();
+ Dart_Port on_error_port = onError.IsNull() ? ILLEGAL_PORT : onError.Id();
+
IsolateSpawnState* state = new IsolateSpawnState(port.Id(),
canonical_uri,
utf8_package_root,
args,
message,
- paused.value());
+ paused.value(),
+ fatal_errors,
+ on_exit_port,
+ on_error_port);
// If we were passed a value then override the default flags state for
// checked mode.
if (!checked.IsNull()) {
diff --git a/runtime/lib/isolate_patch.dart b/runtime/lib/isolate_patch.dart
index 1fd87bf..7e1c496 100644
--- a/runtime/lib/isolate_patch.dart
+++ b/runtime/lib/isolate_patch.dart
@@ -274,13 +274,16 @@
/* patch */ static Isolate get current => _currentIsolate;
/* patch */ static Future<Isolate> spawn(
- void entryPoint(message), var message, { bool paused: false }) {
+ void entryPoint(message), var message,
+ {bool paused: false, bool errorsAreFatal,
+ SendPort onExit, SendPort onError}) {
// `paused` isn't handled yet.
RawReceivePort readyPort;
try {
// The VM will invoke [_startIsolate] with entryPoint as argument.
readyPort = new RawReceivePort();
- _spawnFunction(readyPort.sendPort, entryPoint, message, paused);
+ _spawnFunction(readyPort.sendPort, entryPoint, message,
+ paused, errorsAreFatal, onExit, onError);
Completer completer = new Completer<Isolate>.sync();
readyPort.handler = (readyMessage) {
readyPort.close();
@@ -303,7 +306,8 @@
/* patch */ static Future<Isolate> spawnUri(
Uri uri, List<String> args, var message,
- { bool paused: false, bool checked, Uri packageRoot }) {
+ {bool paused: false, bool checked, Uri packageRoot, bool errorsAreFatal,
+ SendPort onExit, SendPort onError}) {
RawReceivePort readyPort;
try {
// The VM will invoke [_startIsolate] and not `main`.
@@ -311,7 +315,8 @@
var packageRootString =
(packageRoot == null) ? null : packageRoot.toString();
_spawnUri(readyPort.sendPort, uri.toString(), args, message,
- paused, checked, packageRootString);
+ paused, checked, packageRootString,
+ errorsAreFatal, onExit, onError);
Completer completer = new Completer<Isolate>.sync();
readyPort.handler = (readyMessage) {
readyPort.close();
@@ -348,12 +353,14 @@
static void _spawnFunction(SendPort readyPort, Function topLevelFunction,
- var message, bool paused)
+ var message, bool paused, bool errorsAreFatal,
+ SendPort onExit, SendPort onError)
native "Isolate_spawnFunction";
static void _spawnUri(SendPort readyPort, String uri,
List<String> args, var message,
- bool paused, bool checked, String packageRoot)
+ bool paused, bool checked, String packageRoot,
+ bool errorsAreFatal, SendPort onExit, SendPort onError)
native "Isolate_spawnUri";
static void _sendOOB(port, msg) native "Isolate_sendOOB";
diff --git a/runtime/observatory/lib/object_graph.dart b/runtime/observatory/lib/object_graph.dart
index 0035580..60e720d 100644
--- a/runtime/observatory/lib/object_graph.dart
+++ b/runtime/observatory/lib/object_graph.dart
@@ -10,13 +10,83 @@
import 'package:logging/logging.dart';
+class _JenkinsSmiHash {
+ static int combine(int hash, int value) {
+ hash = 0x1fffffff & (hash + value);
+ hash = 0x1fffffff & (hash + ((0x0007ffff & hash) << 10));
+ return hash ^ (hash >> 6);
+ }
+
+ static int finish(int hash) {
+ hash = 0x1fffffff & (hash + ((0x03ffffff & hash) << 3));
+ hash = hash ^ (hash >> 11);
+ return 0x1fffffff & (hash + ((0x00003fff & hash) << 15));
+ }
+
+ static int hash3(a, b, c) => finish(combine(combine(combine(0, a), b), c));
+}
+
+// Map<[uint32, uint32, uint32], uint32>
+class AddressMapper {
+ final Uint32List _table;
+
+ // * 4 ~/3 for 75% load factor
+ // * 4 for four-tuple entries
+ AddressMapper(int N) : _table = new Uint32List((N * 4 ~/ 3) * 4);
+
+ int _scanFor(int high, int mid, int low) {
+ var hash = _JenkinsSmiHash.hash3(high, mid, low);
+ var start = (hash % _table.length) & ~3;
+ var index = start;
+ do {
+ if (_table[index + 3] == 0) return index;
+ if (_table[index] == high &&
+ _table[index + 1] == mid &&
+ _table[index + 2] == low) return index;
+ index = (index + 4) % _table.length;
+ } while (index != start);
+
+ throw new Exception("Interal error: table full");
+ }
+
+ int get(int high, int mid, int low) {
+ int index = _scanFor(high, mid, low);
+ if (_table[index + 3] == 0) return null;
+ return _table[index + 3];
+ }
+
+ int put(int high, int mid, int low, int id) {
+ if (id == 0) throw new Exception("Internal error: invalid id");
+
+ int index = _scanFor(high, mid, low);
+ if ((_table[index + 3] != 0)) {
+ throw new Exception("Internal error: attempt to overwrite key");
+ }
+ _table[index] = high;
+ _table[index + 1] = mid;
+ _table[index + 2] = low;
+ _table[index + 3] = id;
+ return id;
+ }
+}
+
+
// Port of dart::ReadStream from vm/datastream.h.
-class _ReadStream {
+//
+// The heap snapshot is a series of variable-length unsigned integers. For
+// each byte in the stream, the high bit marks the last byte of an integer and
+// the low 7 bits are the payload. The payloads are sent in little endian
+// order.
+// The largest values used are 64-bit addresses.
+// We read in 4 payload chunks (28-bits) to stay in Smi range on Javascript.
+// We read them into instance variables ('low', 'mid' and 'high') to avoid
+// allocating a container.
+class ReadStream {
int position = 0;
int _size = 0;
final List<ByteData> _chunks;
- _ReadStream(this._chunks) {
+ ReadStream(this._chunks) {
int n = _chunks.length;
for (var i = 0; i < n; i++) {
var chunk = _chunks[i];
@@ -29,21 +99,109 @@
int get pendingBytes => _size - position;
- int getUint8(i) {
+ int _getUint8(i) {
return _chunks[i >> 20].getUint8(i & 0xFFFFF);
}
- int readUnsigned() {
- int result = 0;
- int shift = 0;
- while (getUint8(position) <= maxUnsignedDataPerByte) {
- result |= getUint8(position) << shift;
- shift += dataBitsPerByte;
- position++;
+ int low = 0;
+ int mid = 0;
+ int high = 0;
+
+ int get clampedUint32 {
+ if (high != 0 || mid > 0xF) {
+ return 0xFFFFFFFF;
+ } else {
+ // Not shift as JS shifts are signed 32-bit.
+ return mid * 0x10000000 + low;
}
- result |= (getUint8(position) & byteMask) << shift;
- position++;
- return result;
+ }
+
+ bool get isZero {
+ return (high == 0) && (mid == 0) && (low == 0);
+ }
+
+ void readUnsigned() {
+ low = 0;
+ mid = 0;
+ high = 0;
+
+ // Low 28 bits.
+ var digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ low |= (digit & byteMask << 0);
+ return;
+ }
+ low |= (digit << 0);
+
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ low |= ((digit & byteMask) << 7);
+ return;
+ }
+ low |= (digit << 7);
+
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ low |= ((digit & byteMask) << 14);
+ return;
+ }
+ low |= (digit << 14);
+
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ low |= ((digit & byteMask) << 21);
+ return;
+ }
+ low |= (digit << 21);
+
+ // Mid 28 bits.
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ mid |= (digit & byteMask << 0);
+ return;
+ }
+ mid |= (digit << 0);
+
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ mid |= ((digit & byteMask) << 7);
+ return;
+ }
+ mid |= (digit << 7);
+
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ mid |= ((digit & byteMask) << 14);
+ return;
+ }
+ mid |= (digit << 14);
+
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ mid |= ((digit & byteMask) << 21);
+ return;
+ }
+ mid |= (digit << 21);
+
+ // High 28 bits.
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ high |= (digit & byteMask << 0);
+ return;
+ }
+ high |= (digit << 0);
+
+ digit = _getUint8(position++);
+ if (digit > maxUnsignedDataPerByte) {
+ high |= ((digit & byteMask) << 7);
+ return;
+ }
+ high |= (digit << 7);
+ throw new Exception("Format error: snapshot field exceeds 64 bits");
+ }
+
+ void skipUnsigned() {
+ while (_getUint8(position++) <= maxUnsignedDataPerByte);
}
static const int dataBitsPerByte = 7;
@@ -67,30 +225,52 @@
ObjectVertex get dominator => new ObjectVertex._(_graph._doms[_id], _graph);
int get shallowSize {
- var stream = new _ReadStream(_graph._chunks);
+ var stream = new ReadStream(_graph._chunks);
stream.position = _graph._positions[_id];
- stream.readUnsigned(); // addr
- return stream.readUnsigned(); // shallowSize
+ stream.skipUnsigned(); // addr
+ stream.readUnsigned(); // shallowSize
+ return stream.clampedUint32;
}
int get vmCid {
- var stream = new _ReadStream(_graph._chunks);
+ var stream = new ReadStream(_graph._chunks);
stream.position = _graph._positions[_id];
- stream.readUnsigned(); // addr
- stream.readUnsigned(); // shallowSize
- return stream.readUnsigned(); // cid
+ stream.skipUnsigned(); // addr
+ stream.skipUnsigned(); // shallowSize
+ stream.readUnsigned(); // cid
+ return stream.clampedUint32;
}
get successors => new _SuccessorsIterable(_graph, _id);
- int get address {
+ String get address {
// Note that everywhere else in this file, "address" really means an address
// scaled down by kObjectAlignment. They were scaled down so they would fit
// into Smis on the client.
- var stream = new _ReadStream(_graph._chunks);
+ var stream = new ReadStream(_graph._chunks);
stream.position = _graph._positions[_id];
- var scaledAddr = stream.readUnsigned();
- return scaledAddr * _graph._kObjectAlignment;
+ stream.readUnsigned();
+
+ // Complicated way to do (high:mid:low * _kObjectAlignment).toHexString()
+ // without intermediate values exceeding int32.
+
+ var strAddr = "";
+ var carry = 0;
+ combine4(nibble) {
+ nibble = nibble * _graph._kObjectAlignment + carry;
+ carry = nibble >> 4;
+ nibble = nibble & 0xF;
+ strAddr = nibble.toRadixString(16) + strAddr;
+ }
+ combine28(twentyEightBits) {
+ for (int shift = 0; shift < 28; shift += 4) {
+ combine4((twentyEightBits >> shift) & 0xF);
+ }
+ }
+ combine28(stream.low);
+ combine28(stream.mid);
+ combine28(stream.high);
+ return strAddr;
}
List<ObjectVertex> dominatorTreeChildren() {
@@ -121,24 +301,23 @@
class _SuccessorsIterator implements Iterator<ObjectVertex> {
final ObjectGraph _graph;
- _ReadStream _stream;
+ ReadStream _stream;
ObjectVertex current;
_SuccessorsIterator(this._graph, int id) {
- _stream = new _ReadStream(this._graph._chunks);
+ _stream = new ReadStream(this._graph._chunks);
_stream.position = _graph._positions[id];
- _stream.readUnsigned(); // addr
- _stream.readUnsigned(); // shallowSize
- var cid = _stream.readUnsigned();
- assert((cid & ~0xFFFF) == 0); // Sanity check: cid's are 16 bit.
+ _stream.skipUnsigned(); // addr
+ _stream.skipUnsigned(); // shallowSize
+ _stream.skipUnsigned(); // cid
}
bool moveNext() {
while (true) {
- var nextAddr = _stream.readUnsigned();
- if (nextAddr == 0) return false;
- var nextId = _graph._addrToId[nextAddr];
+ _stream.readUnsigned();
+ if (_stream.isZero) return false;
+ var nextId = _graph._addrToId.get(_stream.high, _stream.mid, _stream.low);
if (nextId == null) continue; // Reference to VM isolate's heap.
current = new ObjectVertex._(nextId, _graph);
return true;
@@ -232,7 +411,7 @@
int _E;
int _size;
- Map<int, int> _addrToId = new Map<int, int>();
+ AddressMapper _addrToId;
// Indexed by node id, with id 0 representing invalid/uninitialized.
Uint32List _positions; // Position of the node in the snapshot.
@@ -245,32 +424,34 @@
void _buildPositions() {
var N = _N;
- var addrToId = _addrToId;
+ var addrToId = new AddressMapper(N);
var positions = new Uint32List(N + 1);
- var stream = new _ReadStream(_chunks);
- _kObjectAlignment = stream.readUnsigned();
+ var stream = new ReadStream(_chunks);
+ stream.readUnsigned();
+ _kObjectAlignment = stream.clampedUint32;
var id = 1;
while (stream.pendingBytes > 0) {
positions[id] = stream.position;
- var addr = stream.readUnsigned();
- stream.readUnsigned(); // shallowSize
- stream.readUnsigned(); // cid
- addrToId[addr] = id;
+ stream.readUnsigned(); // addr
+ addrToId.put(stream.high, stream.mid, stream.low, id);
+ stream.skipUnsigned(); // shallowSize
+ stream.skipUnsigned(); // cid
- var succAddr = stream.readUnsigned();
- while (succAddr != 0) {
- succAddr = stream.readUnsigned();
+ stream.readUnsigned();
+ while (!stream.isZero) {
+ stream.readUnsigned();
}
id++;
}
assert(id == (N + 1));
- var root = addrToId[0];
+ var root = addrToId.get(0, 0, 0);
assert(root == 1);
+ _addrToId = addrToId;
_positions = positions;
}
@@ -292,11 +473,11 @@
stackNodes[0] = root;
- var stream = new _ReadStream(_chunks);
+ var stream = new ReadStream(_chunks);
stream.position = positions[root];
- stream.readUnsigned(); // addr
- stream.readUnsigned(); // shallowSize
- stream.readUnsigned(); // cid
+ stream.skipUnsigned(); // addr
+ stream.skipUnsigned(); // shallowSize
+ stream.skipUnsigned(); // cid
stackCurrentEdgePos[0] = stream.position;
visited[root] = 1;
@@ -305,10 +486,10 @@
var edgePos = stackCurrentEdgePos[stackTop];
stream.position = edgePos;
- var childAddr = stream.readUnsigned();
- if (childAddr != 0) {
+ stream.readUnsigned(); // childAddr
+ if (!stream.isZero) {
stackCurrentEdgePos[stackTop] = stream.position;
- var childId = addrToId[childAddr];
+ var childId = addrToId.get(stream.high, stream.mid, stream.low);
if (childId == null) continue; // Reference to VM isolate's heap.
E++;
if (visited[childId] == 1) continue;
@@ -317,9 +498,9 @@
stackNodes[stackTop] = childId;
stream.position = positions[childId];
- stream.readUnsigned(); // addr
- stream.readUnsigned(); // shallowSize
- stream.readUnsigned(); // cid
+ stream.skipUnsigned(); // addr
+ stream.skipUnsigned(); // shallowSize
+ stream.skipUnsigned(); // cid
stackCurrentEdgePos[stackTop] = stream.position; // i.e., first edge
visited[childId] = 1;
} else {
@@ -353,21 +534,21 @@
var preds = new Uint32List(E);
// Count predecessors of each node.
- var stream = new _ReadStream(_chunks);
+ var stream = new ReadStream(_chunks);
for (var i = 1; i <= N; i++) {
stream.position = positions[i];
- stream.readUnsigned(); // addr
- stream.readUnsigned(); // shallowSize
- stream.readUnsigned(); // cid
- var succAddr = stream.readUnsigned();
- while (succAddr != 0) {
- var succId = addrToId[succAddr];
+ stream.skipUnsigned(); // addr
+ stream.skipUnsigned(); // shallowSize
+ stream.skipUnsigned(); // cid
+ stream.readUnsigned(); // succAddr
+ while (!stream.isZero) {
+ var succId = addrToId.get(stream.high, stream.mid, stream.low);
if (succId != null) {
numPreds[succId]++;
} else {
// Reference to VM isolate's heap.
}
- succAddr = stream.readUnsigned();
+ stream.readUnsigned(); // succAddr
}
}
@@ -387,19 +568,19 @@
// Fill predecessors array.
for (var i = 1; i <= N; i++) {
stream.position = positions[i];
- stream.readUnsigned(); // addr
- stream.readUnsigned(); // shallowSize
- stream.readUnsigned(); // cid
- var succAddr = stream.readUnsigned();
- while (succAddr != 0) {
- var succId = addrToId[succAddr];
+ stream.skipUnsigned(); // addr
+ stream.skipUnsigned(); // shallowSize
+ stream.skipUnsigned(); // cid
+ stream.readUnsigned(); // succAddr
+ while (!stream.isZero) {
+ var succId = addrToId.get(stream.high, stream.mid, stream.low);
if (succId != null) {
var predIndex = nextPreds[succId]++;
preds[predIndex] = i;
} else {
// Reference to VM isolate's heap.
}
- succAddr = stream.readUnsigned();
+ stream.readUnsigned(); // succAddr
}
}
@@ -495,11 +676,12 @@
var retainedSizes = new Uint32List(N + 1);
// Start with retained size as shallow size.
- var reader = new _ReadStream(_chunks);
+ var reader = new ReadStream(_chunks);
for (var i = 1; i <= N; i++) {
reader.position = positions[i];
- reader.readUnsigned(); // addr
- var shallowSize = reader.readUnsigned();
+ reader.skipUnsigned(); // addr
+ reader.readUnsigned(); // shallowSize
+ var shallowSize = reader.clampedUint32;
retainedSizes[i] = shallowSize;
size += shallowSize;
}
diff --git a/runtime/observatory/lib/service.dart b/runtime/observatory/lib/service.dart
index 62b99dd..d72af88 100644
--- a/runtime/observatory/lib/service.dart
+++ b/runtime/observatory/lib/service.dart
@@ -5,6 +5,7 @@
library service;
import 'dart:async';
+import 'dart:convert';
import 'dart:typed_data';
import 'dart:math' as math;
diff --git a/runtime/observatory/lib/src/app/analytics.dart b/runtime/observatory/lib/src/app/analytics.dart
index 74efc7f..cb6a91f 100644
--- a/runtime/observatory/lib/src/app/analytics.dart
+++ b/runtime/observatory/lib/src/app/analytics.dart
@@ -19,8 +19,13 @@
/// Called whenever an Observatory page is viewed.
static Future reportPageView(Uri uri) {
- // The screen name is the uri's path. e.g. inspect, profile.
- final screenName = uri.path;
- return _googleAnalytics.sendScreenView(screenName);
+ // Only report analytics when running in JavaScript.
+ if (Utils.runningInJavaScript()) {
+ // The screen name is the uri's path. e.g. inspect, profile.
+ final screenName = uri.path;
+ return _googleAnalytics.sendScreenView(screenName);
+ } else {
+ return new Future.value(null);
+ }
}
}
diff --git a/runtime/observatory/lib/src/cli/command.dart b/runtime/observatory/lib/src/cli/command.dart
index 0f57376..d6be00d 100644
--- a/runtime/observatory/lib/src/cli/command.dart
+++ b/runtime/observatory/lib/src/cli/command.dart
@@ -170,12 +170,12 @@
var commands = _match(args, true);
if (commands.isEmpty) {
// TODO(turnidge): Add a proper exception class for this.
- return new Future.error('notfound');
+ return new Future.error('No such command');
} else if (commands.length == 1) {
return commands[0].run(args.sublist(commands[0]._depth));
} else {
// TODO(turnidge): Add a proper exception class for this.
- return new Future.error('ambiguous');
+ return new Future.error('Ambiguous command');
}
}
diff --git a/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart b/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart
index 7be5a01..c29b30e 100644
--- a/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart
+++ b/runtime/observatory/lib/src/cpu_profile/cpu_profile.dart
@@ -598,6 +598,7 @@
}
+// TODO(johnmccutchan): Rename to SampleProfile
class CpuProfile {
final double MICROSECONDS_PER_SECOND = 1000000.0;
final double displayThreshold = 0.0002; // 0.02%.
diff --git a/runtime/observatory/lib/src/elements/class_view.dart b/runtime/observatory/lib/src/elements/class_view.dart
index d839614..7ca6fb8 100644
--- a/runtime/observatory/lib/src/elements/class_view.dart
+++ b/runtime/observatory/lib/src/elements/class_view.dart
@@ -6,6 +6,8 @@
import 'dart:async';
import 'observatory_element.dart';
+import 'package:observatory/cpu_profile.dart';
+import 'package:observatory/elements.dart';
import 'package:observatory/service.dart';
import 'package:polymer/polymer.dart';
@@ -61,4 +63,24 @@
Future refreshCoverage() {
return cls.refreshCoverage();
}
+
+ final CpuProfile profile = new CpuProfile();
+
+ Future refreshAllocationProfile() async {
+ var profileResponse = await cls.getAllocationSamples('UserVM');
+ profile.load(profileResponse.isolate, profileResponse);
+ CpuProfileTreeElement cpuProfileTreeElement =
+ shadowRoot.querySelector('#cpuProfileTree');
+ cpuProfileTreeElement.profile = profile;
+ cpuProfileTreeElement.direction = ProfileTreeDirection.Exclusive;
+ cpuProfileTreeElement.mode = ProfileTreeMode.Function;
+ cpuProfileTreeElement.render();
+ }
+
+ Future toggleAllocationTrace() {
+ if (cls == null) {
+ return new Future(refresh);
+ }
+ return cls.setTraceAllocations(!cls.traceAllocations).whenComplete(refresh);
+ }
}
diff --git a/runtime/observatory/lib/src/elements/class_view.html b/runtime/observatory/lib/src/elements/class_view.html
index ad85d16..beddb21 100644
--- a/runtime/observatory/lib/src/elements/class_view.html
+++ b/runtime/observatory/lib/src/elements/class_view.html
@@ -1,4 +1,6 @@
<link rel="import" href="../../../../packages/polymer/polymer.html">
+<link rel="import" href="action_link.html">
+<link rel="import" href="cpu_profile.html">
<link rel="import" href="curly_block.html">
<link rel="import" href="eval_box.html">
<link rel="import" href="eval_link.html">
@@ -21,6 +23,7 @@
<isolate-nav-menu isolate="{{ cls.isolate }}"></isolate-nav-menu>
<library-nav-menu library="{{ cls.library }}"></library-nav-menu>
<class-nav-menu cls="{{ cls }}" last="{{ true }}"></class-nav-menu>
+ <nav-refresh callback="{{ refreshAllocationProfile }}" label="Refresh Allocation Profile"></nav-refresh>
<nav-refresh callback="{{ refreshCoverage }}" label="Refresh Coverage"></nav-refresh>
<nav-refresh callback="{{ refresh }}"></nav-refresh>
</nav-bar>
@@ -206,6 +209,35 @@
<hr>
+ <div class="content">
+ <h2>Allocations</h2>
+ <div class="memberList">
+ <template if="{{ cls.traceAllocations }}">
+ <div class="memberItem">
+ <div class="memberName">Tracing allocations?</div>
+ <div class="memberValue">
+ <span>Yes</span><action-link label="disable" callback="{{ toggleAllocationTrace }}"></action-link>
+ </div>
+ </div>
+ </template>
+ <template if="{{ !cls.traceAllocations }}">
+ <div class="memberItem">
+ <div class="memberName">Tracing allocations?</div>
+ <div class="memberValue">
+ <span>No</span><action-link label="enable" callback="{{ toggleAllocationTrace }}"></action-link>
+ </div>
+ </div>
+ </template>
+ </div>
+ <div class="flex-row centered">
+ <div class="flex-item-90-percent outlined" style="margin: 16px; margin-left: 8px; margin-right: 8px">
+ <cpu-profile-tree id="cpuProfileTree"></cpu-profile-tree>
+ </div>
+ </div>
+ </div>
+
+ <hr>
+
<div class="content-centered-big">
<source-inset location="{{ cls.location }}">
</source-inset>
diff --git a/runtime/observatory/lib/src/elements/cpu_profile.dart b/runtime/observatory/lib/src/elements/cpu_profile.dart
index ed7651b..7652a4b 100644
--- a/runtime/observatory/lib/src/elements/cpu_profile.dart
+++ b/runtime/observatory/lib/src/elements/cpu_profile.dart
@@ -521,14 +521,6 @@
Future _getCpuProfile() async {
profile.clear();
- if (functionTree != null) {
- functionTree.clear();
- functionTree = null;
- }
- if (codeTree != null) {
- codeTree.clear();
- codeTree = null;
- }
if (isolate == null) {
return new Future.value(null);
}
@@ -565,52 +557,20 @@
stackDepth = profile.stackDepth.toString();
sampleRate = profile.sampleRate.toStringAsFixed(0);
timeSpan = formatTime(profile.timeSpan);
- bool exclusive = directionSelector == 'Up';
- if (functionTree != null) {
- functionTree.clear();
- functionTree = null;
+ CpuProfileTreeElement cpuProfileTreeElement =
+ shadowRoot.querySelector('#cpuProfileTree');
+ ProfileTreeDirection direction = ProfileTreeDirection.Exclusive;
+ if (directionSelector != 'Up') {
+ direction = ProfileTreeDirection.Inclusive;
}
- if (codeTree != null) {
- codeTree.clear();
- codeTree = null;
- }
+ ProfileTreeMode mode = ProfileTreeMode.Function;
if (modeSelector == 'Code') {
- _buildCodeTree(exclusive);
- } else {
- _buildFunctionTree(exclusive);
+ mode = ProfileTreeMode.Code;
}
- }
-
- TableTree codeTree;
- TableTree functionTree;
-
- void _buildFunctionTree(bool exclusive) {
- if (functionTree == null) {
- var tableBody = shadowRoot.querySelector('#treeBody');
- assert(tableBody != null);
- functionTree = new TableTree(tableBody, 2);
- }
- var tree = profile.loadFunctionTree(exclusive ? 'exclusive' : 'inclusive');
- if (tree == null) {
- return;
- }
- var rootRow =
- new FunctionProfileTreeRow(functionTree, null, profile, tree.root);
- functionTree.initialize(rootRow);
- }
-
- void _buildCodeTree(bool exclusive) {
- if (codeTree == null) {
- var tableBody = shadowRoot.querySelector('#treeBody');
- assert(tableBody != null);
- codeTree = new TableTree(tableBody, 2);
- }
- var tree = profile.loadCodeTree(exclusive ? 'exclusive' : 'inclusive');
- if (tree == null) {
- return;
- }
- var rootRow = new CodeProfileTreeRow(codeTree, null, profile, tree.root);
- codeTree.initialize(rootRow);
+ cpuProfileTreeElement.profile = profile;
+ cpuProfileTreeElement.direction = direction;
+ cpuProfileTreeElement.mode = mode;
+ cpuProfileTreeElement.render();
}
}
@@ -1100,33 +1060,101 @@
///
TableTree functionTree;
_updateFunctionTreeView() {
+ CpuProfileTreeElement cpuProfileTreeElement =
+ shadowRoot.querySelector('#cpuProfileTree');
+ ProfileTreeDirection direction = ProfileTreeDirection.Exclusive;
+ if (directionSelector != 'Up') {
+ direction = ProfileTreeDirection.Inclusive;
+ }
+ ProfileTreeMode mode = ProfileTreeMode.Function;
+ cpuProfileTreeElement.profile = profile;
+ cpuProfileTreeElement.direction = direction;
+ cpuProfileTreeElement.mode = mode;
+ cpuProfileTreeElement.functionFilter = (FunctionCallTreeNode node) {
+ return node.profileFunction.function == focusedFunction;
+ };
+ cpuProfileTreeElement.render();
+ }
+}
+
+enum ProfileTreeDirection {
+ Exclusive,
+ Inclusive
+}
+
+enum ProfileTreeMode {
+ Code,
+ Function,
+}
+
+@CustomTag('cpu-profile-tree')
+class CpuProfileTreeElement extends ObservatoryElement {
+ ProfileTreeDirection direction = ProfileTreeDirection.Exclusive;
+ ProfileTreeMode mode = ProfileTreeMode.Function;
+ CpuProfile profile;
+ TableTree codeTree;
+ TableTree functionTree;
+ FunctionCallTreeNodeFilter functionFilter;
+
+ CpuProfileTreeElement.created() : super.created();
+
+ void render() {
+ _updateView();
+ }
+
+ void _updateView() {
if (functionTree != null) {
functionTree.clear();
functionTree = null;
}
- _buildFunctionTree();
+ if (codeTree != null) {
+ codeTree.clear();
+ codeTree = null;
+ }
+ bool exclusive = direction == ProfileTreeDirection.Exclusive;
+ if (mode == ProfileTreeMode.Code) {
+ _buildCodeTree(exclusive);
+ } else {
+ assert(mode == ProfileTreeMode.Function);
+ _buildFunctionTree(exclusive);
+ }
}
- void _buildFunctionTree() {
+ void _buildFunctionTree(bool exclusive) {
if (functionTree == null) {
var tableBody = shadowRoot.querySelector('#treeBody');
assert(tableBody != null);
functionTree = new TableTree(tableBody, 2);
}
- if (focusedFunction == null) {
+ if (profile == null) {
return;
}
- bool exclusive = directionSelector == 'Up';
var tree = profile.loadFunctionTree(exclusive ? 'exclusive' : 'inclusive');
if (tree == null) {
return;
}
- var filter = (FunctionCallTreeNode node) {
- return node.profileFunction.function == focusedFunction;
- };
- tree = tree.filtered(filter);
+ if (functionFilter != null) {
+ tree = tree.filtered(functionFilter);
+ }
var rootRow =
new FunctionProfileTreeRow(functionTree, null, profile, tree.root);
functionTree.initialize(rootRow);
}
+
+ void _buildCodeTree(bool exclusive) {
+ if (codeTree == null) {
+ var tableBody = shadowRoot.querySelector('#treeBody');
+ assert(tableBody != null);
+ codeTree = new TableTree(tableBody, 2);
+ }
+ if (profile == null) {
+ return;
+ }
+ var tree = profile.loadCodeTree(exclusive ? 'exclusive' : 'inclusive');
+ if (tree == null) {
+ return;
+ }
+ var rootRow = new CodeProfileTreeRow(codeTree, null, profile, tree.root);
+ codeTree.initialize(rootRow);
+ }
}
diff --git a/runtime/observatory/lib/src/elements/cpu_profile.html b/runtime/observatory/lib/src/elements/cpu_profile.html
index 685ad86..891783f 100644
--- a/runtime/observatory/lib/src/elements/cpu_profile.html
+++ b/runtime/observatory/lib/src/elements/cpu_profile.html
@@ -6,6 +6,78 @@
<link rel="import" href="sliding_checkbox.html">
<link rel="import" href="view_footer.html">
+<polymer-element name="cpu-profile-tree" extends="observatory-element">
+ <template>
+ <link rel="stylesheet" href="css/shared.css">
+ <style>
+ .infoBox {
+ position: absolute;
+ top: 100%;
+ left: 0%;
+ z-index: 999;
+ opacity: 1;
+ padding: 1em;
+ background-color: #ffffff;
+ border-left: solid 2px #ECECEC;
+ border-bottom: solid 2px #ECECEC;
+ border-right: solid 2px #ECECEC;
+ }
+ .full-width {
+ width: 100%;
+ }
+ .tree {
+ border-spacing: 0px;
+ width: 100%;
+ margin-bottom: 20px
+ vertical-align: middle;
+ }
+ .tree tbody tr {
+ animation: fadeIn 0.5s;
+ -moz-animation: fadeIn 0.5s;
+ -webkit-animation: fadeIn 0.5s;
+ }
+ .tree tbody tr:hover {
+ background-color: #FAFAFA;
+ }
+ .tree tr td:first-child,
+ .tree tr th:first-child {
+ width: 100%;
+ }
+ .tree thead > tr > th {
+ padding: 8px;
+ vertical-align: bottom;
+ text-align: left;
+ border-bottom: 1px solid #ddd;
+ }
+ tr {
+ background-color: #FFFFFF;
+ }
+ tbody tr {
+ animation: fadeIn 0.5s;
+ -moz-animation: fadeIn 0.5s;
+ -webkit-animation: fadeIn 0.5s;
+ }
+ tbody tr:hover {
+ background-color: #FAFAFA;
+ }
+ tr td:first-child,
+ tr th:first-child {
+ width: 100%;
+ }
+ </style>
+ <table class="full-width tree">
+ <thead id="treeHeader">
+ <tr>
+ <th>Method</th>
+ <th>Executing</th>
+ </tr>
+ </thead>
+ <tbody id="treeBody">
+ </tbody>
+ </table>
+ </template>
+</polymer-element>
+
<polymer-element name="cpu-profile-table" extends="observatory-element">
<template>
<link rel="stylesheet" href="css/shared.css">
@@ -269,16 +341,7 @@
</div>
<div class="flex-row centered">
<div class="flex-item-90-percent outlined" style="margin: 16px; margin-left: 8px; margin-right: 8px">
- <table class="full-width tree">
- <thead id="treeHeader">
- <tr>
- <th>Method</th>
- <th>Executing</th>
- </tr>
- </thead>
- <tbody id="treeBody">
- </tbody>
- </table>
+ <cpu-profile-tree id="cpuProfileTree"></cpu-profile-tree>
</div>
</div>
</template>
@@ -300,53 +363,6 @@
background-color: #ECECEC;
padding: 0.2em;
}
-
- .table {
- border-spacing: 0px;
- width: 100%;
- margin-bottom: 20px
- vertical-align: middle;
- }
-
- tr {
- background-color: #FFFFFF;
- }
-
- tbody tr {
- animation: fadeIn 0.5s;
- -moz-animation: fadeIn 0.5s;
- -webkit-animation: fadeIn 0.5s;
- }
-
- tbody tr:hover {
- background-color: #FAFAFA;
- }
-
- tr td:first-child,
- tr th:first-child {
- width: 100%;
- }
-
- .table thead > tr > th {
- padding: 8px;
- vertical-align: bottom;
- text-align: left;
- border-bottom: 1px solid #ddd;
- }
-
- .infoBox {
- position: absolute;
- top: 100%;
- left: 0%;
- z-index: 999;
- opacity: 1;
- padding: 1em;
- background-color: #ffffff;
- border-left: solid 2px #ECECEC;
- border-bottom: solid 2px #ECECEC;
- border-right: solid 2px #ECECEC;
- }
-
.statusMessage {
font-size: 150%;
font-weight: bold;
@@ -479,16 +495,7 @@
</template>
<br><br>
<div class="tableWell shadow">
- <table class="table">
- <thead id="treeHeader">
- <tr>
- <th>Method</th>
- <th>Executing</th>
- </tr>
- </thead>
- <tbody id="treeBody">
- </tbody>
- </table>
+ <cpu-profile-tree id="cpuProfileTree"></cpu-profile-tree>
</div>
</div>
<view-footer></view-footer>
diff --git a/runtime/observatory/lib/src/elements/debugger.dart b/runtime/observatory/lib/src/elements/debugger.dart
index 31f064a..70a3208 100644
--- a/runtime/observatory/lib/src/elements/debugger.dart
+++ b/runtime/observatory/lib/src/elements/debugger.dart
@@ -349,6 +349,35 @@
'Syntax: step\n';
}
+class AsyncNextCommand extends DebuggerCommand {
+ AsyncNextCommand(Debugger debugger) : super(debugger, 'anext', []) {
+ }
+
+ Future run(List<String> args) async {
+ if (debugger.isolatePaused()) {
+ var event = debugger.isolate.pauseEvent;
+ if (event.asyncContinuation == null) {
+ debugger.console.print("No async continuation at this location");
+ return;
+ }
+ var bpt = await
+ debugger.isolate.addBreakOnActivation(event.asyncContinuation);
+ return debugger.isolate.resume();
+ } else {
+ debugger.console.print('The program is already running');
+ }
+ }
+
+ String helpShort =
+ 'Step over await or yield';
+
+ String helpLong =
+ 'Continue running the isolate until control returns to the current '
+ 'activation of an async or async* function.\n'
+ '\n'
+ 'Syntax: anext\n';
+}
+
class FinishCommand extends DebuggerCommand {
FinishCommand(Debugger debugger) : super(debugger, 'finish', []);
@@ -854,6 +883,67 @@
'Syntax: refresh <subcommand>\n';
}
+class _VMStreamPrinter {
+ ObservatoryDebugger _debugger;
+
+ _VMStreamPrinter(this._debugger);
+
+ String _savedStream;
+ String _savedIsolate;
+ String _savedLine;
+ List<String> _buffer = [];
+
+ void onEvent(String streamName, ServiceEvent event) {
+ String isolateName = event.isolate.name;
+ // If we get a line from a different isolate/stream, flush
+ // any pending output, even if it is not newline-terminated.
+ if ((_savedIsolate != null && isolateName != _savedIsolate) ||
+ (_savedStream != null && streamName != _savedStream)) {
+ flush();
+ }
+ String data = event.bytesAsString;
+ bool hasNewline = data.endsWith('\n');
+ if (_savedLine != null) {
+ data = _savedLine + data;
+ _savedIsolate = null;
+ _savedStream = null;
+ _savedLine = null;
+ }
+ var lines = data.split('\n').where((line) => line != '').toList();
+ if (lines.isEmpty) {
+ return;
+ }
+ int limit = (hasNewline ? lines.length : lines.length - 1);
+ for (int i = 0; i < limit; i++) {
+ _buffer.add(_format(isolateName, streamName, lines[i]));
+ }
+ // If there is no newline, we save the last line of output for next time.
+ if (!hasNewline) {
+ _savedIsolate = isolateName;
+ _savedStream = streamName;
+ _savedLine = lines[lines.length - 1];
+ }
+ }
+
+ void flush() {
+ // If there is any saved output, flush it now.
+ if (_savedLine != null) {
+ _buffer.add(_format(_savedIsolate, _savedStream, _savedLine));
+ _savedIsolate = null;
+ _savedStream = null;
+ _savedLine = null;
+ }
+ if (_buffer.isNotEmpty) {
+ _debugger.console.printStdio(_buffer);
+ _buffer.clear();
+ }
+ }
+
+ String _format(String isolateName, String streamName, String line) {
+ return '${isolateName}:${streamName}> ${line}';
+ }
+}
+
// Tracks the state for an isolate debugging session.
class ObservatoryDebugger extends Debugger {
RootCommand cmd;
@@ -889,6 +979,7 @@
new ContinueCommand(this),
new NextCommand(this),
new StepCommand(this),
+ new AsyncNextCommand(this),
new FinishCommand(this),
new BreakCommand(this),
new SetCommand(this),
@@ -898,6 +989,7 @@
new IsolateCommand(this),
new RefreshCommand(this),
]);
+ _stdioPrinter = new _VMStreamPrinter(this);
}
VM get vm => page.app.vm;
@@ -997,6 +1089,7 @@
}
void reportStatus() {
+ flushStdio();
if (_isolate == null) {
console.print('No current isolate');
} else if (_isolate.idle) {
@@ -1039,6 +1132,9 @@
} else {
console.print('Paused at ${script.name}:${line}:${col}');
}
+ if (event.asyncContinuation != null) {
+ console.print("Paused in async function: 'astep' available");
+ }
});
}
}
@@ -1116,6 +1212,7 @@
case ServiceEvent.kPauseException:
if (event.owner == isolate) {
_refreshStack(event).then((_) {
+ flushStdio();
_reportPause(event);
});
}
@@ -1123,6 +1220,7 @@
case ServiceEvent.kResume:
if (event.owner == isolate) {
+ flushStdio();
console.print('Continuing...');
}
break;
@@ -1147,6 +1245,20 @@
}
}
+ _VMStreamPrinter _stdioPrinter;
+
+ void flushStdio() {
+ _stdioPrinter.flush();
+ }
+
+ void onStdout(ServiceEvent event) {
+ _stdioPrinter.onEvent('stdout', event);
+ }
+
+ void onStderr(ServiceEvent event) {
+ _stdioPrinter.onEvent('stderr', event);
+ }
+
static String _commonPrefix(String a, String b) {
int pos = 0;
while (pos < a.length && pos < b.length) {
@@ -1236,6 +1348,8 @@
Future<StreamSubscription> _isolateSubscriptionFuture;
Future<StreamSubscription> _debugSubscriptionFuture;
+ Future<StreamSubscription> _stdoutSubscriptionFuture;
+ Future<StreamSubscription> _stderrSubscriptionFuture;
@override
void attached() {
@@ -1269,6 +1383,26 @@
app.vm.listenEventStream(VM.kIsolateStream, debugger.onEvent);
_debugSubscriptionFuture =
app.vm.listenEventStream(VM.kDebugStream, debugger.onEvent);
+ _stdoutSubscriptionFuture =
+ app.vm.listenEventStream(VM.kStdoutStream, debugger.onStdout);
+ _stderrSubscriptionFuture =
+ app.vm.listenEventStream(VM.kStderrStream, debugger.onStderr);
+
+ // Turn on the periodic poll timer for this page.
+ pollPeriod = const Duration(milliseconds:100);
+
+ onClick.listen((event) {
+ // Random clicks should focus on the text box. If the user selects
+ // a range, don't interfere.
+ var selection = window.getSelection();
+ if (selection == null || selection.type == 'Caret') {
+ debugger.input.focus();
+ }
+ });
+ }
+
+ void onPoll() {
+ debugger.flushStdio();
}
@override
@@ -1277,6 +1411,10 @@
_isolateSubscriptionFuture = null;
cancelFutureSubscription(_debugSubscriptionFuture);
_debugSubscriptionFuture = null;
+ cancelFutureSubscription(_stdoutSubscriptionFuture);
+ _stdoutSubscriptionFuture = null;
+ cancelFutureSubscription(_stderrSubscriptionFuture);
+ _stderrSubscriptionFuture = null;
super.detached();
}
}
@@ -1656,6 +1794,21 @@
span.scrollIntoView();
}
+ void printStdio(List<String> lines) {
+ var lastSpan;
+ for (var line in lines) {
+ var span = new SpanElement();
+ span.classes.add('green');
+ span.appendText(line);
+ span.appendText('\n');
+ $['consoleText'].children.add(span);
+ lastSpan = span;
+ }
+ if (lastSpan != null) {
+ lastSpan.scrollIntoView();
+ }
+ }
+
void printRef(Instance ref, { bool newline:true }) {
var refElement = new Element.tag('instance-ref');
refElement.ref = ref;
diff --git a/runtime/observatory/lib/src/elements/debugger.html b/runtime/observatory/lib/src/elements/debugger.html
index 08948cf..b2e6bfe 100644
--- a/runtime/observatory/lib/src/elements/debugger.html
+++ b/runtime/observatory/lib/src/elements/debugger.html
@@ -420,13 +420,18 @@
line-height: 125%;
color: red;
}
+ .green {
+ font: normal 14px consolas, courier, monospace;
+ white-space: pre;
+ line-height: 125%;
+ color: green;
+ }
.spacer {
height: 20px;
}
</style>
<div id="consoleText" class="console">
- <!-- Console output is added programmatically here using the 'normal'
- and 'bold' styles. -->
+ <!-- Console output is added programmatically -->
</div>
</template>
</polymer-element>
@@ -437,6 +442,7 @@
<style>
.textBox {
margin: 20px;
+ padding: 5px;
font: 400 16px consolas, courier, monospace;
width: 95%;
}
diff --git a/runtime/observatory/lib/src/elements/heap_snapshot.dart b/runtime/observatory/lib/src/elements/heap_snapshot.dart
index f75726f..1dee104 100644
--- a/runtime/observatory/lib/src/elements/heap_snapshot.dart
+++ b/runtime/observatory/lib/src/elements/heap_snapshot.dart
@@ -75,8 +75,7 @@
firstColumn.children.add(gap);
AnyServiceRefElement objectRef = new Element.tag("any-service-ref");
- String hexAddress = vertex.address.toRadixString(16);
- snapshot.isolate.getObjectByAddress(hexAddress).then((obj) {
+ snapshot.isolate.getObjectByAddress(vertex.address).then((obj) {
objectRef.ref = obj;
});
objectRef.style.alignSelf = 'center';
diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
index 0eee58f..fa73cf6 100644
--- a/runtime/observatory/lib/src/service/object.dart
+++ b/runtime/observatory/lib/src/service/object.dart
@@ -697,6 +697,8 @@
static const kIsolateStream = 'Isolate';
static const kDebugStream = 'Debug';
static const kGCStream = 'GC';
+ static const kStdoutStream = 'Stdout';
+ static const kStderrStream = 'Stderr';
static const _kGraphStream = '_Graph';
/// Returns a single-subscription Stream object for a VM event stream.
@@ -936,7 +938,7 @@
var result = [];
for (ObjectVertex v in graph.getMostRetained(classId: classId,
limit: limit)) {
- result.add(isolate.getObjectByAddress(v.address.toRadixString(16))
+ result.add(isolate.getObjectByAddress(v.address)
.then((ServiceObject obj) {
if (obj is Instance) {
// TODO(rmacnak): size/retainedSize are properties of all heap
@@ -1620,11 +1622,13 @@
@observable Breakpoint breakpoint;
@observable Frame topFrame;
@observable Instance exception;
+ @observable Instance asyncContinuation;
@observable ServiceObject inspectee;
@observable ByteData data;
@observable int count;
@observable String reason;
@observable String exceptions;
+ @observable String bytesAsString;
int chunkIndex, chunkCount, nodeCount;
@observable bool get isPauseEvent {
@@ -1658,6 +1662,9 @@
if (map['exception'] != null) {
exception = map['exception'];
}
+ if (map['_asyncContinuation'] != null) {
+ asyncContinuation = map['_asyncContinuation'];
+ }
if (map['inspectee'] != null) {
inspectee = map['inspectee'];
}
@@ -1680,6 +1687,10 @@
map['_debuggerSettings']['_exceptions'] != null) {
exceptions = map['_debuggerSettings']['_exceptions'];
}
+ if (map['bytes'] != null) {
+ var bytes = decodeBase64(map['bytes']);
+ bytesAsString = UTF8.decode(bytes);
+ }
}
String toString() {
@@ -1896,7 +1907,7 @@
final AllocationCount promotedByLastNewGC = new AllocationCount();
@observable bool get hasNoAllocations => newSpace.empty && oldSpace.empty;
-
+ @observable bool traceAllocations = false;
@reflectable final fields = new ObservableList<Field>();
@reflectable final functions = new ObservableList<ServiceFunction>();
@@ -1963,6 +1974,9 @@
}
error = map['error'];
+ traceAllocations =
+ (map['_traceAllocations'] != null) ? map['_traceAllocations'] : false;
+
var allocationStats = map['_allocationStats'];
if (allocationStats != null) {
newSpace.update(allocationStats['new']);
@@ -1985,6 +1999,19 @@
return isolate._eval(this, expression);
}
+ Future<ServiceObject> setTraceAllocations(bool enable) {
+ return isolate.invokeRpc('_setTraceClassAllocation', {
+ 'enable': enable,
+ 'classId': id,
+ });
+ }
+
+ Future<ServiceObject> getAllocationSamples([String tags = 'None']) {
+ var params = { 'tags': tags,
+ 'classId': id };
+ return isolate.invokeRpc('_getAllocationSamples', params);
+ }
+
String toString() => 'Class($vmName)';
}
diff --git a/runtime/observatory/tests/service/address_mapper_test.dart b/runtime/observatory/tests/service/address_mapper_test.dart
new file mode 100644
index 0000000..05fbf36
--- /dev/null
+++ b/runtime/observatory/tests/service/address_mapper_test.dart
@@ -0,0 +1,55 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile_all --error_on_bad_type --error_on_bad_override
+
+import 'package:observatory/object_graph.dart';
+import 'package:unittest/unittest.dart';
+
+dynamic confuse() {
+ if (true) {
+ return "5";
+ }
+ return 5;
+}
+
+main() {
+ var map = new AddressMapper(42);
+
+ expect(map.get(1, 2, 3), isNull);
+ expect(map.put(1, 2, 3, 4), equals(4));
+ expect(map.get(1, 2, 3), equals(4));
+
+ expect(map.get(2, 3, 1), isNull);
+ expect(map.get(3, 1, 2), isNull);
+
+ bool exceptionThrown = false;
+ try {
+ expect(exceptionThrown, isFalse);
+ map.put(1, 2, 3, 44);
+ expect(true, isFalse);
+ } catch (e) {
+ exceptionThrown = true;
+ }
+ expect(exceptionThrown, isTrue);
+
+ exceptionThrown = false;
+ try {
+ expect(exceptionThrown, isFalse);
+ map.put(5, 6, 7, 0);
+ expect(true, isFalse);
+ } catch (e) {
+ exceptionThrown = true;
+ }
+ expect(exceptionThrown, isTrue);
+
+ exceptionThrown = false;
+ try {
+ expect(exceptionThrown, isFalse);
+ map.put(confuse(), 6, 7, 0);
+ expect(true, isFalse);
+ } catch (e) {
+ exceptionThrown = true;
+ }
+ expect(exceptionThrown, isTrue);
+}
diff --git a/runtime/observatory/tests/service/async_continuation_test.dart b/runtime/observatory/tests/service/async_continuation_test.dart
new file mode 100644
index 0000000..5b65bf8
--- /dev/null
+++ b/runtime/observatory/tests/service/async_continuation_test.dart
@@ -0,0 +1,95 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile_all --error_on_bad_type --error_on_bad_override --verbose-debug
+
+import 'dart:async';
+import 'dart:developer';
+import 'package:observatory/service_io.dart';
+import 'package:unittest/unittest.dart';
+import 'test_helper.dart';
+
+foo() {}
+
+doSync() {
+ foo(); // Line 15
+}
+
+doAsync() async {
+ foo(); // Line 19
+ await null;
+}
+
+doAsyncStar() async* {
+ foo(); // Line 24
+ yield null;
+}
+
+testeeDo() {
+ debugger();
+
+ doSync();
+
+ doAsync();
+
+ doAsyncStar().listen((_) => null);
+}
+
+test(Isolate isolate) async {
+ await isolate.rootLibrary.load();
+ var script = isolate.rootLibrary.scripts[0];
+
+ var bp1 = await isolate.addBreakpoint(script, 15);
+ expect(bp1, isNotNull);
+ expect(bp1 is Breakpoint, isTrue);
+
+ var bp2 = await isolate.addBreakpoint(script, 19);
+ expect(bp2, isNotNull);
+ expect(bp2 is Breakpoint, isTrue);
+
+ var bp3 = await isolate.addBreakpoint(script, 24);
+ expect(bp3, isNotNull);
+ expect(bp3 is Breakpoint, isTrue);
+
+ isolate.resume();
+
+ var bp1_hit = new Completer();
+ var bp2_hit = new Completer();
+ var bp3_hit = new Completer();
+
+ var stream = await isolate.vm.getEventStream(VM.kDebugStream);
+ stream.listen((ServiceEvent event) async {
+ print("Event: $event");
+ if (event.kind == ServiceEvent.kPauseBreakpoint) {
+ var bp = event.breakpoint;
+ print('Hit $bp');
+ if (bp == bp1) {
+ await stoppedAtLine(15)(isolate);
+ print(event.asyncContinuation);
+ expect(event.asyncContinuation.isNull, isTrue);
+ isolate.resume();
+ bp1_hit.complete(null);
+ }
+ if (bp == bp2) {
+ await stoppedAtLine(19)(isolate);
+ print(event.asyncContinuation);
+ expect(event.asyncContinuation.isClosure, isTrue);
+ isolate.resume();
+ bp2_hit.complete(null);
+ }
+ if (bp == bp3) {
+ await stoppedAtLine(24)(isolate);
+ print(event.asyncContinuation);
+ expect(event.asyncContinuation.isClosure, isTrue);
+ isolate.resume();
+ bp3_hit.complete(null);
+ }
+ }
+ });
+
+ await bp1_hit.future;
+ await bp2_hit.future;
+ await bp3_hit.future;
+}
+
+main(args) => runIsolateTests(args, [test], testeeConcurrent: testeeDo);
diff --git a/runtime/observatory/tests/service/async_scope_test.dart b/runtime/observatory/tests/service/async_scope_test.dart
new file mode 100644
index 0000000..3150b50
--- /dev/null
+++ b/runtime/observatory/tests/service/async_scope_test.dart
@@ -0,0 +1,72 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile_all --error_on_bad_type --error_on_bad_override
+
+import 'dart:async';
+import 'dart:developer';
+import 'package:observatory/service_io.dart';
+import 'package:unittest/unittest.dart';
+import 'test_helper.dart';
+
+foo() {}
+
+doAsync(param1) async {
+ var local1 = param1 + 1;
+ foo(); // Line 16
+ await null;
+}
+
+doAsyncStar(param2) async* {
+ var local2 = param2 + 1;
+ foo(); // Line 22
+ yield null;
+}
+
+testeeDo() {
+ debugger();
+
+ doAsync(1).then((_) {
+ doAsyncStar(1).listen((_) {});
+ });
+}
+
+
+checkAsyncVarDescriptors(Isolate isolate) async {
+ ServiceMap stack = await isolate.getStack();
+ expect(stack.type, equals('Stack'));
+ expect(stack['frames'].length, greaterThanOrEqualTo(1));
+ Frame frame = stack['frames'][0];
+ var vars = frame.variables.map((v) => v['name']).join(' ');
+ expect(vars, equals('param1 local1')); // no :async_op et al
+}
+
+
+checkAsyncStarVarDescriptors(Isolate isolate) async {
+ ServiceMap stack = await isolate.getStack();
+ expect(stack.type, equals('Stack'));
+ expect(stack['frames'].length, greaterThanOrEqualTo(1));
+ Frame frame = stack['frames'][0];
+ var vars = frame.variables.map((v) => v['name']).join(' ');
+ expect(vars, equals('param2 local2')); // no :async_op et al
+}
+
+
+var tests = [
+ hasStoppedAtBreakpoint, // debugger()
+ setBreakpointAtLine(16),
+ setBreakpointAtLine(22),
+ resumeIsolate,
+
+ hasStoppedAtBreakpoint,
+ stoppedAtLine(16),
+ checkAsyncVarDescriptors,
+ resumeIsolate,
+
+ hasStoppedAtBreakpoint,
+ stoppedAtLine(22),
+ checkAsyncStarVarDescriptors,
+ resumeIsolate,
+];
+
+main(args) => runIsolateTests(args, tests, testeeConcurrent: testeeDo);
diff --git a/runtime/observatory/tests/service/async_step_test.dart b/runtime/observatory/tests/service/async_step_test.dart
new file mode 100644
index 0000000..fb0fafd
--- /dev/null
+++ b/runtime/observatory/tests/service/async_step_test.dart
@@ -0,0 +1,67 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile_all --error_on_bad_type --error_on_bad_override --verbose_debug
+
+import 'package:observatory/service_io.dart';
+import 'package:unittest/unittest.dart';
+import 'test_helper.dart';
+import 'dart:developer';
+
+foo() async { }
+
+doAsync(stop) async {
+ if (stop) debugger();
+ await foo(); // Line 15.
+ await foo(); // Line 16.
+ await foo(); // Line 17.
+ return null;
+}
+
+testMain() {
+ // With two runs of doAsync floating around, async step should only cause
+ // us to stop in the run we started in.
+ doAsync(false);
+ doAsync(true);
+}
+
+asyncStep(Isolate isolate) async {
+ await isolate.reload(); // isolate.pauseEvent may be stale
+ ServiceEvent event = isolate.pauseEvent;
+ print("Pause event is $event");
+ expect(event, isNotNull);
+ expect(event.kind, equals(ServiceEvent.kPauseBreakpoint));
+
+ // 1. Set breakpoint for the continuation and resume the isolate.
+ Instance continuation = event.asyncContinuation;
+ print("Async continuation is $continuation");
+ if (continuation == null) {
+ print(await isolate.getStack());
+ }
+ expect(continuation.isClosure, isTrue);
+
+ var bpt = await isolate.addBreakOnActivation(continuation);
+ print("Async step to $bpt");
+ expect(bpt is Breakpoint, isTrue);
+
+ await isolate.resume();
+ await hasStoppedAtBreakpoint(isolate);
+ print("Big step to: ${isolate.pauseEvent}");
+
+ // 2. Step past the state-machine dispatch.
+ await isolate.stepOver();
+ await hasStoppedAtBreakpoint(isolate);
+ print("Small step to: ${isolate.pauseEvent}");
+}
+
+var tests = [
+ hasStoppedAtBreakpoint,
+ stoppedAtLine(15),
+ asyncStep,
+ stoppedAtLine(16),
+ asyncStep,
+ stoppedAtLine(17),
+ resumeIsolate,
+];
+
+main(args) => runIsolateTests(args, tests, testeeConcurrent: testMain);
diff --git a/runtime/observatory/tests/service/break_on_function_test.dart b/runtime/observatory/tests/service/break_on_function_test.dart
new file mode 100644
index 0000000..1988578
--- /dev/null
+++ b/runtime/observatory/tests/service/break_on_function_test.dart
@@ -0,0 +1,52 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile_all --error_on_bad_type --error_on_bad_override --verbose_debug
+
+import 'package:observatory/service_io.dart';
+import 'package:unittest/unittest.dart';
+import 'test_helper.dart';
+import 'dart:developer';
+
+testFunction(flag) { // Line 11
+ if (flag) {
+ print("Yes");
+ } else {
+ print("No");
+ }
+}
+
+testMain() {
+ debugger();
+ testFunction(true);
+ testFunction(false);
+ print("Done");
+}
+
+var tests = [
+
+hasStoppedAtBreakpoint,
+
+// Add breakpoint
+(Isolate isolate) async {
+ var rootLib = await isolate.rootLibrary.load();
+ var function = rootLib.functions.singleWhere((f) => f.name == 'testFunction');
+
+ var bpt = await isolate.addBreakpointAtEntry(function);
+ expect(bpt is Breakpoint, isTrue);
+ print(bpt);
+},
+
+resumeIsolate,
+
+hasStoppedAtBreakpoint,
+stoppedAtLine(11),
+resumeIsolate,
+
+hasStoppedAtBreakpoint,
+stoppedAtLine(11),
+resumeIsolate,
+
+];
+
+main(args) => runIsolateTests(args, tests, testeeConcurrent: testMain);
diff --git a/runtime/observatory/tests/service/capture_stdio_test.dart b/runtime/observatory/tests/service/capture_stdio_test.dart
new file mode 100644
index 0000000..b9673cf
--- /dev/null
+++ b/runtime/observatory/tests/service/capture_stdio_test.dart
@@ -0,0 +1,89 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile-all --error_on_bad_type --error_on_bad_override
+
+import 'dart:async';
+import 'dart:developer';
+import 'dart:io';
+import 'package:observatory/service_io.dart';
+import 'package:unittest/unittest.dart';
+import 'test_helper.dart';
+
+void test() {
+ debugger();
+ stdout.write('stdout');
+
+ debugger();
+ print('print');
+
+ debugger();
+ stderr.write('stderr');
+}
+
+var tests = [
+ hasStoppedAtBreakpoint,
+
+ (Isolate isolate) async {
+ Completer completer = new Completer();
+ var stdoutSub;
+ stdoutSub = await isolate.vm.listenEventStream(
+ VM.kStdoutStream,
+ (ServiceEvent event) {
+ expect(event.kind, equals('WriteEvent'));
+ expect(event.bytesAsString, equals('stdout'));
+ stdoutSub.cancel().then((_) {
+ completer.complete();
+ });
+ });
+ await isolate.resume();
+ await completer.future;
+ },
+
+ hasStoppedAtBreakpoint,
+
+ (Isolate isolate) async {
+ Completer completer = new Completer();
+ var stdoutSub;
+ int eventNumber = 1;
+ stdoutSub = await isolate.vm.listenEventStream(
+ VM.kStdoutStream,
+ (ServiceEvent event) {
+ expect(event.kind, equals('WriteEvent'));
+ if (eventNumber == 1) {
+ expect(event.bytesAsString, equals('print'));
+ } else if (eventNumber == 2) {
+ expect(event.bytesAsString, equals('\n'));
+ stdoutSub.cancel().then((_) {
+ completer.complete();
+ });
+ } else {
+ expect(true, false);
+ }
+ eventNumber++;
+ });
+ await isolate.resume();
+ await completer.future;
+ },
+
+ hasStoppedAtBreakpoint,
+
+ (Isolate isolate) async {
+ Completer completer = new Completer();
+ var stderrSub;
+ stderrSub = await isolate.vm.listenEventStream(
+ VM.kStderrStream,
+ (ServiceEvent event) {
+ expect(event.kind, equals('WriteEvent'));
+ expect(event.bytesAsString, equals('stderr'));
+ stderrSub.cancel().then((_) {
+ completer.complete();
+ });
+ });
+ await isolate.resume();
+ await completer.future;
+ },
+];
+
+
+main(args) => runIsolateTests(args, tests, testeeConcurrent: test);
diff --git a/runtime/observatory/tests/service/command_test.dart b/runtime/observatory/tests/service/command_test.dart
index 9403662..69ac08f 100644
--- a/runtime/observatory/tests/service/command_test.dart
+++ b/runtime/observatory/tests/service/command_test.dart
@@ -185,7 +185,7 @@
RootCommand cmd = new RootCommand([new TestCommand(out, 'alpha', [])]);
cmd.runCommand('goose').catchError(expectAsync((e) {
- expect(e, equals('notfound'));
+ expect(e, equals('No such command'));
}));
}
@@ -196,7 +196,7 @@
new TestCommand(out, 'ankle', [])]);
cmd.runCommand('a 55').catchError(expectAsync((e) {
- expect(e, equals('ambiguous'));
+ expect(e, equals('Ambiguous command'));
out.clear();
cmd.runCommand('ankl 55').then(expectAsync((_) {
expect(out.toString(), equals('executing ankle([55])\n'));
diff --git a/runtime/observatory/tests/service/debugging_test.dart b/runtime/observatory/tests/service/debugging_test.dart
index e20e203..d3908b9 100644
--- a/runtime/observatory/tests/service/debugging_test.dart
+++ b/runtime/observatory/tests/service/debugging_test.dart
@@ -187,13 +187,13 @@
Breakpoint bpt = result;
expect(bpt.type, equals('Breakpoint'));
expect(bpt.location.script.name, equals('debugging_test.dart'));
- expect(bpt.location.script.tokenToLine(bpt.location.tokenPos), equals(14));
+ expect(bpt.location.script.tokenToLine(bpt.location.tokenPos), equals(13));
expect(isolate.breakpoints.length, equals(1));
await completer.future; // Wait for breakpoint events.
},
-// We are now at line 14.
+// We are now at line 13.
(Isolate isolate) async {
ServiceMap stack = await isolate.getStack();
expect(stack.type, equals('Stack'));
@@ -201,7 +201,7 @@
Script script = stack['frames'][0].location.script;
expect(script.name,endsWith('debugging_test.dart'));
- expect(script.tokenToLine(stack['frames'][0].location.tokenPos), equals(14));
+ expect(script.tokenToLine(stack['frames'][0].location.tokenPos), equals(13));
},
];
diff --git a/runtime/observatory/tests/service/eval_test.dart b/runtime/observatory/tests/service/eval_test.dart
index 8414aa7..7a535f4 100644
--- a/runtime/observatory/tests/service/eval_test.dart
+++ b/runtime/observatory/tests/service/eval_test.dart
@@ -14,7 +14,7 @@
static int staticVar = 1000;
static void printValue(int value) {
- print(value); // line 16
+ print(value); // line 17
}
}
@@ -47,7 +47,7 @@
// Add the breakpoint.
var script = isolate.rootLibrary.scripts[0];
- var line = 16;
+ var line = 17;
return isolate.addBreakpoint(script, line).then((ServiceObject bpt) {
return completer.future; // Wait for breakpoint reached.
});
diff --git a/runtime/observatory/tests/service/get_allocation_samples_test.dart b/runtime/observatory/tests/service/get_allocation_samples_test.dart
new file mode 100644
index 0000000..b70d121
--- /dev/null
+++ b/runtime/observatory/tests/service/get_allocation_samples_test.dart
@@ -0,0 +1,85 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile_all --error_on_bad_type --error_on_bad_override
+
+import 'dart:developer';
+import 'package:observatory/service_io.dart';
+import 'package:observatory/cpu_profile.dart';
+import 'package:unittest/unittest.dart';
+
+import 'test_helper.dart';
+
+class Foo {
+ Foo() {
+ print('new Foo');
+ }
+}
+
+void test() {
+ debugger();
+ // Toggled on.
+ debugger();
+ debugger();
+ // Allocation.
+ new Foo();
+ debugger();
+}
+
+var tests = [
+ hasStoppedAtBreakpoint,
+
+ // Initial.
+ (Isolate isolate) async {
+ // Verify initial state of 'Foo'.
+ var fooClass = await getClassFromRootLib(isolate, 'Foo');
+ expect(fooClass, isNotNull);
+ expect(fooClass.name, equals('Foo'));
+ print(fooClass.id);
+ expect(fooClass.traceAllocations, isFalse);
+ await fooClass.setTraceAllocations(true);
+ await fooClass.reload();
+ expect(fooClass.traceAllocations, isTrue);
+ },
+
+ resumeIsolate,
+ hasStoppedAtBreakpoint,
+ // Extra debugger stop, continue to allow the allocation stubs to be switched
+ // over. This is a bug but low priority.
+ resumeIsolate,
+ hasStoppedAtBreakpoint,
+
+ // Allocation profile.
+ (Isolate isolate) async {
+ var fooClass = await getClassFromRootLib(isolate, 'Foo');
+ await fooClass.reload();
+ expect(fooClass.traceAllocations, isTrue);
+ var profileResponse = await fooClass.getAllocationSamples();
+ expect(profileResponse, isNotNull);
+ expect(profileResponse['type'], equals('_CpuProfile'));
+ await fooClass.setTraceAllocations(false);
+ await fooClass.reload();
+ expect(fooClass.traceAllocations, isFalse);
+ CpuProfile cpuProfile = new CpuProfile();
+ cpuProfile.load(isolate, profileResponse);
+ cpuProfile.buildCodeCallerAndCallees();
+ cpuProfile.buildFunctionCallerAndCallees();
+ var tree = cpuProfile.loadCodeTree('exclusive');
+ var node = tree.root;
+ var expected =
+ ['Root', 'test', 'test', '_FunctionImpl.call', 'runIsolateTests'];
+ for (var i = 0; i < expected.length; i++) {
+ expect(node.profileCode.code.name, equals(expected[i]));
+ // Depth first traversal.
+ if (node.children.length == 0) {
+ node = null;
+ } else {
+ node = node.children[0];
+ }
+ expect(node, isNotNull);
+ }
+ },
+ resumeIsolate,
+];
+
+main(args) async => runIsolateTests(args, tests, testeeConcurrent:test);
diff --git a/runtime/observatory/tests/service/library_dependency_test.dart b/runtime/observatory/tests/service/library_dependency_test.dart
index b198f01..8297261 100644
--- a/runtime/observatory/tests/service/library_dependency_test.dart
+++ b/runtime/observatory/tests/service/library_dependency_test.dart
@@ -15,7 +15,8 @@
(Isolate isolate) async {
var lib = await isolate.rootLibrary.load();
-
+ // Use mirrors to shutup the analyzer.
+ mirrors.currentMirrorSystem();
importOf(String uri) {
return lib.dependencies.singleWhere((dep) => dep.target.uri == uri);
}
@@ -35,6 +36,10 @@
expect(importOf("dart:convert").isDeferred, isTrue);
expect(importOf("dart:convert").prefix, equals("convert"));
},
+
+(Isolate isolate) async {
+ return convert.loadLibrary();
+}
];
main(args) => runIsolateTests(args, tests);
diff --git a/runtime/observatory/tests/service/metrics_test.dart b/runtime/observatory/tests/service/metrics_test.dart
index 0708d8e..9b3a45e 100644
--- a/runtime/observatory/tests/service/metrics_test.dart
+++ b/runtime/observatory/tests/service/metrics_test.dart
@@ -7,7 +7,7 @@
import 'package:unittest/unittest.dart';
import 'test_helper.dart';
-import 'dart:profiler';
+import 'dart:developer';
void script() {
var counter = new Counter('a.b.c', 'description');
diff --git a/runtime/observatory/tests/service/native_metrics_test.dart b/runtime/observatory/tests/service/native_metrics_test.dart
index 39f2c37..77bc903 100644
--- a/runtime/observatory/tests/service/native_metrics_test.dart
+++ b/runtime/observatory/tests/service/native_metrics_test.dart
@@ -7,7 +7,7 @@
import 'package:unittest/unittest.dart';
import 'test_helper.dart';
-import 'dart:profiler';
+import 'dart:developer';
void script() {
var counter = new Counter('a.b.c', 'description');
diff --git a/runtime/observatory/tests/service/pause_on_exceptions_test.dart b/runtime/observatory/tests/service/pause_on_exceptions_test.dart
index e5528bc..f4a1da2 100644
--- a/runtime/observatory/tests/service/pause_on_exceptions_test.dart
+++ b/runtime/observatory/tests/service/pause_on_exceptions_test.dart
@@ -7,7 +7,6 @@
import 'package:unittest/unittest.dart';
import 'test_helper.dart';
import 'dart:async';
-import 'dart:developer';
doThrow() {
throw "TheException"; // Line 13.
diff --git a/runtime/observatory/tests/service/read_stream_test.dart b/runtime/observatory/tests/service/read_stream_test.dart
new file mode 100644
index 0000000..74c12a2
--- /dev/null
+++ b/runtime/observatory/tests/service/read_stream_test.dart
@@ -0,0 +1,55 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--compile_all --error_on_bad_type --error_on_bad_override
+
+import 'package:observatory/object_graph.dart';
+import 'package:unittest/unittest.dart';
+import 'dart:typed_data';
+
+testRoundTrip(final int n) {
+ var bytes = [];
+ var remaining = n;
+ while (remaining > 127) {
+ bytes.add(remaining & 127);
+ remaining = remaining >> 7;
+ }
+ bytes.add(remaining + 128);
+
+ print("Encoded $n as $bytes");
+
+ var typedBytes = new ByteData.view(new Uint8List.fromList(bytes).buffer);
+ var stream = new ReadStream([typedBytes]);
+ stream.readUnsigned();
+
+ expect(stream.isZero, equals(n == 0));
+
+ expect(stream.low, equals((n >> 0) & 0xFFFFFFF));
+ expect(stream.mid, equals((n >> 28) & 0xFFFFFFF));
+ expect(stream.high, equals((n >> 56) & 0xFFFFFFF));
+
+ const kMaxUint32 = (1 << 32) - 1;
+ if (n > kMaxUint32) {
+ expect(stream.clampedUint32, equals(kMaxUint32));
+ } else {
+ expect(stream.clampedUint32, equals(n));
+ }
+
+ expect(stream.position, equals(bytes.length));
+}
+
+main() {
+ const kMaxUint64 = (1 << 64) - 1;
+
+ var n = 3;
+ while (n < kMaxUint64) {
+ testRoundTrip(n);
+ n <<= 1;
+ }
+
+ n = 5;
+ while (n < kMaxUint64) {
+ testRoundTrip(n);
+ n <<= 1;
+ }
+}
diff --git a/runtime/observatory/tests/service/test_helper.dart b/runtime/observatory/tests/service/test_helper.dart
index f47f1cd..53520c4 100644
--- a/runtime/observatory/tests/service/test_helper.dart
+++ b/runtime/observatory/tests/service/test_helper.dart
@@ -9,6 +9,7 @@
import 'dart:convert';
import 'dart:io';
import 'package:observatory/service_io.dart';
+import 'package:unittest/unittest.dart';
bool _isWebSocketDisconnect(e) {
return e is NetworkRpcException;
@@ -156,30 +157,70 @@
Future<Isolate> hasStoppedAtBreakpoint(Isolate isolate) {
- if ((isolate.pauseEvent != null) &&
- (isolate.pauseEvent.kind == ServiceEvent.kPauseBreakpoint)) {
- // Already waiting at a breakpoint.
- print('Breakpoint reached');
- return new Future.value(isolate);
- }
-
// Set up a listener to wait for breakpoint events.
Completer completer = new Completer();
isolate.vm.getEventStream(VM.kDebugStream).then((stream) {
var subscription;
subscription = stream.listen((ServiceEvent event) {
+ print("Event: $event");
if (event.kind == ServiceEvent.kPauseBreakpoint) {
print('Breakpoint reached');
subscription.cancel();
- completer.complete();
+ if (completer != null) {
+ completer.complete(isolate);
+ completer = null;
+ }
}
});
+
+ // Pause may have happened before we subscribed.
+ isolate.reload().then((_) {
+ if ((isolate.pauseEvent != null) &&
+ (isolate.pauseEvent.kind == ServiceEvent.kPauseBreakpoint)) {
+ // Already waiting at a breakpoint.
+ print('Breakpoint reached');
+ subscription.cancel();
+ if (completer != null) {
+ completer.complete(isolate);
+ completer = null;
+ }
+ }
+ });
});
return completer.future; // Will complete when breakpoint hit.
}
+// Currying is your friend.
+IsolateTest setBreakpointAtLine(int line) {
+ return (Isolate isolate) async {
+ print("Setting breakpoint for line $line");
+ Library lib = await isolate.rootLibrary.load();
+ Script script = lib.scripts.single;
+
+ Breakpoint bpt = await isolate.addBreakpoint(script, line);
+ print("Breakpoint is $bpt");
+ expect(bpt, isNotNull);
+ expect(bpt is Breakpoint, isTrue);
+ };
+}
+
+IsolateTest stoppedAtLine(int line) {
+ return (Isolate isolate) async {
+ print("Checking we are at line $line");
+
+ ServiceMap stack = await isolate.getStack();
+ expect(stack.type, equals('Stack'));
+ expect(stack['frames'].length, greaterThanOrEqualTo(1));
+
+ Frame top = stack['frames'][0];
+ Script script = await top.location.script.load();
+ expect(script.tokenToLine(top.location.tokenPos), equals(line));
+ };
+}
+
+
Future<Isolate> resumeIsolate(Isolate isolate) {
Completer completer = new Completer();
isolate.vm.getEventStream(VM.kDebugStream).then((stream) {
@@ -196,6 +237,18 @@
}
+Future<Class> getClassFromRootLib(Isolate isolate, String className) async {
+ Library rootLib = await isolate.rootLibrary.load();
+ for (var i = 0; i < rootLib.classes.length; i++) {
+ Class cls = rootLib.classes[i];
+ if (cls.name == className) {
+ return cls;
+ }
+ }
+ return null;
+}
+
+
/// Runs [tests] in sequence, each of which should take an [Isolate] and
/// return a [Future]. Code for setting up state can run before and/or
/// concurrently with the tests. Uses [mainArgs] to determine whether
diff --git a/runtime/observatory/tests/ui/inspector.dart b/runtime/observatory/tests/ui/inspector.dart
index 7f65a04..450cfeb 100644
--- a/runtime/observatory/tests/ui/inspector.dart
+++ b/runtime/observatory/tests/ui/inspector.dart
@@ -8,7 +8,7 @@
import 'dart:isolate';
import 'dart:mirrors';
-import 'dart:profiler';
+import 'dart:developer';
import 'dart:typed_data';
class A <T> {}
diff --git a/runtime/platform/globals.h b/runtime/platform/globals.h
index cdca889..cc6612e 100644
--- a/runtime/platform/globals.h
+++ b/runtime/platform/globals.h
@@ -593,6 +593,12 @@
#define PRINTF_ATTRIBUTE(string_index, first_to_check)
#endif
+#if defined(_WIN32)
+#define STDIN_FILENO 0
+#define STDOUT_FILENO 1
+#define STDERR_FILENO 2
+#endif
+
} // namespace dart
#endif // PLATFORM_GLOBALS_H_
diff --git a/runtime/vm/assembler_arm.cc b/runtime/vm/assembler_arm.cc
index a354940..0e3fb7e 100644
--- a/runtime/vm/assembler_arm.cc
+++ b/runtime/vm/assembler_arm.cc
@@ -3345,21 +3345,27 @@
void Assembler::LoadAllocationStatsAddress(Register dest,
- intptr_t cid) {
+ intptr_t cid,
+ bool inline_isolate) {
ASSERT(dest != kNoRegister);
ASSERT(dest != TMP);
ASSERT(cid > 0);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- if (cid < kNumPredefinedCids) {
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- LoadImmediate(dest, class_heap_stats_table_address + class_offset);
+ const intptr_t class_offset = ClassTable::ClassOffsetFor(cid);
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ if (cid < kNumPredefinedCids) {
+ LoadImmediate(dest, reinterpret_cast<uword>(*table_ptr) + class_offset);
+ } else {
+ LoadImmediate(dest, reinterpret_cast<uword>(table_ptr));
+ ldr(dest, Address(dest, 0));
+ AddImmediate(dest, class_offset);
+ }
} else {
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- LoadImmediate(dest, class_table->ClassStatsTableAddress());
- ldr(dest, Address(dest, 0));
+ LoadIsolate(dest);
+ intptr_t table_offset =
+ Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+ ldr(dest, Address(dest, table_offset));
AddImmediate(dest, class_offset);
}
}
@@ -3370,8 +3376,7 @@
Label* trace) {
LoadAllocationStatsAddress(temp_reg, cid);
const uword state_offset = ClassHeapStats::state_offset();
- const Address& state_address = Address(temp_reg, state_offset);
- ldr(temp_reg, state_address);
+ ldr(temp_reg, Address(temp_reg, state_offset));
tst(temp_reg, Operand(ClassHeapStats::TraceAllocationMask()));
b(trace, NE);
}
@@ -3395,11 +3400,9 @@
void Assembler::IncrementAllocationStatsWithSize(Register stats_addr_reg,
Register size_reg,
- intptr_t cid,
Heap::Space space) {
ASSERT(stats_addr_reg != kNoRegister);
ASSERT(stats_addr_reg != TMP);
- ASSERT(cid > 0);
const uword count_field_offset = (space == Heap::kNew) ?
ClassHeapStats::allocated_since_gc_new_space_offset() :
ClassHeapStats::allocated_since_gc_old_space_offset();
@@ -3515,7 +3518,7 @@
str(temp1, FieldAddress(instance, Array::tags_offset())); // Store tags.
LoadImmediate(temp1, instance_size);
- IncrementAllocationStatsWithSize(temp2, temp1, cid, space);
+ IncrementAllocationStatsWithSize(temp2, temp1, space);
} else {
b(failure);
}
diff --git a/runtime/vm/assembler_arm.h b/runtime/vm/assembler_arm.h
index 4301677..70dd9ad 100644
--- a/runtime/vm/assembler_arm.h
+++ b/runtime/vm/assembler_arm.h
@@ -910,13 +910,13 @@
// allocation stats. These are separate assembler macros so we can
// avoid a dependent load too nearby the load of the table address.
void LoadAllocationStatsAddress(Register dest,
- intptr_t cid);
+ intptr_t cid,
+ bool inline_isolate = true);
void IncrementAllocationStats(Register stats_addr,
intptr_t cid,
Heap::Space space);
void IncrementAllocationStatsWithSize(Register stats_addr_reg,
Register size_reg,
- intptr_t cid,
Heap::Space space);
Address ElementAddressForIntIndex(bool is_load,
diff --git a/runtime/vm/assembler_arm64.cc b/runtime/vm/assembler_arm64.cc
index 6d315e6..290890e 100644
--- a/runtime/vm/assembler_arm64.cc
+++ b/runtime/vm/assembler_arm64.cc
@@ -1230,81 +1230,72 @@
void Assembler::UpdateAllocationStats(intptr_t cid,
Register pp,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- if (cid < kNumPredefinedCids) {
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- LoadImmediate(TMP2, class_heap_stats_table_address + class_offset, pp);
- const Address& count_address = Address(TMP2, count_field_offset);
- ldr(TMP, count_address);
- AddImmediate(TMP, TMP, 1, pp);
- str(TMP, count_address);
+ intptr_t counter_offset =
+ ClassTable::CounterOffsetFor(cid, space == Heap::kNew);
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ if (cid < kNumPredefinedCids) {
+ LoadImmediate(
+ TMP2, reinterpret_cast<uword>(*table_ptr) + counter_offset, pp);
+ } else {
+ LoadImmediate(TMP2, reinterpret_cast<uword>(table_ptr), pp);
+ ldr(TMP, Address(TMP2));
+ AddImmediate(TMP2, TMP, counter_offset, pp);
+ }
} else {
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- LoadImmediate(TMP2, class_table->ClassStatsTableAddress(), pp);
- ldr(TMP, Address(TMP2));
- AddImmediate(TMP2, TMP, class_offset, pp);
- ldr(TMP, Address(TMP2, count_field_offset));
- AddImmediate(TMP, TMP, 1, pp);
- str(TMP, Address(TMP2, count_field_offset));
+ LoadIsolate(TMP2);
+ intptr_t table_offset =
+ Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+ ldr(TMP, Address(TMP2, table_offset));
+ AddImmediate(TMP2, TMP, counter_offset, pp);
}
+ ldr(TMP, Address(TMP2, 0));
+ AddImmediate(TMP, TMP, 1, pp);
+ str(TMP, Address(TMP2, 0));
}
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
Register pp,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- if (cid < kNumPredefinedCids) {
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- const uword size_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_size_since_gc_new_space_offset() :
- ClassHeapStats::allocated_size_since_gc_old_space_offset();
- LoadImmediate(TMP2, class_heap_stats_table_address + class_offset, pp);
- const Address& count_address = Address(TMP2, count_field_offset);
- const Address& size_address = Address(TMP2, size_field_offset);
- ldr(TMP, count_address);
- AddImmediate(TMP, TMP, 1, pp);
- str(TMP, count_address);
- ldr(TMP, size_address);
- add(TMP, TMP, Operand(size_reg));
- str(TMP, size_address);
+ const uword class_offset = ClassTable::ClassOffsetFor(cid);
+ const uword count_field_offset = (space == Heap::kNew) ?
+ ClassHeapStats::allocated_since_gc_new_space_offset() :
+ ClassHeapStats::allocated_since_gc_old_space_offset();
+ const uword size_field_offset = (space == Heap::kNew) ?
+ ClassHeapStats::allocated_size_since_gc_new_space_offset() :
+ ClassHeapStats::allocated_size_since_gc_old_space_offset();
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ if (cid < kNumPredefinedCids) {
+ LoadImmediate(TMP2,
+ reinterpret_cast<uword>(*table_ptr) + class_offset, pp);
+ } else {
+ LoadImmediate(TMP2, reinterpret_cast<uword>(table_ptr), pp);
+ ldr(TMP, Address(TMP2));
+ AddImmediate(TMP2, TMP, class_offset, pp);
+ }
} else {
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- const uword size_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_size_since_gc_new_space_offset() :
- ClassHeapStats::allocated_size_since_gc_old_space_offset();
- LoadImmediate(TMP2, class_table->ClassStatsTableAddress(), pp);
- ldr(TMP, Address(TMP2));
+ LoadIsolate(TMP2);
+ intptr_t table_offset =
+ Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+ ldr(TMP, Address(TMP2, table_offset));
AddImmediate(TMP2, TMP, class_offset, pp);
- ldr(TMP, Address(TMP2, count_field_offset));
- AddImmediate(TMP, TMP, 1, pp);
- str(TMP, Address(TMP2, count_field_offset));
- ldr(TMP, Address(TMP2, size_field_offset));
- add(TMP, TMP, Operand(size_reg));
- str(TMP, Address(TMP2, size_field_offset));
}
+ ldr(TMP, Address(TMP2, count_field_offset));
+ AddImmediate(TMP, TMP, 1, pp);
+ str(TMP, Address(TMP2, count_field_offset));
+ ldr(TMP, Address(TMP2, size_field_offset));
+ add(TMP, TMP, Operand(size_reg));
+ str(TMP, Address(TMP2, size_field_offset));
}
@@ -1313,21 +1304,20 @@
Register pp,
Label* trace) {
ASSERT(cid > 0);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
+ intptr_t state_offset;
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr =
+ class_table->StateAddressFor(cid, &state_offset);
+
if (cid < kNumPredefinedCids) {
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- LoadImmediate(temp_reg, class_heap_stats_table_address + class_offset, pp);
+ LoadImmediate(
+ temp_reg, reinterpret_cast<uword>(*table_ptr) + state_offset, pp);
} else {
- LoadImmediate(temp_reg, class_table->ClassStatsTableAddress(), pp);
+ LoadImmediate(temp_reg, reinterpret_cast<uword>(table_ptr), pp);
ldr(temp_reg, Address(temp_reg, 0));
- AddImmediate(temp_reg, temp_reg, class_offset, pp);
+ AddImmediate(temp_reg, temp_reg, state_offset, pp);
}
- const uword state_offset = ClassHeapStats::state_offset();
- const Address& state_address = Address(temp_reg, state_offset);
- ldr(temp_reg, state_address);
+ ldr(temp_reg, Address(temp_reg, 0));
tsti(temp_reg, Immediate(ClassHeapStats::TraceAllocationMask()));
b(trace, NE);
}
diff --git a/runtime/vm/assembler_arm64.h b/runtime/vm/assembler_arm64.h
index 1468547..32da483 100644
--- a/runtime/vm/assembler_arm64.h
+++ b/runtime/vm/assembler_arm64.h
@@ -1380,12 +1380,14 @@
void UpdateAllocationStats(intptr_t cid,
Register pp,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
void UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
Register pp,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
// If allocation tracing for |cid| is enabled, will jump to |trace| label,
// which will allocate in the runtime where tracing occurs.
diff --git a/runtime/vm/assembler_ia32.cc b/runtime/vm/assembler_ia32.cc
index 1059706..8de5223 100644
--- a/runtime/vm/assembler_ia32.cc
+++ b/runtime/vm/assembler_ia32.cc
@@ -2660,60 +2660,25 @@
}
-static void ComputeCounterAddressesForCid(intptr_t cid,
- Heap::Space space,
- Address* count_address,
- Address* size_address) {
- ASSERT(cid < kNumPredefinedCids);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- const uword size_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_size_since_gc_new_space_offset() :
- ClassHeapStats::allocated_size_since_gc_old_space_offset();
- *count_address = Address::Absolute(
- class_heap_stats_table_address + class_offset + count_field_offset);
- *size_address = Address::Absolute(
- class_heap_stats_table_address + class_offset + size_field_offset);
-}
-
-
-static void ComputeHeapStatsStateAddressForCid(intptr_t cid,
- Address* state_address) {
- ASSERT(cid < kNumPredefinedCids);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword state_offset = ClassHeapStats::state_offset();
- *state_address = Address::Absolute(class_heap_stats_table_address +
- class_offset +
- state_offset);
-}
-
-
void Assembler::MaybeTraceAllocation(intptr_t cid,
Register temp_reg,
Label* trace,
bool near_jump) {
ASSERT(cid > 0);
Address state_address(kNoRegister, 0);
+ intptr_t state_offset;
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr =
+ class_table->StateAddressFor(cid, &state_offset);
if (cid < kNumPredefinedCids) {
- ComputeHeapStatsStateAddressForCid(cid, &state_address);
+ state_address = Address::Absolute(
+ reinterpret_cast<uword>(*table_ptr) + state_offset);
} else {
ASSERT(temp_reg != kNoRegister);
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword state_offset = ClassHeapStats::state_offset();
// temp_reg gets address of class table pointer.
- ClassTable* class_table = Isolate::Current()->class_table();
- movl(temp_reg, Address::Absolute(class_table->ClassStatsTableAddress()));
- state_address = Address(temp_reg, class_offset + state_offset);
+ movl(temp_reg,
+ Address::Absolute(reinterpret_cast<uword>(table_ptr)));
+ state_address = Address(temp_reg, state_offset);
}
testb(state_address, Immediate(ClassHeapStats::TraceAllocationMask()));
// We are tracing for this class, jump to the trace label which will use
@@ -2724,23 +2689,30 @@
void Assembler::UpdateAllocationStats(intptr_t cid,
Register temp_reg,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
- if (cid < kNumPredefinedCids) {
- Address count_address(kNoRegister, 0), size_address(kNoRegister, 0);
- ComputeCounterAddressesForCid(cid, space, &count_address, &size_address);
- incl(count_address);
+ intptr_t counter_offset =
+ ClassTable::CounterOffsetFor(cid, space == Heap::kNew);
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ if (cid < kNumPredefinedCids) {
+ incl(Address::Absolute(
+ reinterpret_cast<uword>(*table_ptr) + counter_offset));
+ } else {
+ ASSERT(temp_reg != kNoRegister);
+ movl(temp_reg,
+ Address::Absolute(reinterpret_cast<uword>(table_ptr)));
+ incl(Address(temp_reg, counter_offset));
+ }
} else {
ASSERT(temp_reg != kNoRegister);
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- // temp_reg gets address of class table pointer.
- ClassTable* class_table = Isolate::Current()->class_table();
- movl(temp_reg, Address::Absolute(class_table->ClassStatsTableAddress()));
- // Increment allocation count.
- incl(Address(temp_reg, class_offset + count_field_offset));
+ LoadIsolate(temp_reg);
+ intptr_t table_offset =
+ Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+ movl(temp_reg, Address(temp_reg, table_offset));
+ incl(Address(temp_reg, counter_offset));
}
}
@@ -2748,26 +2720,40 @@
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
Register temp_reg,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
ASSERT(cid < kNumPredefinedCids);
- Address count_address(kNoRegister, 0), size_address(kNoRegister, 0);
- ComputeCounterAddressesForCid(cid, space, &count_address, &size_address);
- incl(count_address);
- addl(size_address, size_reg);
+ UpdateAllocationStats(cid, temp_reg, space, inline_isolate);
+ intptr_t size_offset = ClassTable::SizeOffsetFor(cid, space == Heap::kNew);
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ addl(Address::Absolute(
+ reinterpret_cast<uword>(*table_ptr) + size_offset), size_reg);
+ } else {
+ addl(Address(temp_reg, size_offset), size_reg);
+ }
}
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid,
intptr_t size_in_bytes,
Register temp_reg,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
ASSERT(cid < kNumPredefinedCids);
- Address count_address(kNoRegister, 0), size_address(kNoRegister, 0);
- ComputeCounterAddressesForCid(cid, space, &count_address, &size_address);
- incl(count_address);
- addl(size_address, Immediate(size_in_bytes));
+ UpdateAllocationStats(cid, temp_reg, space, inline_isolate);
+ intptr_t size_offset = ClassTable::SizeOffsetFor(cid, space == Heap::kNew);
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ addl(Address::Absolute(reinterpret_cast<uword>(*table_ptr) + size_offset),
+ Immediate(size_in_bytes));
+ } else {
+ addl(Address(temp_reg, size_offset), Immediate(size_in_bytes));
+ }
}
diff --git a/runtime/vm/assembler_ia32.h b/runtime/vm/assembler_ia32.h
index f08b9d0..909ebda 100644
--- a/runtime/vm/assembler_ia32.h
+++ b/runtime/vm/assembler_ia32.h
@@ -880,16 +880,19 @@
void UpdateAllocationStats(intptr_t cid,
Register temp_reg,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
void UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
Register temp_reg,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
void UpdateAllocationStatsWithSize(intptr_t cid,
intptr_t instance_size,
Register temp_reg,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
// Inlined allocation of an instance of class 'cls', code has no runtime
// calls. Jump to 'failure' if the instance cannot be allocated here.
diff --git a/runtime/vm/assembler_mips.cc b/runtime/vm/assembler_mips.cc
index da5a6df..cb65f35 100644
--- a/runtime/vm/assembler_mips.cc
+++ b/runtime/vm/assembler_mips.cc
@@ -806,89 +806,80 @@
void Assembler::UpdateAllocationStats(intptr_t cid,
Register temp_reg,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(!in_delay_slot_);
ASSERT(temp_reg != kNoRegister);
ASSERT(temp_reg != TMP);
ASSERT(cid > 0);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- if (cid < kNumPredefinedCids) {
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- LoadImmediate(temp_reg, class_heap_stats_table_address + class_offset);
- const Address& count_address = Address(temp_reg, count_field_offset);
- lw(TMP, count_address);
- AddImmediate(TMP, 1);
- sw(TMP, count_address);
+ intptr_t counter_offset =
+ ClassTable::CounterOffsetFor(cid, space == Heap::kNew);
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ if (cid < kNumPredefinedCids) {
+ LoadImmediate(
+ temp_reg, reinterpret_cast<uword>(*table_ptr) + counter_offset);
+ } else {
+ ASSERT(temp_reg != kNoRegister);
+ LoadImmediate(temp_reg, reinterpret_cast<uword>(table_ptr));
+ lw(temp_reg, Address(temp_reg, 0));
+ AddImmediate(temp_reg, counter_offset);
+ }
} else {
- ASSERT(temp_reg != kNoRegister);
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- LoadImmediate(temp_reg, class_table->ClassStatsTableAddress());
- lw(temp_reg, Address(temp_reg, 0));
- AddImmediate(temp_reg, class_offset);
- lw(TMP, Address(temp_reg, count_field_offset));
- AddImmediate(TMP, 1);
- sw(TMP, Address(temp_reg, count_field_offset));
+ LoadIsolate(temp_reg);
+ intptr_t table_offset =
+ Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+ lw(temp_reg, Address(temp_reg, table_offset));
+ AddImmediate(temp_reg, counter_offset);
}
+ lw(TMP, Address(temp_reg, 0));
+ AddImmediate(TMP, 1);
+ sw(TMP, Address(temp_reg, 0));
}
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
Register temp_reg,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(!in_delay_slot_);
ASSERT(temp_reg != kNoRegister);
ASSERT(cid > 0);
ASSERT(temp_reg != TMP);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- if (cid < kNumPredefinedCids) {
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- const uword size_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_size_since_gc_new_space_offset() :
- ClassHeapStats::allocated_size_since_gc_old_space_offset();
- LoadImmediate(temp_reg, class_heap_stats_table_address + class_offset);
- const Address& count_address = Address(temp_reg, count_field_offset);
- const Address& size_address = Address(temp_reg, size_field_offset);
- lw(TMP, count_address);
- AddImmediate(TMP, 1);
- sw(TMP, count_address);
- lw(TMP, size_address);
- addu(TMP, TMP, size_reg);
- sw(TMP, size_address);
+ const uword class_offset = ClassTable::ClassOffsetFor(cid);
+ const uword count_field_offset = (space == Heap::kNew) ?
+ ClassHeapStats::allocated_since_gc_new_space_offset() :
+ ClassHeapStats::allocated_since_gc_old_space_offset();
+ const uword size_field_offset = (space == Heap::kNew) ?
+ ClassHeapStats::allocated_size_since_gc_new_space_offset() :
+ ClassHeapStats::allocated_size_since_gc_old_space_offset();
+ if (inline_isolate) {
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ if (cid < kNumPredefinedCids) {
+ LoadImmediate(temp_reg,
+ reinterpret_cast<uword>(*table_ptr) + class_offset);
+ } else {
+ ASSERT(temp_reg != kNoRegister);
+ LoadImmediate(temp_reg, reinterpret_cast<uword>(table_ptr));
+ lw(temp_reg, Address(temp_reg, 0));
+ AddImmediate(temp_reg, class_offset);
+ }
} else {
- ASSERT(temp_reg != kNoRegister);
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_since_gc_new_space_offset() :
- ClassHeapStats::allocated_since_gc_old_space_offset();
- const uword size_field_offset = (space == Heap::kNew) ?
- ClassHeapStats::allocated_size_since_gc_new_space_offset() :
- ClassHeapStats::allocated_size_since_gc_old_space_offset();
- LoadImmediate(temp_reg, class_table->ClassStatsTableAddress());
- lw(temp_reg, Address(temp_reg, 0));
+ LoadIsolate(temp_reg);
+ intptr_t table_offset =
+ Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+ lw(temp_reg, Address(temp_reg, table_offset));
AddImmediate(temp_reg, class_offset);
- lw(TMP, Address(temp_reg, count_field_offset));
- AddImmediate(TMP, 1);
- sw(TMP, Address(temp_reg, count_field_offset));
- lw(TMP, Address(temp_reg, size_field_offset));
- addu(TMP, TMP, size_reg);
- sw(TMP, Address(temp_reg, size_field_offset));
}
+ lw(TMP, Address(temp_reg, count_field_offset));
+ AddImmediate(TMP, 1);
+ sw(TMP, Address(temp_reg, count_field_offset));
+ lw(TMP, Address(temp_reg, size_field_offset));
+ addu(TMP, TMP, size_reg);
+ sw(TMP, Address(temp_reg, size_field_offset));
}
@@ -899,21 +890,18 @@
ASSERT(!in_delay_slot_);
ASSERT(temp_reg != kNoRegister);
ASSERT(temp_reg != TMP);
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
+ intptr_t state_offset;
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr =
+ class_table->StateAddressFor(cid, &state_offset);
if (cid < kNumPredefinedCids) {
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- LoadImmediate(temp_reg, class_heap_stats_table_address + class_offset);
+ LoadImmediate(temp_reg, reinterpret_cast<uword>(*table_ptr) + state_offset);
} else {
- LoadImmediate(temp_reg, class_table->ClassStatsTableAddress());
+ LoadImmediate(temp_reg, reinterpret_cast<uword>(table_ptr));
lw(temp_reg, Address(temp_reg, 0));
- AddImmediate(temp_reg, class_offset);
+ AddImmediate(temp_reg, state_offset);
}
- const uword state_offset = ClassHeapStats::state_offset();
- const Address& state_address = Address(temp_reg, state_offset);
- lw(temp_reg, state_address);
+ lw(temp_reg, Address(temp_reg, 0));
andi(CMPRES1, temp_reg, Immediate(ClassHeapStats::TraceAllocationMask()));
bne(CMPRES1, ZR, trace);
}
diff --git a/runtime/vm/assembler_mips.h b/runtime/vm/assembler_mips.h
index 00c0f62..174ec9f 100644
--- a/runtime/vm/assembler_mips.h
+++ b/runtime/vm/assembler_mips.h
@@ -304,12 +304,14 @@
void UpdateAllocationStats(intptr_t cid,
Register temp_reg,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
void UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
Register temp_reg,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
void MaybeTraceAllocation(intptr_t cid,
diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc
index 7477651..48118d5 100644
--- a/runtime/vm/assembler_x64.cc
+++ b/runtime/vm/assembler_x64.cc
@@ -3438,63 +3438,24 @@
}
-void Assembler::ComputeCounterAddressesForCid(intptr_t cid,
- Heap::Space space,
- Address* count_address,
- Address* size_address) {
- ASSERT(cid < kNumPredefinedCids);
- Register temp_reg = TMP;
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew)
- ? ClassHeapStats::allocated_since_gc_new_space_offset()
- : ClassHeapStats::allocated_since_gc_old_space_offset();
- const uword size_field_offset = (space == Heap::kNew)
- ? ClassHeapStats::allocated_size_since_gc_new_space_offset()
- : ClassHeapStats::allocated_size_since_gc_old_space_offset();
- movq(temp_reg, Immediate(class_heap_stats_table_address + class_offset));
- *count_address = Address(temp_reg, count_field_offset);
- *size_address = Address(temp_reg, size_field_offset);
-}
-
-
-void Assembler::ComputeHeapStatsStateAddressForCid(intptr_t cid,
- Address* state_address) {
- ASSERT(cid < kNumPredefinedCids);
- Register temp_reg = TMP;
- Isolate* isolate = Isolate::Current();
- ClassTable* class_table = isolate->class_table();
- const uword class_heap_stats_table_address =
- class_table->PredefinedClassHeapStatsTableAddress();
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword state_offset = ClassHeapStats::state_offset();
- movq(temp_reg, Immediate(class_heap_stats_table_address +
- class_offset +
- state_offset));
- *state_address = Address(temp_reg, 0);
-}
-
-
void Assembler::MaybeTraceAllocation(intptr_t cid,
Label* trace,
bool near_jump) {
ASSERT(cid > 0);
- Address state_address(kNoRegister, 0);
+ intptr_t state_offset;
+ ClassTable* class_table = Isolate::Current()->class_table();
+ ClassHeapStats** table_ptr =
+ class_table->StateAddressFor(cid, &state_offset);
+ Register temp_reg = TMP;
if (cid < kNumPredefinedCids) {
- ComputeHeapStatsStateAddressForCid(cid, &state_address);
+ movq(temp_reg, Immediate(reinterpret_cast<uword>(*table_ptr)));
} else {
Register temp_reg = TMP;
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword state_offset = ClassHeapStats::state_offset();
- // temp_reg gets address of class table pointer.
- ClassTable* class_table = Isolate::Current()->class_table();
- movq(temp_reg, Immediate(class_table->ClassStatsTableAddress()));
- state_address = Address(temp_reg, class_offset + state_offset);
+ movq(temp_reg, Immediate(reinterpret_cast<uword>(table_ptr)));
+ movq(temp_reg, Address(temp_reg, 0));
}
- testb(state_address, Immediate(ClassHeapStats::TraceAllocationMask()));
+ testb(Address(temp_reg, state_offset),
+ Immediate(ClassHeapStats::TraceAllocationMask()));
// We are tracing for this class, jump to the trace label which will use
// the allocation stub.
j(NOT_ZERO, trace, near_jump);
@@ -3502,47 +3463,54 @@
void Assembler::UpdateAllocationStats(intptr_t cid,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
- if (cid < kNumPredefinedCids) {
- Address count_address(kNoRegister, 0), size_address(kNoRegister, 0);
- ComputeCounterAddressesForCid(cid, space, &count_address, &size_address);
- incq(count_address);
- } else {
- Register temp_reg = TMP;
- const uword class_offset = cid * sizeof(ClassHeapStats); // NOLINT
- const uword count_field_offset = (space == Heap::kNew)
- ? ClassHeapStats::allocated_since_gc_new_space_offset()
- : ClassHeapStats::allocated_since_gc_old_space_offset();
+ intptr_t counter_offset =
+ ClassTable::CounterOffsetFor(cid, space == Heap::kNew);
+ Register temp_reg = TMP;
+ if (inline_isolate) {
ClassTable* class_table = Isolate::Current()->class_table();
- movq(temp_reg, Immediate(class_table->ClassStatsTableAddress()));
- movq(temp_reg, Address(temp_reg, 0));
- incq(Address(temp_reg, class_offset + count_field_offset));
+ ClassHeapStats** table_ptr = class_table->TableAddressFor(cid);
+ if (cid < kNumPredefinedCids) {
+ movq(temp_reg, Immediate(reinterpret_cast<uword>(*table_ptr)));
+ } else {
+ movq(temp_reg, Immediate(reinterpret_cast<uword>(table_ptr)));
+ movq(temp_reg, Address(temp_reg, 0));
+ }
+ } else {
+ LoadIsolate(temp_reg);
+ intptr_t table_offset =
+ Isolate::class_table_offset() + ClassTable::TableOffsetFor(cid);
+ movq(temp_reg, Address(temp_reg, table_offset));
}
+ incq(Address(temp_reg, counter_offset));
}
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
ASSERT(cid < kNumPredefinedCids);
- Address count_address(kNoRegister, 0), size_address(kNoRegister, 0);
- ComputeCounterAddressesForCid(cid, space, &count_address, &size_address);
- incq(count_address);
- addq(size_address, size_reg);
+ UpdateAllocationStats(cid, space, inline_isolate);
+ Register temp_reg = TMP;
+ intptr_t size_offset = ClassTable::SizeOffsetFor(cid, space == Heap::kNew);
+ addq(Address(temp_reg, size_offset), size_reg);
}
void Assembler::UpdateAllocationStatsWithSize(intptr_t cid,
intptr_t size_in_bytes,
- Heap::Space space) {
+ Heap::Space space,
+ bool inline_isolate) {
ASSERT(cid > 0);
ASSERT(cid < kNumPredefinedCids);
- Address count_address(kNoRegister, 0), size_address(kNoRegister, 0);
- ComputeCounterAddressesForCid(cid, space, &count_address, &size_address);
- incq(count_address);
- addq(size_address, Immediate(size_in_bytes));
+ UpdateAllocationStats(cid, space, inline_isolate);
+ Register temp_reg = TMP;
+ intptr_t size_offset = ClassTable::SizeOffsetFor(cid, space == Heap::kNew);
+ addq(Address(temp_reg, size_offset), Immediate(size_in_bytes));
}
diff --git a/runtime/vm/assembler_x64.h b/runtime/vm/assembler_x64.h
index 56cff9c..b7db5a5 100644
--- a/runtime/vm/assembler_x64.h
+++ b/runtime/vm/assembler_x64.h
@@ -985,14 +985,17 @@
}
void UpdateAllocationStats(intptr_t cid,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
void UpdateAllocationStatsWithSize(intptr_t cid,
Register size_reg,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
void UpdateAllocationStatsWithSize(intptr_t cid,
intptr_t instance_size,
- Heap::Space space);
+ Heap::Space space,
+ bool inline_isolate = true);
// If allocation tracing for |cid| is enabled, will jump to |trace| label,
// which will allocate in the runtime where tracing occurs.
@@ -1135,8 +1138,6 @@
Heap::Space space,
Address* count_address,
Address* size_address);
- void ComputeHeapStatsStateAddressForCid(intptr_t cid,
- Address* state_address);
DISALLOW_ALLOCATION();
DISALLOW_COPY_AND_ASSIGN(Assembler);
};
diff --git a/runtime/vm/base_isolate.h b/runtime/vm/base_isolate.h
index 1e92a22..fc6de2b 100644
--- a/runtime/vm/base_isolate.h
+++ b/runtime/vm/base_isolate.h
@@ -26,42 +26,6 @@
void AssertCurrentThreadIsMutator() const {}
#endif // DEBUG
- HandleScope* top_handle_scope() const {
-#if defined(DEBUG)
- return top_handle_scope_;
-#else
- return 0;
-#endif
- }
-
- void set_top_handle_scope(HandleScope* handle_scope) {
-#if defined(DEBUG)
- top_handle_scope_ = handle_scope;
-#endif
- }
-
- int32_t no_handle_scope_depth() const {
-#if defined(DEBUG)
- return no_handle_scope_depth_;
-#else
- return 0;
-#endif
- }
-
- void IncrementNoHandleScopeDepth() {
-#if defined(DEBUG)
- ASSERT(no_handle_scope_depth_ < INT_MAX);
- no_handle_scope_depth_ += 1;
-#endif
- }
-
- void DecrementNoHandleScopeDepth() {
-#if defined(DEBUG)
- ASSERT(no_handle_scope_depth_ > 0);
- no_handle_scope_depth_ -= 1;
-#endif
- }
-
int32_t no_safepoint_scope_depth() const {
#if defined(DEBUG)
return no_safepoint_scope_depth_;
@@ -106,8 +70,6 @@
BaseIsolate()
: mutator_thread_(NULL),
#if defined(DEBUG)
- top_handle_scope_(NULL),
- no_handle_scope_depth_(0),
no_safepoint_scope_depth_(0),
#endif
no_callback_scope_depth_(0)
@@ -119,8 +81,6 @@
Thread* mutator_thread_;
#if defined(DEBUG)
- HandleScope* top_handle_scope_;
- int32_t no_handle_scope_depth_;
int32_t no_safepoint_scope_depth_;
#endif
int32_t no_callback_scope_depth_;
diff --git a/runtime/vm/bootstrap_natives.h b/runtime/vm/bootstrap_natives.h
index cef070c..cab3102 100644
--- a/runtime/vm/bootstrap_natives.h
+++ b/runtime/vm/bootstrap_natives.h
@@ -298,8 +298,8 @@
V(Int32x4_setFlagZ, 2) \
V(Int32x4_setFlagW, 2) \
V(Int32x4_select, 3) \
- V(Isolate_spawnFunction, 4) \
- V(Isolate_spawnUri, 7) \
+ V(Isolate_spawnFunction, 7) \
+ V(Isolate_spawnUri, 10) \
V(Isolate_getPortAndCapabilitiesOfCurrentIsolate, 0) \
V(Isolate_sendOOB, 2) \
V(Mirrors_evalInLibraryWithPrivateKey, 2) \
diff --git a/runtime/vm/class_finalizer.cc b/runtime/vm/class_finalizer.cc
index 4af6636..75b832b 100644
--- a/runtime/vm/class_finalizer.cc
+++ b/runtime/vm/class_finalizer.cc
@@ -18,6 +18,7 @@
DEFINE_FLAG(bool, print_classes, false, "Prints details about loaded classes.");
DEFINE_FLAG(bool, trace_class_finalization, false, "Trace class finalization.");
DEFINE_FLAG(bool, trace_type_finalization, false, "Trace type finalization.");
+DECLARE_FLAG(bool, supermixin);
DECLARE_FLAG(bool, use_cha_deopt);
@@ -1561,14 +1562,16 @@
// In other words, decorate this mixin application class with type parameters
// that forward to the super type and mixin type (and interface type).
// Example:
-// class S<T> { }
-// class M<T> { }
-// class C<E> extends S<E> with M<List<E>> { }
+// class S<T extends BT> { }
+// class M<T extends BT> { }
+// class C<E extends BE> extends S<E> with M<List<E>> { }
// results in
-// class S&M<T`, T> extends S<T`> implements M<T> { } // mixin == M<T>
-// class C<E> extends S&M<E, List<E>> { }
+// class S&M<T`, T extends BT> extends S<T`> implements M<T> { }
+// class C<E extends BE> extends S&M<E, List<E>> { }
// CloneMixinAppTypeParameters decorates class S&M with type parameters T` and
// T, and use them as type arguments in S<T`> and M<T>.
+// Note that the bound BT on T of S is not applied to T` of S&M. However, the
+// bound BT on T of M is applied to T of S&M. See comments below.
void ClassFinalizer::CloneMixinAppTypeParameters(const Class& mixin_app_class) {
ASSERT(mixin_app_class.type_parameters() == TypeArguments::null());
Isolate* isolate = Isolate::Current();
@@ -1580,8 +1583,6 @@
const Type& mixin_type = Type::Handle(isolate, mixin_app_class.mixin());
const Class& mixin_class = Class::Handle(isolate, mixin_type.type_class());
const intptr_t num_mixin_type_params = mixin_class.NumTypeParameters();
- // The mixin class cannot be Object and this was checked earlier.
- ASSERT(!mixin_class.IsObjectClass());
// The mixin type (in raw form) should have been added to the interfaces
// implemented by the mixin application class. This is necessary so that cycle
@@ -1593,7 +1594,7 @@
// If both the super type and the mixin type are non generic, the mixin
// application class is non generic as well and we can skip type parameter
// cloning.
- bool has_uninstantiated_bounds = false;
+ TypeArguments& instantiator = TypeArguments::Handle(isolate);
if ((num_super_type_params + num_mixin_type_params) > 0) {
// If the last ampersand in the name of the mixin application class is
// doubled, the same type parameters can propagate the type arguments to
@@ -1630,7 +1631,12 @@
TypeArguments::New(num_super_type_params));
// The cloned super class type parameters do not need to repeat their
// bounds, since the bound checks will be performed at the super class
- // level.
+ // level. As a consequence, if this mixin application is used itself as a
+ // mixin in another mixin application, the bounds will be ignored, which
+ // is correct, because the other mixin application does not inherit from
+ // the super class of its mixin. Note also that the other mixin
+ // application will only mixin the last mixin type listed in the first
+ // mixin application it is mixing in.
param_bound = isolate->object_store()->object_type();
for (intptr_t i = 0; i < num_super_type_params; i++) {
param ^= super_type_params.TypeAt(i);
@@ -1658,12 +1664,16 @@
// We need to retain the parameter names of the mixin class
// since the code that will be compiled in the context of the
// mixin application class may refer to the type parameters
- // with that name.
+ // with that name. We also retain the type parameter bounds.
if (num_mixin_type_params > 0) {
const TypeArguments& mixin_params =
TypeArguments::Handle(isolate, mixin_class.type_parameters());
+ const intptr_t offset =
+ mixin_class.NumTypeArguments() - mixin_class.NumTypeParameters();
const TypeArguments& mixin_type_args = TypeArguments::Handle(isolate,
TypeArguments::New(num_mixin_type_params));
+ instantiator ^= TypeArguments::New(offset + num_mixin_type_params);
+ bool has_uninstantiated_bounds = false;
for (intptr_t i = 0; i < num_mixin_type_params; i++) {
param ^= mixin_params.TypeAt(i);
param_name = param.name();
@@ -1672,27 +1682,26 @@
has_uninstantiated_bounds = true;
}
cloned_param = TypeParameter::New(mixin_app_class,
- cloned_index,
+ cloned_index, // Unfinalized index.
param_name,
param_bound,
param.token_pos());
cloned_type_params.SetTypeAt(cloned_index, cloned_param);
- mixin_type_args.SetTypeAt(i, cloned_param);
+ mixin_type_args.SetTypeAt(i, cloned_param); // Unfinalized length.
+ instantiator.SetTypeAt(offset + i, cloned_param); // Finalized length.
cloned_index++;
}
// Third, replace the type parameters appearing in the bounds of the mixin
// type parameters, if any, by the cloned type parameters. This can be
- // done by instantiating each bound using the mixin_type_args as
- // instantiator. Since the mixin class must extend Object, its first type
- // parameter has index 0, therefore, the instantiator does not require
- // shifting. There is however an exception where the mixin class is an
- // alias, in which case shifting is required and performed later in
- // ApplyMixinAppAlias.
+ // done by instantiating each bound using the instantiator built above.
+ // If the mixin class extends a generic super class, its first finalized
+ // type parameter has a non-zero index, therefore, the instantiator
+ // requires shifting by the offset calculated above.
// Unfinalized type parameters replace finalized type parameters, which
// is not a problem since they will get finalized shortly as the mixin
// application class gets finalized.
- if (has_uninstantiated_bounds && !mixin_class.is_mixin_app_alias()) {
+ if (has_uninstantiated_bounds) {
Error& bound_error = Error::Handle(isolate);
for (intptr_t i = 0; i < num_mixin_type_params; i++) {
param ^= mixin_type_args.TypeAt(i);
@@ -1705,10 +1714,11 @@
FinalizeType(mixin_app_class, param_bound, kCanonicalize);
param.set_bound(param_bound); // In case part of recursive type.
}
- param_bound = param_bound.InstantiateFrom(mixin_type_args,
+ param_bound = param_bound.InstantiateFrom(instantiator,
&bound_error);
// The instantiator contains only TypeParameter objects and no
// BoundedType objects, so no bound error may occur.
+ ASSERT(!param_bound.IsBoundedType());
ASSERT(bound_error.IsNull());
ASSERT(!param_bound.IsInstantiated());
param.set_bound(param_bound);
@@ -1732,7 +1742,7 @@
// application class. The new class will have the aliased mixin as actual
// mixin.
if (mixin_class.is_mixin_app_alias()) {
- ApplyMixinAppAlias(mixin_app_class, has_uninstantiated_bounds);
+ ApplyMixinAppAlias(mixin_app_class, instantiator);
}
}
@@ -1742,19 +1752,23 @@
class I<T> { }
class J<T> { }
-class S<T> { }
-class M<T> { }
-class A<U, V> = Object with M<Map<U, V>> implements I<V>;
-class C<T, K> = S<T> with A<T, List<K>> implements J<K>;
+class S<T extends num> { }
+class M<T extends Map> { }
+class A<U, V extends List> = Object with M<Map<U, V>> implements I<V>;
+class C<T, K extends T> = S<T> with A<T, List<K>> implements J<K>;
Before the call to ApplyMixinAppAlias, the VM has already synthesized 2 mixin
application classes Object&M and S&A:
-Object&M<T> extends Object implements M<T> { ... members of M applied here ... }
-A<U, V> extends Object&M<Map<U, V>> implements I<V> { }
+Object&M<T extends Map> extends Object implements M<T> {
+ ... members of M applied here ...
+}
+A<U, V extends List> extends Object&M<Map<U, V>> implements I<V> { }
-S&A<T`, U, V> extends S<T`> implements A<U, V> { }
-C<T, K> extends S&A<T, T, List<K>> implements J<K> { }
+S&A<T`, U, V extends List> extends S<T`> implements A<U, V> {
+ ... members of A applied here, but A has no members ...
+}
+C<T, K extends T> extends S&A<T, T, List<K>> implements J<K> { }
In theory, class A should be an alias of Object&M instead of extending it.
In practice, the additional class provides a hook for implemented interfaces
@@ -1764,9 +1778,6 @@
Similarly, class C should be an alias of S&A instead of extending it.
-Since A is used as a mixin, it must extend Object. The fact that it extends
-Object&M must be hidden so that no error is wrongly reported.
-
Now, A does not have any members to be mixed into S&A, because A is an alias.
The members to be mixed in are actually those of M, and they should appear in a
scope where the type parameter T is visible. The class S&A declares the type
@@ -1776,11 +1787,13 @@
as the superclass of S&A. The class S&A` declares a type argument T:
Instead of
-S&A<T`, U, V> extends S<T`> implements A<U, V> { }
+S&A<T`, U, V extends List> extends S<T`> implements A<U, V> { }
We now have:
-S&A`<T`, T> extends S<T`> implements M<T> { ... members of M applied here ... }
-S&A<T`, U, V> extends S&A`<T`, Map<U, V>> implements A<U, V> { }
+S&A`<T`, T extends Map> extends S<T`> implements M<T> {
+ ... members of M applied here ...
+}
+S&A<T`, U, V extends List> extends S&A`<T`, Map<U, V>> implements A<U, V> { }
The main implementation difficulty resides in the fact that the type parameters
U and V in the super type S&A`<T`, Map<U, V>> of S&A must refer to the type
@@ -1789,23 +1802,24 @@
step with a properly crafted instantiator vector takes care of the required type
parameter substitution.
The instantiator vector must end with the type parameters U and V of S&A.
-The offset of the first type parameter U of S&A must be at the finalized index
-of type parameter U of A.
+The offset in the instantiator of the type parameter U of S&A must be at the
+finalized index of type parameter U of A.
The same instantiator vector is used to adjust the type parameter bounds on U
-and V, if any. This step was postponed from CloneMixinAppTypeParameters above.
+and V, if any. This step is done in CloneMixinAppTypeParameters above, and the
+already built instantiator is passed here.
-Also, a possible bound on type parameter T of M (not shown in the example above)
-must be applied to type parameter T of S&A`. If the bound is uninstantiated,
-i.e. if it refers to T or other type parameters of M, an instantiation step is
-required to substitute these type parameters of M with type parameters of S&A`.
-The instantiator vector consists of the cloned type parameters of M without
-offset, since class M must extend Object. This is done in the recursive call to
-CloneMixinAppTypeParameters and does not require specific code in
-ApplyMixinAppAlias.
+Also, a possible bound on type parameter T of M must be applied to type
+parameter T of S&A`. If the bound is uninstantiated, i.e. if it refers to T or
+other type parameters of M, an instantiation step is required to substitute
+these type parameters of M with type parameters of S&A`.
+The instantiator vector consists of the cloned type parameters of M shifted by
+an offset corresponding to the finalized index of the first type parameter of M.
+This is done in the recursive call to CloneMixinAppTypeParameters and does not
+require specific code in ApplyMixinAppAlias.
*/
void ClassFinalizer::ApplyMixinAppAlias(const Class& mixin_app_class,
- bool has_uninstantiated_bounds) {
+ const TypeArguments& instantiator) {
// If this mixin alias is aliasing another mixin alias, another class
// will be inserted via recursion. No need to check here.
// The mixin type may or may not be finalized yet.
@@ -1817,6 +1831,12 @@
ASSERT(mixin_class.is_mixin_app_alias());
const Class& aliased_mixin_app_class = Class::Handle(isolate,
mixin_class.SuperClass());
+ // Note that the super class of aliased_mixin_app_class can itself be a
+ // mixin application class (this happens if the alias is mixing more than one
+ // type). Instead of trying to recursively insert yet another class as the
+ // super class of this inserted class, we apply the composition rules of the
+ // spec and only mixin the members of aliased_mixin_app_class, not those of
+ // its super class. In other words, we only mixin the last mixin of the alias.
const Type& aliased_mixin_type = Type::Handle(isolate,
aliased_mixin_app_class.mixin());
// The name of the inserted mixin application class is the name of mixin
@@ -1851,18 +1871,19 @@
// The mixin type and interface type must also be set before calling
// CloneMixinAppTypeParameters.
- // After FinalizeTypesInClass, they will refer to the type parameters of
- // the mixin class typedef.
- const Type& generic_mixin_type = Type::Handle(isolate,
+ // After FinalizeTypesInClass, if the mixin type and interface type are
+ // generic, their type arguments will refer to the type parameters of
+ // inserted_class.
+ const Type& inserted_class_mixin_type = Type::Handle(isolate,
Type::New(Class::Handle(isolate, aliased_mixin_type.type_class()),
Object::null_type_arguments(),
aliased_mixin_type.token_pos()));
- inserted_class.set_mixin(generic_mixin_type);
+ inserted_class.set_mixin(inserted_class_mixin_type);
// Add the mixin type to the list of interfaces that the mixin application
// class implements. This is necessary so that cycle check work at
// compile time (type arguments are ignored by that check).
const Array& interfaces = Array::Handle(Array::New(1));
- interfaces.SetAt(0, generic_mixin_type);
+ interfaces.SetAt(0, inserted_class_mixin_type);
ASSERT(inserted_class.interfaces() == Object::empty_array().raw());
inserted_class.set_interfaces(interfaces);
// The type arguments of the interface, if any, will be set in
@@ -1885,60 +1906,68 @@
// It is important that the type parameters of the mixin application class
// are not finalized yet, because new type parameters may have been added
// to the super class.
- Class& super_class = Class::Handle(isolate, super_type.type_class());
- ASSERT(mixin_app_class.SuperClass() == super_class.raw());
- while (super_class.IsMixinApplication()) {
- super_class = super_class.SuperClass();
- }
+ const Class& super_class = Class::Handle(isolate, super_type.type_class());
+ ASSERT(mixin_app_class.SuperClass() == super_class.raw()); // Will change.
const intptr_t num_super_type_params = super_class.NumTypeParameters();
- const intptr_t num_mixin_type_params = mixin_class.NumTypeParameters();
- intptr_t offset =
- mixin_class.NumTypeArguments() - mixin_class.NumTypeParameters();
- const TypeArguments& type_params =
- TypeArguments::Handle(isolate, mixin_app_class.type_parameters());
- TypeArguments& instantiator = TypeArguments::Handle(isolate,
- TypeArguments::New(offset + num_mixin_type_params));
AbstractType& type = AbstractType::Handle(isolate);
- for (intptr_t i = 0; i < num_mixin_type_params; i++) {
- type = type_params.TypeAt(num_super_type_params + i);
- instantiator.SetTypeAt(offset + i, type);
- }
+ // The instantiator is mapping finalized type parameters of mixin_class to
+ // unfinalized type parameters of mixin_app_class.
ASSERT(aliased_mixin_type.IsFinalized());
const Class& aliased_mixin_type_class = Class::Handle(isolate,
aliased_mixin_type.type_class());
const intptr_t num_aliased_mixin_type_params =
aliased_mixin_type_class.NumTypeParameters();
- const intptr_t num_aliased_mixin_type_args =
- aliased_mixin_type_class.NumTypeArguments();
- offset = num_aliased_mixin_type_args - num_aliased_mixin_type_params;
ASSERT(inserted_class.NumTypeParameters() ==
(num_super_type_params + num_aliased_mixin_type_params));
+ const AbstractType& mixin_class_super_type =
+ AbstractType::Handle(isolate, mixin_class.super_type());
+ ASSERT(mixin_class_super_type.IsFinalized());
// The aliased_mixin_type may be raw.
const TypeArguments& mixin_class_super_type_args =
- TypeArguments::Handle(isolate,
- AbstractType::Handle(isolate, mixin_class.super_type()).arguments());
+ TypeArguments::Handle(isolate, mixin_class_super_type.arguments());
TypeArguments& new_mixin_type_args = TypeArguments::Handle(isolate);
if ((num_aliased_mixin_type_params > 0) &&
!mixin_class_super_type_args.IsNull()) {
new_mixin_type_args = TypeArguments::New(num_aliased_mixin_type_params);
+ AbstractType& bounded_type = AbstractType::Handle(isolate);
+ AbstractType& upper_bound = AbstractType::Handle(isolate);
+ TypeParameter& type_parameter = TypeParameter::Handle(isolate);
+ Error& bound_error = Error::Handle(isolate);
+ const intptr_t offset =
+ mixin_class_super_type_args.Length() - num_aliased_mixin_type_params;
for (intptr_t i = 0; i < num_aliased_mixin_type_params; i++) {
type = mixin_class_super_type_args.TypeAt(offset + i);
+ if (!type.IsInstantiated()) {
+ // In the presence of bounds, the bounded type and the upper bound must
+ // be instantiated separately. Instantiating a BoundedType would wrap
+ // the BoundedType in another BoundedType.
+ if (type.IsBoundedType()) {
+ bounded_type = BoundedType::Cast(type).type();
+ bounded_type = bounded_type.InstantiateFrom(instantiator,
+ &bound_error);
+ // The instantiator contains only TypeParameter objects and no
+ // BoundedType objects, so no bound error may occur.
+ ASSERT(bound_error.IsNull());
+ upper_bound = BoundedType::Cast(type).bound();
+ upper_bound = upper_bound.InstantiateFrom(instantiator, &bound_error);
+ ASSERT(bound_error.IsNull());
+ type_parameter = BoundedType::Cast(type).type_parameter();
+ // The type parameter that declared the bound does not change.
+ type = BoundedType::New(bounded_type, upper_bound, type_parameter);
+ } else {
+ type = type.InstantiateFrom(instantiator, &bound_error);
+ ASSERT(bound_error.IsNull());
+ }
+ }
new_mixin_type_args.SetTypeAt(i, type);
}
}
- if (!new_mixin_type_args.IsNull() &&
- !new_mixin_type_args.IsInstantiated()) {
- Error& bound_error = Error::Handle(isolate);
- new_mixin_type_args ^=
- new_mixin_type_args.InstantiateFrom(instantiator, &bound_error);
- // The instantiator contains only TypeParameter objects and no BoundedType
- // objects, so no bound error may occur.
- ASSERT(bound_error.IsNull());
- }
TypeArguments& new_super_type_args = TypeArguments::Handle(isolate);
if ((num_super_type_params + num_aliased_mixin_type_params) > 0) {
new_super_type_args = TypeArguments::New(num_super_type_params +
num_aliased_mixin_type_params);
+ const TypeArguments& type_params =
+ TypeArguments::Handle(isolate, mixin_app_class.type_parameters());
for (intptr_t i = 0; i < num_super_type_params; i++) {
type = type_params.TypeAt(i);
new_super_type_args.SetTypeAt(i, type);
@@ -1957,35 +1986,23 @@
mixin_app_class.token_pos());
mixin_app_class.set_super_type(super_type);
- // Perform the bound adjustment posponed from CloneMixinAppTypeParameters.
- if (has_uninstantiated_bounds) {
- TypeParameter& param = TypeParameter::Handle(isolate);
- AbstractType& param_bound = AbstractType::Handle(isolate);
- Error& bound_error = Error::Handle(isolate);
- for (intptr_t i = 0; i < num_mixin_type_params; i++) {
- param ^= type_params.TypeAt(num_super_type_params + i);
- param_bound = param.bound();
- if (!param_bound.IsInstantiated()) {
- param_bound = param_bound.InstantiateFrom(instantiator, &bound_error);
- // The instantiator contains only TypeParameter objects and no
- // BoundedType objects, so no bound error may occur.
- ASSERT(bound_error.IsNull());
- ASSERT(!param_bound.IsInstantiated());
- param.set_bound(param_bound);
- }
- }
- }
-
// Mark this mixin application class as being an alias.
mixin_app_class.set_is_mixin_app_alias();
ASSERT(!mixin_app_class.is_type_finalized());
ASSERT(!mixin_app_class.is_mixin_type_applied());
if (FLAG_trace_class_finalization) {
- OS::Print("Inserting class %s to mixin application alias %s "
- "with super type '%s'\n",
- inserted_class.ToCString(),
- mixin_app_class.ToCString(),
- String::Handle(isolate, super_type.Name()).ToCString());
+ OS::Print("Inserting class '%s' %s\n"
+ " as super type '%s' with %" Pd " type args: %s\n"
+ " of mixin application alias '%s' %s\n",
+ String::Handle(inserted_class.Name()).ToCString(),
+ TypeArguments::Handle(
+ inserted_class.type_parameters()).ToCString(),
+ String::Handle(isolate, super_type.Name()).ToCString(),
+ num_super_type_params + num_aliased_mixin_type_params,
+ super_type.ToCString(),
+ String::Handle(mixin_app_class.Name()).ToCString(),
+ TypeArguments::Handle(
+ mixin_app_class.type_parameters()).ToCString());
}
}
@@ -2007,8 +2024,7 @@
mixin_app_class.token_pos());
}
- // Check for illegal self references. This has to be done before checking
- // that the super class of the mixin class is class Object.
+ // Check for illegal self references.
GrowableArray<intptr_t> visited_mixins;
if (!IsMixinCycleFree(mixin_class, &visited_mixins)) {
const String& class_name = String::Handle(mixin_class.Name());
@@ -2017,21 +2033,23 @@
class_name.ToCString());
}
- // Check that the super class of the mixin class is class Object.
- Class& mixin_super_class = Class::Handle(mixin_class.SuperClass());
- // Skip over mixin application alias classes, which are implemented as
- // subclasses of the mixin application classes they name.
- if (!mixin_super_class.IsNull() && mixin_class.is_mixin_app_alias()) {
- while (mixin_super_class.is_mixin_app_alias()) {
+ if (!FLAG_supermixin) {
+ // Check that the super class of the mixin class is class Object.
+ Class& mixin_super_class = Class::Handle(mixin_class.SuperClass());
+ // Skip over mixin application alias classes, which are implemented as
+ // subclasses of the mixin application classes they name.
+ if (!mixin_super_class.IsNull() && mixin_class.is_mixin_app_alias()) {
+ while (mixin_super_class.is_mixin_app_alias()) {
+ mixin_super_class = mixin_super_class.SuperClass();
+ }
mixin_super_class = mixin_super_class.SuperClass();
}
- mixin_super_class = mixin_super_class.SuperClass();
- }
- if (mixin_super_class.IsNull() || !mixin_super_class.IsObjectClass()) {
- const String& class_name = String::Handle(mixin_class.Name());
- ReportError(mixin_app_class, mixin_app_class.token_pos(),
- "mixin class '%s' must extend class 'Object'",
- class_name.ToCString());
+ if (mixin_super_class.IsNull() || !mixin_super_class.IsObjectClass()) {
+ const String& class_name = String::Handle(mixin_class.Name());
+ ReportError(mixin_app_class, mixin_app_class.token_pos(),
+ "mixin class '%s' must extend class 'Object'",
+ class_name.ToCString());
+ }
}
// Copy type parameters to mixin application class.
@@ -2297,6 +2315,7 @@
// Check whether the interface is duplicated. We need to wait with
// this check until the super type and interface types are finalized,
// so that we can use Type::Equals() for the test.
+ // TODO(regis): This restriction about duplicated interfaces may get lifted.
ASSERT(interface_type.IsFinalized());
ASSERT(super_type.IsNull() || super_type.IsFinalized());
if (!super_type.IsNull() && interface_type.Equals(super_type)) {
@@ -2643,7 +2662,6 @@
// a BoundedType itself.
CollectTypeArguments(cls, Type::Cast(mixin_super_type), type_args);
AbstractType& mixin_type = AbstractType::Handle(isolate);
- Type& generic_mixin_type = Type::Handle(isolate);
Class& mixin_type_class = Class::Handle(isolate);
Class& mixin_app_class = Class::Handle(isolate);
String& mixin_app_class_name = String::Handle(isolate);
@@ -2704,9 +2722,10 @@
mixin_type.token_pos());
mixin_app_class.set_super_type(mixin_super_type);
mixin_type_class = mixin_type.type_class();
- generic_mixin_type = Type::New(mixin_type_class,
- Object::null_type_arguments(),
- mixin_type.token_pos());
+ const Type& generic_mixin_type = Type::Handle(isolate,
+ Type::New(mixin_type_class,
+ Object::null_type_arguments(),
+ mixin_type.token_pos()));
mixin_app_class.set_mixin(generic_mixin_type);
// Add the mixin type to the list of interfaces that the mixin application
// class implements. This is necessary so that cycle check work at
diff --git a/runtime/vm/class_finalizer.h b/runtime/vm/class_finalizer.h
index 7a11b24..de8cdde 100644
--- a/runtime/vm/class_finalizer.h
+++ b/runtime/vm/class_finalizer.h
@@ -130,7 +130,7 @@
const GrowableObjectArray& visited_factories);
static void CloneMixinAppTypeParameters(const Class& mixin_app_class);
static void ApplyMixinAppAlias(const Class& mixin_app_class,
- bool has_uninstantiated_bounds);
+ const TypeArguments& instantiator);
static void ApplyMixinMembers(const Class& cls);
static void CreateForwardingConstructors(
const Class& mixin_app,
diff --git a/runtime/vm/class_table.cc b/runtime/vm/class_table.cc
index 1966b21..c4dbfe8 100644
--- a/runtime/vm/class_table.cc
+++ b/runtime/vm/class_table.cc
@@ -422,6 +422,50 @@
}
+ClassHeapStats** ClassTable::TableAddressFor(intptr_t cid) {
+ return (cid < kNumPredefinedCids)
+ ? &predefined_class_heap_stats_table_
+ : &class_heap_stats_table_;
+}
+
+
+intptr_t ClassTable::TableOffsetFor(intptr_t cid) {
+ return (cid < kNumPredefinedCids)
+ ? OFFSET_OF(ClassTable, predefined_class_heap_stats_table_)
+ : OFFSET_OF(ClassTable, class_heap_stats_table_);
+}
+
+
+intptr_t ClassTable::ClassOffsetFor(intptr_t cid) {
+ return cid * sizeof(ClassHeapStats); // NOLINT
+}
+
+
+intptr_t ClassTable::CounterOffsetFor(intptr_t cid, bool is_new_space) {
+ const intptr_t class_offset = ClassOffsetFor(cid);
+ const intptr_t count_field_offset = is_new_space
+ ? ClassHeapStats::allocated_since_gc_new_space_offset()
+ : ClassHeapStats::allocated_since_gc_old_space_offset();
+ return class_offset + count_field_offset;
+}
+
+
+ClassHeapStats** ClassTable::StateAddressFor(intptr_t cid,
+ intptr_t* state_offset) {
+ *state_offset = ClassOffsetFor(cid)+ ClassHeapStats::state_offset();
+ return TableAddressFor(cid);
+}
+
+
+intptr_t ClassTable::SizeOffsetFor(intptr_t cid, bool is_new_space) {
+ const uword class_offset = ClassOffsetFor(cid);
+ const uword size_field_offset = is_new_space
+ ? ClassHeapStats::allocated_size_since_gc_new_space_offset()
+ : ClassHeapStats::allocated_size_since_gc_old_space_offset();
+ return class_offset + size_field_offset;
+}
+
+
void ClassTable::AllocationProfilePrintJSON(JSONStream* stream) {
Isolate* isolate = Isolate::Current();
ASSERT(isolate != NULL);
diff --git a/runtime/vm/class_table.h b/runtime/vm/class_table.h
index 9a23630..93fb514 100644
--- a/runtime/vm/class_table.h
+++ b/runtime/vm/class_table.h
@@ -195,14 +195,21 @@
void UpdatePromoted();
// Used by the generated code.
- uword PredefinedClassHeapStatsTableAddress() {
- return reinterpret_cast<uword>(predefined_class_heap_stats_table_);
- }
+ static intptr_t ClassOffsetFor(intptr_t cid);
- // Used by generated code.
- uword ClassStatsTableAddress() {
- return reinterpret_cast<uword>(&class_heap_stats_table_);
- }
+ // Used by the generated code.
+ ClassHeapStats** TableAddressFor(intptr_t cid);
+ static intptr_t TableOffsetFor(intptr_t cid);
+
+ // Used by the generated code.
+ static intptr_t CounterOffsetFor(intptr_t cid, bool is_new_space);
+
+ // Used by the generated code.
+ ClassHeapStats** StateAddressFor(intptr_t cid,
+ intptr_t* state_offset);
+
+ // Used by the generated code.
+ static intptr_t SizeOffsetFor(intptr_t cid, bool is_new_space);
ClassHeapStats* StatsWithUpdatedSize(intptr_t cid);
diff --git a/runtime/vm/compiler.cc b/runtime/vm/compiler.cc
index 9e15de3..491b571 100644
--- a/runtime/vm/compiler.cc
+++ b/runtime/vm/compiler.cc
@@ -292,7 +292,7 @@
// We remember all the classes that are being compiled in these lists. This
// also allows us to reset the marked_for_parsing state in case we see an
// error.
- VMTagScope tagScope(isolate, VMTag::kCompileTopLevelTagId);
+ VMTagScope tagScope(isolate, VMTag::kCompileClassTagId);
Class& parse_class = Class::Handle(isolate);
const GrowableObjectArray& parse_list =
GrowableObjectArray::Handle(isolate, GrowableObjectArray::New(4));
diff --git a/runtime/vm/dart_api_impl.cc b/runtime/vm/dart_api_impl.cc
index 99e9a55..b701c0e 100644
--- a/runtime/vm/dart_api_impl.cc
+++ b/runtime/vm/dart_api_impl.cc
@@ -92,6 +92,7 @@
// TypeParameter.
typeHandle_ ^= funcHandle_.result_type();
ASSERT(typeHandle_.IsNull() ||
+ !typeHandle_.IsResolved() ||
typeHandle_.IsTypeParameter() ||
typeHandle_.IsCanonical());
// Verify that the types in the function signature are all canonical or
@@ -99,7 +100,9 @@
const intptr_t num_parameters = funcHandle_.NumParameters();
for (intptr_t i = 0; i < num_parameters; i++) {
typeHandle_ = funcHandle_.ParameterTypeAt(i);
- ASSERT(typeHandle_.IsTypeParameter() || typeHandle_.IsCanonical());
+ ASSERT(typeHandle_.IsTypeParameter() ||
+ !typeHandle_.IsResolved() ||
+ typeHandle_.IsCanonical());
}
}
}
@@ -5692,6 +5695,67 @@
}
+DART_EXPORT Dart_Handle Dart_SetServiceStreamCallbacks(
+ Dart_ServiceStreamListenCallback listen_callback,
+ Dart_ServiceStreamCancelCallback cancel_callback) {
+ if (listen_callback != NULL) {
+ if (Service::stream_listen_callback() != NULL) {
+ return Api::NewError(
+ "%s permits only one listen callback to be registered, please "
+ "remove the existing callback and then add this callback",
+ CURRENT_FUNC);
+ }
+ } else {
+ if (Service::stream_listen_callback() == NULL) {
+ return Api::NewError(
+ "%s expects 'listen_callback' to be present in the callback set.",
+ CURRENT_FUNC);
+ }
+ }
+ if (cancel_callback != NULL) {
+ if (Service::stream_cancel_callback() != NULL) {
+ return Api::NewError(
+ "%s permits only one cancel callback to be registered, please "
+ "remove the existing callback and then add this callback",
+ CURRENT_FUNC);
+ }
+ } else {
+ if (Service::stream_cancel_callback() == NULL) {
+ return Api::NewError(
+ "%s expects 'cancel_callback' to be present in the callback set.",
+ CURRENT_FUNC);
+ }
+ }
+ Service::SetEmbedderStreamCallbacks(listen_callback, cancel_callback);
+ return Api::Success();
+}
+
+
+DART_EXPORT Dart_Handle Dart_ServiceSendDataEvent(const char* stream_id,
+ const char* event_kind,
+ const uint8_t* bytes,
+ intptr_t bytes_length) {
+ Isolate* isolate = Isolate::Current();
+ DARTSCOPE(isolate);
+ if (stream_id == NULL) {
+ RETURN_NULL_ERROR(stream_id);
+ }
+ if (event_kind == NULL) {
+ RETURN_NULL_ERROR(event_kind);
+ }
+ if (bytes == NULL) {
+ RETURN_NULL_ERROR(bytes);
+ }
+ if (bytes_length < 0) {
+ return Api::NewError("%s expects argument 'bytes_length' to be >= 0.",
+ CURRENT_FUNC);
+ }
+ Service::SendEmbedderEvent(isolate, stream_id, event_kind,
+ bytes, bytes_length);
+ return Api::Success();
+}
+
+
DART_EXPORT Dart_Handle Dart_TimelineDuration(const char* label,
int64_t start_micros,
int64_t end_micros) {
diff --git a/runtime/vm/dart_api_impl_test.cc b/runtime/vm/dart_api_impl_test.cc
index 896e14e..46653c8 100644
--- a/runtime/vm/dart_api_impl_test.cc
+++ b/runtime/vm/dart_api_impl_test.cc
@@ -2494,7 +2494,7 @@
public:
static void CollectNewSpace(Heap::ApiCallbacks api_callbacks) {
bool invoke_api_callbacks = (api_callbacks == Heap::kInvokeApiCallbacks);
- Isolate::Current()->heap()->new_space_->Scavenge(invoke_api_callbacks);
+ Isolate::Current()->heap()->new_space()->Scavenge(invoke_api_callbacks);
}
};
diff --git a/runtime/vm/dart_api_message.cc b/runtime/vm/dart_api_message.cc
index 540434a..2ee1c37 100644
--- a/runtime/vm/dart_api_message.cc
+++ b/runtime/vm/dart_api_message.cc
@@ -14,16 +14,12 @@
ApiMessageReader::ApiMessageReader(const uint8_t* buffer,
intptr_t length,
- ReAlloc alloc,
- bool use_vm_isolate_snapshot)
+ ReAlloc alloc)
: BaseReader(buffer, length),
alloc_(alloc),
backward_references_(kNumInitialReferences),
vm_isolate_references_(kNumInitialReferences),
- vm_symbol_references_(NULL),
- max_vm_isolate_object_id_(
- use_vm_isolate_snapshot ?
- Object::vm_isolate_snapshot_object_table().Length() : 0) {
+ vm_symbol_references_(NULL) {
Init();
}
@@ -421,8 +417,7 @@
intptr_t ApiMessageReader::NextAvailableObjectId() const {
- return backward_references_.length() +
- kMaxPredefinedObjectIds + max_vm_isolate_object_id_;
+ return backward_references_.length() + kMaxPredefinedObjectIds;
}
@@ -807,10 +802,6 @@
return &dynamic_type_marker;
}
intptr_t index = object_id - kMaxPredefinedObjectIds;
- if (index < max_vm_isolate_object_id_) {
- return AllocateDartCObjectVmIsolateObj(index);
- }
- index -= max_vm_isolate_object_id_;
ASSERT((0 <= index) && (index < backward_references_.length()));
ASSERT(backward_references_[index]->reference() != NULL);
return backward_references_[index]->reference();
@@ -861,8 +852,6 @@
Dart_CObject* obj,
DeserializeState state) {
intptr_t index = (id - kMaxPredefinedObjectIds);
- ASSERT(index >= max_vm_isolate_object_id_);
- index -= max_vm_isolate_object_id_;
ASSERT(index == backward_references_.length());
BackRefNode* node = AllocateBackRefNode(obj, state);
ASSERT(node != NULL);
@@ -873,8 +862,6 @@
Dart_CObject* ApiMessageReader::GetBackRef(intptr_t id) {
ASSERT(id >= kMaxPredefinedObjectIds);
intptr_t index = (id - kMaxPredefinedObjectIds);
- ASSERT(index >= max_vm_isolate_object_id_);
- index -= max_vm_isolate_object_id_;
if (index < backward_references_.length()) {
return backward_references_[index]->reference();
}
@@ -1012,7 +999,7 @@
void ApiMessageWriter::WriteInlinedHeader(Dart_CObject* object) {
// Write out the serialization header value for this object.
- WriteInlinedObjectHeader(SnapshotWriter::FirstObjectId() + object_id_);
+ WriteInlinedObjectHeader(kMaxPredefinedObjectIds + object_id_);
// Mark object with its object id.
MarkCObject(object, object_id_);
// Advance object id.
@@ -1023,7 +1010,7 @@
bool ApiMessageWriter::WriteCObject(Dart_CObject* object) {
if (IsCObjectMarked(object)) {
intptr_t object_id = GetMarkedCObjectMark(object);
- WriteIndexedObject(SnapshotWriter::FirstObjectId() + object_id);
+ WriteIndexedObject(kMaxPredefinedObjectIds + object_id);
return true;
}
@@ -1058,7 +1045,7 @@
bool ApiMessageWriter::WriteCObjectRef(Dart_CObject* object) {
if (IsCObjectMarked(object)) {
intptr_t object_id = GetMarkedCObjectMark(object);
- WriteIndexedObject(SnapshotWriter::FirstObjectId() + object_id);
+ WriteIndexedObject(kMaxPredefinedObjectIds + object_id);
return true;
}
@@ -1096,7 +1083,7 @@
// Write out the serialization header value for this object.
intptr_t object_id = GetMarkedCObjectMark(object);
- WriteInlinedObjectHeader(SnapshotWriter::FirstObjectId() + object_id);
+ WriteInlinedObjectHeader(kMaxPredefinedObjectIds + object_id);
// Write out the class and tags information.
WriteIndexedObject(kArrayCid);
WriteTags(0);
diff --git a/runtime/vm/dart_api_message.h b/runtime/vm/dart_api_message.h
index 8d38364..70d55f9 100644
--- a/runtime/vm/dart_api_message.h
+++ b/runtime/vm/dart_api_message.h
@@ -48,8 +48,7 @@
// recommended.
ApiMessageReader(const uint8_t* buffer,
intptr_t length,
- ReAlloc alloc,
- bool use_vm_isolate_snapshot = true);
+ ReAlloc alloc);
~ApiMessageReader() { }
Dart_CObject* ReadMessage();
@@ -147,7 +146,6 @@
ApiGrowableArray<BackRefNode*> backward_references_;
ApiGrowableArray<Dart_CObject*> vm_isolate_references_;
Dart_CObject** vm_symbol_references_;
- intptr_t max_vm_isolate_object_id_;
Dart_CObject type_arguments_marker;
Dart_CObject dynamic_type_marker;
@@ -202,7 +200,6 @@
Dart_CObject** forward_list_;
intptr_t forward_list_length_;
intptr_t forward_id_;
- intptr_t max_vm_isolate_object_id_;
DISALLOW_COPY_AND_ASSIGN(ApiMessageWriter);
};
diff --git a/runtime/vm/debugger.cc b/runtime/vm/debugger.cc
index 6f761b6..c7d549c 100644
--- a/runtime/vm/debugger.cc
+++ b/runtime/vm/debugger.cc
@@ -236,8 +236,8 @@
bool Debugger::HasEventHandler() {
return ((event_handler_ != NULL) ||
- Service::NeedsIsolateEvents() ||
- Service::NeedsDebugEvents());
+ Service::isolate_stream.enabled() ||
+ Service::debug_stream.enabled());
}
@@ -251,11 +251,11 @@
case DebuggerEvent::kBreakpointReached:
case DebuggerEvent::kExceptionThrown:
case DebuggerEvent::kIsolateInterrupted:
- return Service::NeedsDebugEvents();
+ return Service::debug_stream.enabled();
case DebuggerEvent::kIsolateCreated:
case DebuggerEvent::kIsolateShutdown:
- return Service::NeedsIsolateEvents();
+ return Service::isolate_stream.enabled();
default:
UNREACHABLE();
@@ -324,10 +324,10 @@
// The vm service handles breakpoint notifications in a different way
// than the regular debugger breakpoint notifications.
-static void SendServiceBreakpointEvent(ServiceEvent::EventType type,
+static void SendServiceBreakpointEvent(ServiceEvent::EventKind kind,
Breakpoint* bpt) {
- if (Service::NeedsDebugEvents()) {
- ServiceEvent service_event(Isolate::Current(), type);
+ if (Service::debug_stream.enabled()) {
+ ServiceEvent service_event(Isolate::Current(), kind);
service_event.set_breakpoint(bpt);
Service::HandleEvent(&service_event);
}
@@ -658,7 +658,7 @@
OS::PrintErr("\tFound saved current ctx at index %d\n",
var_info.index());
}
- ctx_ ^= GetLocalVar(var_info.index());
+ ctx_ ^= GetStackVar(var_info.index());
return ctx_;
}
}
@@ -667,6 +667,21 @@
}
+RawObject* ActivationFrame::GetAsyncOperation() {
+ GetVarDescriptors();
+ intptr_t var_desc_len = var_descriptors_.Length();
+ for (intptr_t i = 0; i < var_desc_len; i++) {
+ RawLocalVarDescriptors::VarInfo var_info;
+ var_descriptors_.GetInfo(i, &var_info);
+ const int8_t kind = var_info.kind();
+ if (kind == RawLocalVarDescriptors::kAsyncOperation) {
+ return GetContextVar(var_info.scope_id, var_info.index());
+ }
+ }
+ return Object::null();
+}
+
+
ActivationFrame* DebuggerStackTrace::GetHandlerFrame(
const Instance& exc_obj) const {
ExceptionHandlers& handlers = ExceptionHandlers::Handle();
@@ -816,7 +831,7 @@
}
-RawObject* ActivationFrame::GetLocalVar(intptr_t slot_index) {
+RawObject* ActivationFrame::GetStackVar(intptr_t slot_index) {
if (deopt_frame_.IsNull()) {
uword var_address = fp() + slot_index * kWordSize;
return reinterpret_cast<RawObject*>(
@@ -827,25 +842,15 @@
}
-RawInstance* ActivationFrame::GetLocalInstanceVar(intptr_t slot_index) {
- Instance& instance = Instance::Handle();
- instance ^= GetLocalVar(slot_index);
- return instance.raw();
-}
-
-
void ActivationFrame::PrintContextMismatchError(
- const String& var_name,
intptr_t ctx_slot,
intptr_t frame_ctx_level,
intptr_t var_ctx_level) {
OS::PrintErr("-------------------------\n"
"Encountered context mismatch\n"
- "\tvar name: %s\n"
"\tctx_slot: %" Pd "\n"
"\tframe_ctx_level: %" Pd "\n"
"\tvar_ctx_level: %" Pd "\n\n",
- var_name.ToCString(),
ctx_slot,
frame_ctx_level,
var_ctx_level);
@@ -903,44 +908,45 @@
ASSERT(value != NULL);
const int8_t kind = var_info.kind();
if (kind == RawLocalVarDescriptors::kStackVar) {
- *value = GetLocalInstanceVar(var_info.index());
+ *value = GetStackVar(var_info.index());
} else {
ASSERT(kind == RawLocalVarDescriptors::kContextVar);
- const Context& ctx = GetSavedCurrentContext();
- ASSERT(!ctx.IsNull());
+ *value = GetContextVar(var_info.scope_id, var_info.index());
+ }
+}
- // The context level at the PC/token index of this activation frame.
- intptr_t frame_ctx_level = ContextLevel();
- // The context level of the variable.
- intptr_t var_ctx_level = var_info.scope_id;
- intptr_t level_diff = frame_ctx_level - var_ctx_level;
- intptr_t ctx_slot = var_info.index();
- if (level_diff == 0) {
- if ((ctx_slot < 0) ||
- (ctx_slot >= ctx.num_variables())) {
- PrintContextMismatchError(*name, ctx_slot,
- frame_ctx_level, var_ctx_level);
- }
- ASSERT((ctx_slot >= 0) && (ctx_slot < ctx.num_variables()));
- *value = ctx.At(ctx_slot);
- } else {
- ASSERT(level_diff > 0);
- Context& var_ctx = Context::Handle(ctx.raw());
- while (level_diff > 0 && !var_ctx.IsNull()) {
- level_diff--;
- var_ctx = var_ctx.parent();
- }
- if (var_ctx.IsNull() ||
- (ctx_slot < 0) ||
- (ctx_slot >= var_ctx.num_variables())) {
- PrintContextMismatchError(*name, ctx_slot,
- frame_ctx_level, var_ctx_level);
- }
- ASSERT(!var_ctx.IsNull());
- ASSERT((ctx_slot >= 0) && (ctx_slot < var_ctx.num_variables()));
- *value = var_ctx.At(ctx_slot);
+RawObject* ActivationFrame::GetContextVar(intptr_t var_ctx_level,
+ intptr_t ctx_slot) {
+ const Context& ctx = GetSavedCurrentContext();
+ ASSERT(!ctx.IsNull());
+
+ // The context level at the PC/token index of this activation frame.
+ intptr_t frame_ctx_level = ContextLevel();
+
+ intptr_t level_diff = frame_ctx_level - var_ctx_level;
+ if (level_diff == 0) {
+ if ((ctx_slot < 0) ||
+ (ctx_slot >= ctx.num_variables())) {
+ PrintContextMismatchError(ctx_slot, frame_ctx_level, var_ctx_level);
}
+ ASSERT((ctx_slot >= 0) && (ctx_slot < ctx.num_variables()));
+ return ctx.At(ctx_slot);
+ } else {
+ ASSERT(level_diff > 0);
+ Context& var_ctx = Context::Handle(ctx.raw());
+ while (level_diff > 0 && !var_ctx.IsNull()) {
+ level_diff--;
+ var_ctx = var_ctx.parent();
+ }
+ if (var_ctx.IsNull() ||
+ (ctx_slot < 0) ||
+ (ctx_slot >= var_ctx.num_variables())) {
+ PrintContextMismatchError(ctx_slot, frame_ctx_level, var_ctx_level);
+ }
+ ASSERT(!var_ctx.IsNull());
+ ASSERT((ctx_slot >= 0) && (ctx_slot < var_ctx.num_variables()));
+ return var_ctx.At(ctx_slot);
}
}
@@ -1844,8 +1850,8 @@
BreakpointLocation* Debugger::SetBreakpoint(const Script& script,
- intptr_t token_pos,
- intptr_t last_token_pos) {
+ intptr_t token_pos,
+ intptr_t last_token_pos) {
Function& func = Function::Handle(isolate_);
func = FindBestFit(script, token_pos);
if (func.IsNull()) {
@@ -2376,9 +2382,12 @@
RemoveBreakpoint(bpt->id());
bpt = NULL;
}
+
DebuggerEvent event(isolate_, DebuggerEvent::kBreakpointReached);
event.set_top_frame(top_frame);
event.set_breakpoint(bpt);
+ Object& closure_or_null = Object::Handle(top_frame->GetAsyncOperation());
+ event.set_async_continuation(&closure_or_null);
Pause(&event);
}
diff --git a/runtime/vm/debugger.h b/runtime/vm/debugger.h
index 2a25220..faaf558 100644
--- a/runtime/vm/debugger.h
+++ b/runtime/vm/debugger.h
@@ -261,6 +261,7 @@
RawObject* GetReceiver();
const Context& GetSavedCurrentContext();
+ RawObject* GetAsyncOperation();
RawObject* Evaluate(const String& expr);
@@ -270,8 +271,7 @@
void PrintToJSONObject(JSONObject* jsobj, bool full = false);
private:
- void PrintContextMismatchError(const String& var_name,
- intptr_t ctx_slot,
+ void PrintContextMismatchError(intptr_t ctx_slot,
intptr_t frame_ctx_level,
intptr_t var_ctx_level);
@@ -280,8 +280,8 @@
void GetVarDescriptors();
void GetDescIndices();
- RawObject* GetLocalVar(intptr_t slot_index);
- RawInstance* GetLocalInstanceVar(intptr_t slot_index);
+ RawObject* GetStackVar(intptr_t slot_index);
+ RawObject* GetContextVar(intptr_t ctxt_level, intptr_t slot_index);
uword pc_;
uword fp_;
@@ -353,7 +353,8 @@
type_(event_type),
top_frame_(NULL),
breakpoint_(NULL),
- exception_(NULL) {}
+ exception_(NULL),
+ async_continuation_(NULL) {}
Isolate* isolate() const { return isolate_; }
@@ -392,6 +393,15 @@
exception_ = exception;
}
+ const Object* async_continuation() const {
+ ASSERT(type_ == kBreakpointReached);
+ return async_continuation_;
+ }
+ void set_async_continuation(const Object* closure) {
+ ASSERT(type_ == kBreakpointReached);
+ async_continuation_ = closure;
+ }
+
Dart_Port isolate_id() const {
return isolate_->main_port();
}
@@ -402,6 +412,7 @@
ActivationFrame* top_frame_;
Breakpoint* breakpoint_;
const Object* exception_;
+ const Object* async_continuation_;
};
diff --git a/runtime/vm/debugger_api_impl_test.cc b/runtime/vm/debugger_api_impl_test.cc
index 925e95a..e539374 100644
--- a/runtime/vm/debugger_api_impl_test.cc
+++ b/runtime/vm/debugger_api_impl_test.cc
@@ -658,17 +658,21 @@
}
static const char* step_into_expected_bpts[] = {
- "main",
- "foo",
- "f1",
- "foo",
- "foo",
- "X.kvmk",
- "f2",
- "X.kvmk",
- "X.kvmk",
- "foo",
- "main"
+ "main", // entry
+ "main", // call foo
+ "foo", // entry
+ "foo", // call f1
+ "f1", // entry
+ "foo", // call initializer
+ "foo", // call kvmk
+ "X.kvmk", // entry
+ "X.kvmk", // call
+ "f2", // entry
+ "f2", // return
+ "X.kvmk", // call +
+ "X.kvmk", // return
+ "foo", // return
+ "main" // return
};
void TestStepIntoHandler(Dart_IsolateId isolate_id,
diff --git a/runtime/vm/flow_graph_builder.cc b/runtime/vm/flow_graph_builder.cc
index abdd58e..9457956 100644
--- a/runtime/vm/flow_graph_builder.cc
+++ b/runtime/vm/flow_graph_builder.cc
@@ -4198,6 +4198,11 @@
ASSERT((node->label() == NULL) || !is_top_level_sequence);
NestedBlock nested_block(owner(), node);
+ if (FLAG_support_debugger && is_top_level_sequence) {
+ AddInstruction(new(Z) DebugStepCheckInstr(function.token_pos(),
+ RawPcDescriptors::kRuntimeCall));
+ }
+
if (num_context_variables > 0) {
// The local scope declares variables that are captured.
// Allocate and chain a new context (Except don't chain when at the function
diff --git a/runtime/vm/gc_sweeper.cc b/runtime/vm/gc_sweeper.cc
index 2b4ee58..4cd2243 100644
--- a/runtime/vm/gc_sweeper.cc
+++ b/runtime/vm/gc_sweeper.cc
@@ -137,13 +137,14 @@
if (page == last_) break;
page = next_page;
}
+ // Exit isolate cleanly *before* notifying it, to avoid shutdown race.
+ Thread::ExitIsolateAsHelper();
// This sweeper task is done. Notify the original isolate.
{
MonitorLocker ml(old_space_->tasks_lock());
old_space_->set_tasks(old_space_->tasks() - 1);
ml.Notify();
}
- Thread::ExitIsolateAsHelper();
}
private:
diff --git a/runtime/vm/handles.cc b/runtime/vm/handles.cc
index bd45c73..f636fdd 100644
--- a/runtime/vm/handles.cc
+++ b/runtime/vm/handles.cc
@@ -91,47 +91,57 @@
}
-HandleScope::HandleScope(Isolate* isolate) : StackResource(isolate) {
- ASSERT(isolate->no_handle_scope_depth() == 0);
- VMHandles* handles = isolate->current_zone()->handles();
+void HandleScope::Initialize() {
+ ASSERT(thread()->no_handle_scope_depth() == 0);
+ VMHandles* handles = thread()->zone()->handles();
ASSERT(handles != NULL);
saved_handle_block_ = handles->scoped_blocks_;
saved_handle_slot_ = handles->scoped_blocks_->next_handle_slot();
#if defined(DEBUG)
- link_ = isolate->top_handle_scope();
- isolate->set_top_handle_scope(this);
+ link_ = thread()->top_handle_scope();
+ thread()->set_top_handle_scope(this);
#endif
}
+HandleScope::HandleScope(Thread* thread) : StackResource(thread) {
+ Initialize();
+}
+
+
+HandleScope::HandleScope(Isolate* isolate) : StackResource(isolate) {
+ Initialize();
+}
+
+
HandleScope::~HandleScope() {
- ASSERT(isolate()->current_zone() != NULL);
- VMHandles* handles = isolate()->current_zone()->handles();
+ ASSERT(thread()->zone() != NULL);
+ VMHandles* handles = thread()->zone()->handles();
ASSERT(handles != NULL);
handles->scoped_blocks_ = saved_handle_block_;
handles->scoped_blocks_->set_next_handle_slot(saved_handle_slot_);
#if defined(DEBUG)
handles->VerifyScopedHandleState();
handles->ZapFreeScopedHandles();
- ASSERT(isolate()->top_handle_scope() == this);
- isolate()->set_top_handle_scope(link_);
+ ASSERT(thread()->top_handle_scope() == this);
+ thread()->set_top_handle_scope(link_);
#endif
}
#if defined(DEBUG)
NoHandleScope::NoHandleScope(Isolate* isolate) : StackResource(isolate) {
- isolate->IncrementNoHandleScopeDepth();
+ thread()->IncrementNoHandleScopeDepth();
}
-NoHandleScope::NoHandleScope() : StackResource(Isolate::Current()) {
- isolate()->IncrementNoHandleScopeDepth();
+NoHandleScope::NoHandleScope() : StackResource(Thread::Current()) {
+ thread()->IncrementNoHandleScopeDepth();
}
NoHandleScope::~NoHandleScope() {
- isolate()->DecrementNoHandleScopeDepth();
+ thread()->DecrementNoHandleScopeDepth();
}
#endif // defined(DEBUG)
diff --git a/runtime/vm/handles.h b/runtime/vm/handles.h
index da283d7..f86d0bb 100644
--- a/runtime/vm/handles.h
+++ b/runtime/vm/handles.h
@@ -292,7 +292,7 @@
// The class HandleScope is used to start a new handles scope in the code.
// It is used as follows:
// {
-// HANDLESCOPE(isolate);
+// HANDLESCOPE(thread);
// ....
// .....
// code that creates some scoped handles.
@@ -300,10 +300,14 @@
// }
class HandleScope : public StackResource {
public:
+ explicit HandleScope(Thread* thread);
+ // DEPRECATED: Use Thread version.
explicit HandleScope(Isolate* isolate);
~HandleScope();
private:
+ void Initialize();
+
VMHandles::HandlesBlock* saved_handle_block_; // Handle block at prev scope.
uword saved_handle_slot_; // Next available handle slot at previous scope.
#if defined(DEBUG)
@@ -313,8 +317,8 @@
};
// Macro to start a new Handle scope.
-#define HANDLESCOPE(isolate) \
- dart::HandleScope vm_internal_handles_scope_(isolate);
+#define HANDLESCOPE(isolate_or_thread) \
+ dart::HandleScope vm_internal_handles_scope_(isolate_or_thread);
// The class NoHandleScope is used in critical regions of the virtual machine
@@ -323,7 +327,7 @@
// during this critical area.
// It is used as follows:
// {
-// NOHANDLESCOPE(isolate);
+// NOHANDLESCOPE(thread);
// ....
// .....
// critical code that manipulates dart objects directly.
@@ -332,6 +336,8 @@
#if defined(DEBUG)
class NoHandleScope : public StackResource {
public:
+ explicit NoHandleScope(Thread* thread);
+ // DEPRECATED: Use Thread version.
explicit NoHandleScope(Isolate* isolate);
NoHandleScope();
~NoHandleScope();
@@ -342,6 +348,7 @@
#else // defined(DEBUG)
class NoHandleScope : public ValueObject {
public:
+ explicit NoHandleScope(Thread* thread) { }
explicit NoHandleScope(Isolate* isolate) { }
NoHandleScope() { }
~NoHandleScope() { }
@@ -352,8 +359,8 @@
#endif // defined(DEBUG)
// Macro to start a no handles scope in the code.
-#define NOHANDLESCOPE(isolate) \
- dart::NoHandleScope no_vm_internal_handles_scope_(isolate);
+#define NOHANDLESCOPE(isolate_or_thread) \
+ dart::NoHandleScope no_vm_internal_handles_scope_(isolate_or_thread);
} // namespace dart
diff --git a/runtime/vm/handles_impl.h b/runtime/vm/handles_impl.h
index a299b45..370b34e 100644
--- a/runtime/vm/handles_impl.h
+++ b/runtime/vm/handles_impl.h
@@ -96,10 +96,8 @@
#if defined(DEBUG)
Thread* thread = Thread::Current();
ASSERT(thread->zone() == zone);
- Isolate* isolate = thread->isolate();
- ASSERT(isolate != NULL);
- ASSERT(isolate->top_handle_scope() != NULL);
- ASSERT(isolate->no_handle_scope_depth() == 0);
+ ASSERT(thread->top_handle_scope() != NULL);
+ ASSERT(thread->no_handle_scope_depth() == 0);
#endif // DEBUG
Handles* handles = zone->handles();
ASSERT(handles != NULL);
@@ -116,9 +114,7 @@
#if defined(DEBUG)
Thread* thread = Thread::Current();
ASSERT(thread->zone() == zone);
- Isolate* isolate = thread->isolate();
- ASSERT(isolate != NULL);
- ASSERT(isolate->no_handle_scope_depth() == 0);
+ ASSERT(thread->no_handle_scope_depth() == 0);
#endif // DEBUG
Handles* handles = zone->handles();
ASSERT(handles != NULL);
diff --git a/runtime/vm/heap.cc b/runtime/vm/heap.cc
index e66d6db..06da6f1 100644
--- a/runtime/vm/heap.cc
+++ b/runtime/vm/heap.cc
@@ -48,6 +48,8 @@
intptr_t max_old_gen_words,
intptr_t max_external_words)
: isolate_(isolate),
+ new_space_(this, max_new_gen_semi_words, kNewObjectAlignmentOffset),
+ old_space_(this, max_old_gen_words, max_external_words),
read_only_(false),
gc_in_progress_(false),
pretenure_policy_(0) {
@@ -57,17 +59,11 @@
new_weak_tables_[sel] = new WeakTable();
old_weak_tables_[sel] = new WeakTable();
}
- new_space_ = new Scavenger(this,
- max_new_gen_semi_words,
- kNewObjectAlignmentOffset);
- old_space_ = new PageSpace(this, max_old_gen_words, max_external_words);
stats_.num_ = 0;
}
Heap::~Heap() {
- delete new_space_;
- delete old_space_;
for (int sel = 0;
sel < kNumWeakSelectors;
sel++) {
@@ -79,10 +75,10 @@
uword Heap::AllocateNew(intptr_t size) {
ASSERT(isolate()->no_safepoint_scope_depth() == 0);
- uword addr = new_space_->TryAllocate(size);
+ uword addr = new_space_.TryAllocate(size);
if (addr == 0) {
CollectGarbage(kNew);
- addr = new_space_->TryAllocate(size);
+ addr = new_space_.TryAllocate(size);
if (addr == 0) {
return AllocateOld(size, HeapPage::kData);
}
@@ -93,18 +89,18 @@
uword Heap::AllocateOld(intptr_t size, HeapPage::PageType type) {
ASSERT(isolate()->no_safepoint_scope_depth() == 0);
- uword addr = old_space_->TryAllocate(size, type);
+ uword addr = old_space_.TryAllocate(size, type);
if (addr != 0) {
return addr;
}
// If we are in the process of running a sweep wait for the sweeper to free
// memory.
{
- MonitorLocker ml(old_space_->tasks_lock());
- addr = old_space_->TryAllocate(size, type);
- while ((addr == 0) && (old_space_->tasks() > 0)) {
+ MonitorLocker ml(old_space_.tasks_lock());
+ addr = old_space_.TryAllocate(size, type);
+ while ((addr == 0) && (old_space_.tasks() > 0)) {
ml.Wait();
- addr = old_space_->TryAllocate(size, type);
+ addr = old_space_.TryAllocate(size, type);
}
}
if (addr != 0) {
@@ -112,36 +108,36 @@
}
// All GC tasks finished without allocating successfully. Run a full GC.
CollectAllGarbage();
- addr = old_space_->TryAllocate(size, type);
+ addr = old_space_.TryAllocate(size, type);
if (addr != 0) {
return addr;
}
// Wait for all of the concurrent tasks to finish before giving up.
{
- MonitorLocker ml(old_space_->tasks_lock());
- addr = old_space_->TryAllocate(size, type);
- while ((addr == 0) && (old_space_->tasks() > 0)) {
+ MonitorLocker ml(old_space_.tasks_lock());
+ addr = old_space_.TryAllocate(size, type);
+ while ((addr == 0) && (old_space_.tasks() > 0)) {
ml.Wait();
- addr = old_space_->TryAllocate(size, type);
+ addr = old_space_.TryAllocate(size, type);
}
}
if (addr != 0) {
return addr;
}
// Force growth before attempting a synchronous GC.
- addr = old_space_->TryAllocate(size, type, PageSpace::kForceGrowth);
+ addr = old_space_.TryAllocate(size, type, PageSpace::kForceGrowth);
if (addr != 0) {
return addr;
}
// Before throwing an out-of-memory error try a synchronous GC.
CollectAllGarbage();
{
- MonitorLocker ml(old_space_->tasks_lock());
- while (old_space_->tasks() > 0) {
+ MonitorLocker ml(old_space_.tasks_lock());
+ while (old_space_.tasks() > 0) {
ml.Wait();
}
}
- addr = old_space_->TryAllocate(size, type, PageSpace::kForceGrowth);
+ addr = old_space_.TryAllocate(size, type, PageSpace::kForceGrowth);
if (addr != 0) {
return addr;
}
@@ -154,7 +150,7 @@
uword Heap::AllocatePretenured(intptr_t size) {
ASSERT(isolate()->no_safepoint_scope_depth() == 0);
- uword addr = old_space_->TryAllocateDataBump(size, PageSpace::kControlGrowth);
+ uword addr = old_space_.TryAllocateDataBump(size, PageSpace::kControlGrowth);
if (addr != 0) return addr;
return AllocateOld(size, HeapPage::kData);
}
@@ -163,16 +159,16 @@
void Heap::AllocateExternal(intptr_t size, Space space) {
ASSERT(isolate()->no_safepoint_scope_depth() == 0);
if (space == kNew) {
- new_space_->AllocateExternal(size);
- if (new_space_->ExternalInWords() > (FLAG_new_gen_ext_limit * MBInWords)) {
+ new_space_.AllocateExternal(size);
+ if (new_space_.ExternalInWords() > (FLAG_new_gen_ext_limit * MBInWords)) {
// Attempt to free some external allocation by a scavenge. (If the total
// remains above the limit, next external alloc will trigger another.)
CollectGarbage(kNew);
}
} else {
ASSERT(space == kOld);
- old_space_->AllocateExternal(size);
- if (old_space_->NeedsGarbageCollection()) {
+ old_space_.AllocateExternal(size);
+ if (old_space_.NeedsGarbageCollection()) {
CollectAllGarbage();
}
}
@@ -180,42 +176,42 @@
void Heap::FreeExternal(intptr_t size, Space space) {
if (space == kNew) {
- new_space_->FreeExternal(size);
+ new_space_.FreeExternal(size);
} else {
ASSERT(space == kOld);
- old_space_->FreeExternal(size);
+ old_space_.FreeExternal(size);
}
}
void Heap::PromoteExternal(intptr_t size) {
- new_space_->FreeExternal(size);
- old_space_->AllocateExternal(size);
+ new_space_.FreeExternal(size);
+ old_space_.AllocateExternal(size);
}
bool Heap::Contains(uword addr) const {
- return new_space_->Contains(addr) ||
- old_space_->Contains(addr);
+ return new_space_.Contains(addr) ||
+ old_space_.Contains(addr);
}
bool Heap::NewContains(uword addr) const {
- return new_space_->Contains(addr);
+ return new_space_.Contains(addr);
}
bool Heap::OldContains(uword addr) const {
- return old_space_->Contains(addr);
+ return old_space_.Contains(addr);
}
bool Heap::CodeContains(uword addr) const {
- return old_space_->Contains(addr, HeapPage::kExecutable);
+ return old_space_.Contains(addr, HeapPage::kExecutable);
}
void Heap::VisitObjects(ObjectVisitor* visitor) const {
- new_space_->VisitObjects(visitor);
- old_space_->VisitObjects(visitor);
+ new_space_.VisitObjects(visitor);
+ old_space_.VisitObjects(visitor);
}
@@ -252,26 +248,26 @@
void Heap::IterateObjects(ObjectVisitor* visitor) const {
// The visitor must not allocate from the heap.
NoSafepointScope no_safepoint_scope_;
- new_space_->VisitObjects(visitor);
+ new_space_.VisitObjects(visitor);
IterateOldObjects(visitor);
}
void Heap::IterateOldObjects(ObjectVisitor* visitor) const {
HeapIterationScope heap_iteration_scope;
- old_space_->VisitObjects(visitor);
+ old_space_.VisitObjects(visitor);
}
void Heap::VisitObjectPointers(ObjectPointerVisitor* visitor) const {
- new_space_->VisitObjectPointers(visitor);
- old_space_->VisitObjectPointers(visitor);
+ new_space_.VisitObjectPointers(visitor);
+ old_space_.VisitObjectPointers(visitor);
}
RawInstructions* Heap::FindObjectInCodeSpace(FindObjectVisitor* visitor) const {
// Only executable pages can have RawInstructions objects.
- RawObject* raw_obj = old_space_->FindObject(visitor, HeapPage::kExecutable);
+ RawObject* raw_obj = old_space_.FindObject(visitor, HeapPage::kExecutable);
ASSERT((raw_obj == Object::null()) ||
(raw_obj->GetClassId() == kInstructionsCid));
return reinterpret_cast<RawInstructions*>(raw_obj);
@@ -280,12 +276,12 @@
RawObject* Heap::FindOldObject(FindObjectVisitor* visitor) const {
HeapIterationScope heap_iteration_scope;
- return old_space_->FindObject(visitor, HeapPage::kData);
+ return old_space_.FindObject(visitor, HeapPage::kData);
}
RawObject* Heap::FindNewObject(FindObjectVisitor* visitor) const {
- return new_space_->FindObject(visitor);
+ return new_space_.FindObject(visitor);
}
@@ -318,12 +314,12 @@
"CollectNewGeneration");
RecordBeforeGC(kNew, reason);
UpdateClassHeapStatsBeforeGC(kNew);
- new_space_->Scavenge(invoke_api_callbacks);
+ new_space_.Scavenge(invoke_api_callbacks);
isolate()->class_table()->UpdatePromoted();
UpdatePretenurePolicy();
RecordAfterGC();
PrintStats();
- if (old_space_->NeedsGarbageCollection()) {
+ if (old_space_.NeedsGarbageCollection()) {
// Old collections should call the API callbacks.
CollectGarbage(kOld, kInvokeApiCallbacks, kPromotion);
}
@@ -337,7 +333,7 @@
"CollectOldGeneration");
RecordBeforeGC(kOld, reason);
UpdateClassHeapStatsBeforeGC(kOld);
- old_space_->MarkSweep(invoke_api_callbacks);
+ old_space_.MarkSweep(invoke_api_callbacks);
RecordAfterGC();
PrintStats();
break;
@@ -377,7 +373,7 @@
"CollectNewGeneration");
RecordBeforeGC(kNew, kFull);
UpdateClassHeapStatsBeforeGC(kNew);
- new_space_->Scavenge(kInvokeApiCallbacks);
+ new_space_.Scavenge(kInvokeApiCallbacks);
isolate()->class_table()->UpdatePromoted();
UpdatePretenurePolicy();
RecordAfterGC();
@@ -390,7 +386,7 @@
"CollectOldGeneration");
RecordBeforeGC(kOld, kFull);
UpdateClassHeapStatsBeforeGC(kOld);
- old_space_->MarkSweep(kInvokeApiCallbacks);
+ old_space_.MarkSweep(kInvokeApiCallbacks);
RecordAfterGC();
PrintStats();
}
@@ -432,47 +428,67 @@
void Heap::SetGrowthControlState(bool state) {
- old_space_->SetGrowthControlState(state);
+ old_space_.SetGrowthControlState(state);
}
bool Heap::GrowthControlState() {
- return old_space_->GrowthControlState();
+ return old_space_.GrowthControlState();
}
void Heap::WriteProtect(bool read_only) {
read_only_ = read_only;
- new_space_->WriteProtect(read_only);
- old_space_->WriteProtect(read_only);
+ new_space_.WriteProtect(read_only);
+ old_space_.WriteProtect(read_only);
}
uword Heap::TopAddress(Heap::Space space) {
if (space == kNew) {
- return reinterpret_cast<uword>(new_space_->TopAddress());
+ return reinterpret_cast<uword>(new_space_.TopAddress());
} else {
ASSERT(space == kPretenured);
- return reinterpret_cast<uword>(old_space_->TopAddress());
+ return reinterpret_cast<uword>(old_space_.TopAddress());
}
}
uword Heap::EndAddress(Heap::Space space) {
if (space == kNew) {
- return reinterpret_cast<uword>(new_space_->EndAddress());
+ return reinterpret_cast<uword>(new_space_.EndAddress());
} else {
ASSERT(space == kPretenured);
- return reinterpret_cast<uword>(old_space_->EndAddress());
+ return reinterpret_cast<uword>(old_space_.EndAddress());
}
}
-Heap::Space Heap::SpaceForAllocation(intptr_t cid) const {
+Heap::Space Heap::SpaceForAllocation(intptr_t cid) {
return FLAG_pretenure_all ? kPretenured : kNew;
}
+intptr_t Heap::TopOffset(Heap::Space space) {
+ if (space == kNew) {
+ return OFFSET_OF(Heap, new_space_) + Scavenger::top_offset();
+ } else {
+ ASSERT(space == kPretenured);
+ return OFFSET_OF(Heap, old_space_) + PageSpace::top_offset();
+ }
+}
+
+
+intptr_t Heap::EndOffset(Heap::Space space) {
+ if (space == kNew) {
+ return OFFSET_OF(Heap, new_space_) + Scavenger::end_offset();
+ } else {
+ ASSERT(space == kPretenured);
+ return OFFSET_OF(Heap, old_space_) + PageSpace::end_offset();
+ }
+}
+
+
void Heap::Init(Isolate* isolate,
intptr_t max_new_gen_words,
intptr_t max_old_gen_words,
@@ -487,17 +503,17 @@
void Heap::GetMergedAddressRange(uword* start, uword* end) const {
- if (new_space_->CapacityInWords() != 0) {
+ if (new_space_.CapacityInWords() != 0) {
uword new_start;
uword new_end;
- new_space_->StartEndAddress(&new_start, &new_end);
+ new_space_.StartEndAddress(&new_start, &new_end);
*start = Utils::Minimum(new_start, *start);
*end = Utils::Maximum(new_end, *end);
}
- if (old_space_->CapacityInWords() != 0) {
+ if (old_space_.CapacityInWords() != 0) {
uword old_start;
uword old_end;
- old_space_->StartEndAddress(&old_start, &old_end);
+ old_space_.StartEndAddress(&old_start, &old_end);
*start = Utils::Minimum(old_start, *start);
*end = Utils::Maximum(old_end, *end);
}
@@ -556,33 +572,33 @@
intptr_t Heap::UsedInWords(Space space) const {
- return space == kNew ? new_space_->UsedInWords() : old_space_->UsedInWords();
+ return space == kNew ? new_space_.UsedInWords() : old_space_.UsedInWords();
}
intptr_t Heap::CapacityInWords(Space space) const {
- return space == kNew ? new_space_->CapacityInWords() :
- old_space_->CapacityInWords();
+ return space == kNew ? new_space_.CapacityInWords() :
+ old_space_.CapacityInWords();
}
intptr_t Heap::ExternalInWords(Space space) const {
- return space == kNew ? new_space_->ExternalInWords() :
- old_space_->ExternalInWords();
+ return space == kNew ? new_space_.ExternalInWords() :
+ old_space_.ExternalInWords();
}
int64_t Heap::GCTimeInMicros(Space space) const {
if (space == kNew) {
- return new_space_->gc_time_micros();
+ return new_space_.gc_time_micros();
}
- return old_space_->gc_time_micros();
+ return old_space_.gc_time_micros();
}
intptr_t Heap::Collections(Space space) const {
if (space == kNew) {
- return new_space_->collections();
+ return new_space_.collections();
}
- return old_space_->collections();
+ return old_space_.collections();
}
@@ -639,9 +655,9 @@
void Heap::PrintToJSONObject(Space space, JSONObject* object) const {
if (space == kNew) {
- new_space_->PrintToJSONObject(object);
+ new_space_.PrintToJSONObject(object);
} else {
- old_space_->PrintToJSONObject(object);
+ old_space_.PrintToJSONObject(object);
}
}
@@ -653,8 +669,8 @@
stats_.space_ = space;
stats_.reason_ = reason;
stats_.before_.micros_ = OS::GetCurrentTimeMicros();
- stats_.before_.new_ = new_space_->GetCurrentUsage();
- stats_.before_.old_ = old_space_->GetCurrentUsage();
+ stats_.before_.new_ = new_space_.GetCurrentUsage();
+ stats_.before_.old_ = old_space_.GetCurrentUsage();
stats_.times_[0] = 0;
stats_.times_[1] = 0;
stats_.times_[2] = 0;
@@ -670,17 +686,17 @@
stats_.after_.micros_ = OS::GetCurrentTimeMicros();
int64_t delta = stats_.after_.micros_ - stats_.before_.micros_;
if (stats_.space_ == kNew) {
- new_space_->AddGCTime(delta);
- new_space_->IncrementCollections();
+ new_space_.AddGCTime(delta);
+ new_space_.IncrementCollections();
} else {
- old_space_->AddGCTime(delta);
- old_space_->IncrementCollections();
+ old_space_.AddGCTime(delta);
+ old_space_.IncrementCollections();
}
- stats_.after_.new_ = new_space_->GetCurrentUsage();
- stats_.after_.old_ = old_space_->GetCurrentUsage();
+ stats_.after_.new_ = new_space_.GetCurrentUsage();
+ stats_.after_.old_ = old_space_.GetCurrentUsage();
ASSERT(gc_in_progress_);
gc_in_progress_ = false;
- if (Service::NeedsGCEvents()) {
+ if (Service::gc_stream.enabled()) {
ServiceEvent event(Isolate::Current(), ServiceEvent::kGC);
event.set_gc_stats(&stats_);
Service::HandleEvent(&event);
diff --git a/runtime/vm/heap.h b/runtime/vm/heap.h
index 4385883..076b283 100644
--- a/runtime/vm/heap.h
+++ b/runtime/vm/heap.h
@@ -68,8 +68,8 @@
~Heap();
- Scavenger* new_space() const { return new_space_; }
- PageSpace* old_space() const { return old_space_; }
+ Scavenger* new_space() { return &new_space_; }
+ PageSpace* old_space() { return &old_space_; }
uword Allocate(intptr_t size, Space space) {
ASSERT(!read_only_);
@@ -136,13 +136,15 @@
// Protect access to the heap.
void WriteProtect(bool read_only);
void WriteProtectCode(bool read_only) {
- old_space_->WriteProtectCode(read_only);
+ old_space_.WriteProtectCode(read_only);
}
// Accessors for inlined allocation in generated code.
uword TopAddress(Space space);
+ static intptr_t TopOffset(Space space);
uword EndAddress(Space space);
- Space SpaceForAllocation(intptr_t class_id) const;
+ static intptr_t EndOffset(Space space);
+ static Space SpaceForAllocation(intptr_t class_id);
// Initialize the heap and register it with the isolate.
static void Init(Isolate* isolate,
@@ -228,8 +230,8 @@
void PrintToJSONObject(Space space, JSONObject* object) const;
// The heap map contains the sizes and class ids for the objects in each page.
- void PrintHeapMapToJSONStream(Isolate* isolate, JSONStream* stream) const {
- return old_space_->PrintHeapMapToJSONStream(isolate, stream);
+ void PrintHeapMapToJSONStream(Isolate* isolate, JSONStream* stream) {
+ return old_space_.PrintHeapMapToJSONStream(isolate, stream);
}
Isolate* isolate() const { return isolate_; }
@@ -305,8 +307,8 @@
Isolate* isolate_;
// The different spaces used for allocation.
- Scavenger* new_space_;
- PageSpace* old_space_;
+ Scavenger new_space_;
+ PageSpace old_space_;
WeakTable* new_weak_tables_[kNumWeakSelectors];
WeakTable* old_weak_tables_[kNumWeakSelectors];
@@ -323,7 +325,6 @@
int pretenure_policy_;
friend class ServiceEvent;
- friend class GCTestHelper;
friend class PageSpace; // VerifyGC
DISALLOW_COPY_AND_ASSIGN(Heap);
};
diff --git a/runtime/vm/intrinsifier_arm.cc b/runtime/vm/intrinsifier_arm.cc
index 893352e..a5b73df 100644
--- a/runtime/vm/intrinsifier_arm.cc
+++ b/runtime/vm/intrinsifier_arm.cc
@@ -274,7 +274,7 @@
__ b(&init_loop, CC); \
__ str(R6, Address(R3, -2 * kWordSize), HI); \
\
- __ IncrementAllocationStatsWithSize(R4, R2, cid, space); \
+ __ IncrementAllocationStatsWithSize(R4, R2, space); \
__ Ret(); \
__ Bind(&fall_through); \
@@ -1827,7 +1827,7 @@
FieldAddress(R0, String::hash_offset()),
TMP);
- __ IncrementAllocationStatsWithSize(R4, R2, cid, space);
+ __ IncrementAllocationStatsWithSize(R4, R2, space);
__ b(ok);
__ Bind(&fail);
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index b247e56..6c8d73f 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -485,7 +485,7 @@
void IsolateMessageHandler::NotifyPauseOnStart() {
- if (Service::NeedsDebugEvents()) {
+ if (Service::debug_stream.enabled()) {
StartIsolateScope start_isolate(isolate());
StackZone zone(I);
HandleScope handle_scope(I);
@@ -496,7 +496,7 @@
void IsolateMessageHandler::NotifyPauseOnExit() {
- if (Service::NeedsDebugEvents()) {
+ if (Service::debug_stream.enabled()) {
StartIsolateScope start_isolate(isolate());
StackZone zone(I);
HandleScope handle_scope(I);
@@ -1232,6 +1232,24 @@
StartIsolateScope start_scope(isolate);
StackZone zone(isolate);
HandleScope handle_scope(isolate);
+
+ // If particular values were requested for this newly spawned isolate, then
+ // they are set here before the isolate starts executing user code.
+ isolate->SetErrorsFatal(state->errors_are_fatal());
+ if (state->on_exit_port() != ILLEGAL_PORT) {
+ const SendPort& listener =
+ SendPort::Handle(SendPort::New(state->on_exit_port()));
+ isolate->AddExitListener(listener, Instance::null_instance());
+ }
+ if (state->on_error_port() != ILLEGAL_PORT) {
+ const SendPort& listener =
+ SendPort::Handle(SendPort::New(state->on_error_port()));
+ isolate->AddErrorListener(listener);
+ }
+
+ // Switch back to spawning isolate.
+
+
if (!ClassFinalizer::ProcessPendingClasses()) {
// Error is in sticky error already.
return false;
@@ -1433,15 +1451,42 @@
}
#endif // DEBUG
+ // First, perform higher-level cleanup that may need to allocate.
+ {
+ // Ensure we have a zone and handle scope so that we can call VM functions.
+ StackZone stack_zone(this);
+ HandleScope handle_scope(this);
+
+ // Write out the coverage data if collection has been enabled.
+ CodeCoverage::Write(this);
+
+ if ((timeline_event_recorder_ != NULL) &&
+ (FLAG_timeline_trace_dir != NULL)) {
+ timeline_event_recorder_->WriteTo(FLAG_timeline_trace_dir);
+ }
+ }
+
// Remove this isolate from the list *before* we start tearing it down, to
// avoid exposing it in a state of decay.
RemoveIsolateFromList(this);
- // Create an area where we do have a zone and a handle scope so that we can
- // call VM functions while tearing this isolate down.
+ if (heap_ != NULL) {
+ // Wait for any concurrent GC tasks to finish before shutting down.
+ // TODO(koda): Support faster sweeper shutdown (e.g., after current page).
+ PageSpace* old_space = heap_->old_space();
+ MonitorLocker ml(old_space->tasks_lock());
+ while (old_space->tasks() > 0) {
+ ml.Wait();
+ }
+ }
+
+ // Then, proceed with low-level teardown.
{
+ // Ensure we have a zone and handle scope so that we can call VM functions,
+ // but we no longer allocate new heap objects.
StackZone stack_zone(this);
HandleScope handle_scope(this);
+ NoSafepointScope no_safepoint_scope;
if (compiler_stats_ != NULL) {
compiler_stats()->Print();
@@ -1465,9 +1510,6 @@
// Dump all accumulated timer data for the isolate.
timer_list_.ReportTimers();
- // Write out the coverage data if collection has been enabled.
- CodeCoverage::Write(this);
-
// Finalize any weak persistent handles with a non-null referent.
FinalizeWeakPersistentHandlesVisitor visitor;
api_state()->weak_persistent_handles().VisitHandles(&visitor);
@@ -1480,16 +1522,22 @@
OS::Print("[-] Stopping isolate:\n"
"\tisolate: %s\n", name());
}
-
- if ((timeline_event_recorder_ != NULL) &&
- (FLAG_timeline_trace_dir != NULL)) {
- timeline_event_recorder_->WriteTo(FLAG_timeline_trace_dir);
- }
}
+#if defined(DEBUG)
+ // No concurrent sweeper tasks should be running at this point.
+ if (heap_ != NULL) {
+ PageSpace* old_space = heap_->old_space();
+ MonitorLocker ml(old_space->tasks_lock());
+ ASSERT(old_space->tasks() == 0);
+ }
+#endif
+
// TODO(5411455): For now just make sure there are no current isolates
// as we are shutting down the isolate.
Thread::ExitIsolate();
+ // All threads should have exited by now.
+ thread_registry()->CheckNotScheduled(this);
Profiler::ShutdownProfilingForIsolate(this);
}
@@ -1922,9 +1970,14 @@
IsolateSpawnState::IsolateSpawnState(Dart_Port parent_port,
const Function& func,
const Instance& message,
- bool paused)
+ bool paused,
+ bool errors_are_fatal,
+ Dart_Port on_exit_port,
+ Dart_Port on_error_port)
: isolate_(NULL),
parent_port_(parent_port),
+ on_exit_port_(on_exit_port),
+ on_error_port_(on_error_port),
script_url_(NULL),
package_root_(NULL),
library_url_(NULL),
@@ -1935,7 +1988,8 @@
serialized_message_(NULL),
serialized_message_len_(0),
isolate_flags_(),
- paused_(paused) {
+ paused_(paused),
+ errors_are_fatal_(errors_are_fatal) {
script_url_ = NULL;
const Class& cls = Class::Handle(func.Owner());
const Library& lib = Library::Handle(cls.library());
@@ -1963,9 +2017,14 @@
const char* package_root,
const Instance& args,
const Instance& message,
- bool paused)
+ bool paused,
+ bool errors_are_fatal,
+ Dart_Port on_exit_port,
+ Dart_Port on_error_port)
: isolate_(NULL),
parent_port_(parent_port),
+ on_exit_port_(on_exit_port),
+ on_error_port_(on_error_port),
package_root_(NULL),
library_url_(NULL),
class_name_(NULL),
@@ -1975,7 +2034,8 @@
serialized_message_(NULL),
serialized_message_len_(0),
isolate_flags_(),
- paused_(paused) {
+ paused_(paused),
+ errors_are_fatal_(errors_are_fatal) {
script_url_ = strdup(script_url);
if (package_root != NULL) {
package_root_ = strdup(package_root);
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h
index 88c789d..a7aa4fc 100644
--- a/runtime/vm/isolate.h
+++ b/runtime/vm/isolate.h
@@ -1013,19 +1013,27 @@
IsolateSpawnState(Dart_Port parent_port,
const Function& func,
const Instance& message,
- bool paused);
+ bool paused,
+ bool errorsAreFatal,
+ Dart_Port onExit,
+ Dart_Port onError);
IsolateSpawnState(Dart_Port parent_port,
const char* script_url,
const char* package_root,
const Instance& args,
const Instance& message,
- bool paused);
+ bool paused,
+ bool errorsAreFatal,
+ Dart_Port onExit,
+ Dart_Port onError);
~IsolateSpawnState();
Isolate* isolate() const { return isolate_; }
void set_isolate(Isolate* value) { isolate_ = value; }
Dart_Port parent_port() const { return parent_port_; }
+ Dart_Port on_exit_port() const { return on_exit_port_; }
+ Dart_Port on_error_port() const { return on_error_port_; }
char* script_url() const { return script_url_; }
char* package_root() const { return package_root_; }
char* library_url() const { return library_url_; }
@@ -1033,6 +1041,7 @@
char* function_name() const { return function_name_; }
bool is_spawn_uri() const { return library_url_ == NULL; }
bool paused() const { return paused_; }
+ bool errors_are_fatal() const { return errors_are_fatal_; }
Isolate::Flags* isolate_flags() { return &isolate_flags_; }
RawObject* ResolveFunction();
@@ -1043,6 +1052,8 @@
private:
Isolate* isolate_;
Dart_Port parent_port_;
+ Dart_Port on_exit_port_;
+ Dart_Port on_error_port_;
char* script_url_;
char* package_root_;
char* library_url_;
@@ -1054,6 +1065,7 @@
intptr_t serialized_message_len_;
Isolate::Flags isolate_flags_;
bool paused_;
+ bool errors_are_fatal_;
};
} // namespace dart
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 18d86ff..f674cd4 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -2736,9 +2736,9 @@
void Class::SetTraceAllocation(bool trace_allocation) const {
const bool changed = trace_allocation != this->trace_allocation();
- set_state_bits(
- TraceAllocationBit::update(trace_allocation, raw_ptr()->state_bits_));
if (changed) {
+ set_state_bits(
+ TraceAllocationBit::update(trace_allocation, raw_ptr()->state_bits_));
Isolate* isolate = Isolate::Current();
ClassTable* class_table = isolate->class_table();
class_table->TraceAllocationsFor(id(), trace_allocation);
@@ -4205,6 +4205,7 @@
jsobj.AddProperty("_finalized", is_finalized());
jsobj.AddProperty("_implemented", is_implemented());
jsobj.AddProperty("_patch", is_patch());
+ jsobj.AddProperty("_traceAllocations", trace_allocation());
const Class& superClass = Class::Handle(SuperClass());
if (!superClass.IsNull()) {
jsobj.AddProperty("super", superClass);
@@ -11246,6 +11247,9 @@
case RawLocalVarDescriptors::kSavedCurrentContext:
return "CurrentCtx";
break;
+ case RawLocalVarDescriptors::kAsyncOperation:
+ return "AsyncOperation";
+ break;
default:
UNREACHABLE();
return "Unknown";
@@ -11359,6 +11363,8 @@
return "ContextLevel";
case RawLocalVarDescriptors::kSavedCurrentContext:
return "SavedCurrentContext";
+ case RawLocalVarDescriptors::kAsyncOperation:
+ return "AsyncOperation";
default:
UNIMPLEMENTED();
return NULL;
@@ -16157,6 +16163,7 @@
void BoundedType::set_bound(const AbstractType& value) const {
// The bound may still be unfinalized because of legal cycles.
// It must be finalized before it is checked at run time, though.
+ ASSERT(value.IsFinalized() || value.IsBeingFinalized());
StorePointer(&raw_ptr()->bound_, value.raw());
}
@@ -16175,20 +16182,26 @@
GrowableObjectArray* trail) const {
ASSERT(IsFinalized());
AbstractType& bounded_type = AbstractType::Handle(type());
+ ASSERT(bounded_type.IsFinalized());
if (!bounded_type.IsInstantiated()) {
bounded_type = bounded_type.InstantiateFrom(instantiator_type_arguments,
bound_error,
trail);
+ // In case types of instantiator_type_arguments are not finalized, then
+ // the instantiated bounded_type is not finalized either.
+ // Note that instantiator_type_arguments must have the final length, though.
}
if ((Isolate::Current()->flags().type_checks()) &&
(bound_error != NULL) && bound_error->IsNull()) {
AbstractType& upper_bound = AbstractType::Handle(bound());
+ ASSERT(upper_bound.IsFinalized());
ASSERT(!upper_bound.IsObjectType() && !upper_bound.IsDynamicType());
const TypeParameter& type_param = TypeParameter::Handle(type_parameter());
if (!upper_bound.IsInstantiated()) {
upper_bound = upper_bound.InstantiateFrom(instantiator_type_arguments,
bound_error,
trail);
+ // Instantiated upper_bound may not be finalized. See comment above.
}
if (bound_error->IsNull()) {
if (!type_param.CheckBound(bounded_type, upper_bound, bound_error) &&
diff --git a/runtime/vm/os_thread_android.cc b/runtime/vm/os_thread_android.cc
index 443e800..ae1b9f2 100644
--- a/runtime/vm/os_thread_android.cc
+++ b/runtime/vm/os_thread_android.cc
@@ -23,6 +23,14 @@
}
+#if defined(DEBUG)
+#define ASSERT_PTHREAD_SUCCESS(result) VALIDATE_PTHREAD_RESULT(result)
+#else
+// NOTE: This (currently) expands to a no-op.
+#define ASSERT_PTHREAD_SUCCESS(result) ASSERT(result == 0)
+#endif
+
+
#ifdef DEBUG
#define RETURN_ON_PTHREAD_FAILURE(result) \
if (result != 0) { \
@@ -217,7 +225,7 @@
int result = pthread_mutex_lock(data_.mutex());
// Specifically check for dead lock to help debugging.
ASSERT(result != EDEADLK);
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
// When running with assertions enabled we do track the owner.
#if defined(DEBUG)
owner_ = OSThread::GetCurrentThreadId();
@@ -231,7 +239,7 @@
if (result == EBUSY) {
return false;
}
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
// When running with assertions enabled we do track the owner.
#if defined(DEBUG)
owner_ = OSThread::GetCurrentThreadId();
@@ -249,7 +257,7 @@
int result = pthread_mutex_unlock(data_.mutex());
// Specifically check for wrong thread unlocking to aid debugging.
ASSERT(result != EPERM);
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
}
diff --git a/runtime/vm/os_thread_linux.cc b/runtime/vm/os_thread_linux.cc
index 5a0fe4f..94bb823 100644
--- a/runtime/vm/os_thread_linux.cc
+++ b/runtime/vm/os_thread_linux.cc
@@ -24,6 +24,14 @@
}
+#if defined(DEBUG)
+#define ASSERT_PTHREAD_SUCCESS(result) VALIDATE_PTHREAD_RESULT(result)
+#else
+// NOTE: This (currently) expands to a no-op.
+#define ASSERT_PTHREAD_SUCCESS(result) ASSERT(result == 0)
+#endif
+
+
#ifdef DEBUG
#define RETURN_ON_PTHREAD_FAILURE(result) \
if (result != 0) { \
@@ -218,7 +226,7 @@
int result = pthread_mutex_lock(data_.mutex());
// Specifically check for dead lock to help debugging.
ASSERT(result != EDEADLK);
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
// When running with assertions enabled we do track the owner.
#if defined(DEBUG)
owner_ = OSThread::GetCurrentThreadId();
@@ -232,7 +240,7 @@
if (result == EBUSY) {
return false;
}
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
// When running with assertions enabled we do track the owner.
#if defined(DEBUG)
owner_ = OSThread::GetCurrentThreadId();
@@ -250,7 +258,7 @@
int result = pthread_mutex_unlock(data_.mutex());
// Specifically check for wrong thread unlocking to aid debugging.
ASSERT(result != EPERM);
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
}
diff --git a/runtime/vm/os_thread_macos.cc b/runtime/vm/os_thread_macos.cc
index 2b870db..6a9aca2 100644
--- a/runtime/vm/os_thread_macos.cc
+++ b/runtime/vm/os_thread_macos.cc
@@ -31,6 +31,14 @@
}
+#if defined(DEBUG)
+#define ASSERT_PTHREAD_SUCCESS(result) VALIDATE_PTHREAD_RESULT(result)
+#else
+// NOTE: This (currently) expands to a no-op.
+#define ASSERT_PTHREAD_SUCCESS(result) ASSERT(result == 0)
+#endif
+
+
#ifdef DEBUG
#define RETURN_ON_PTHREAD_FAILURE(result) \
if (result != 0) { \
@@ -223,7 +231,7 @@
int result = pthread_mutex_lock(data_.mutex());
// Specifically check for dead lock to help debugging.
ASSERT(result != EDEADLK);
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
// When running with assertions enabled we do track the owner.
#if defined(DEBUG)
owner_ = OSThread::GetCurrentThreadId();
@@ -237,7 +245,7 @@
if ((result == EBUSY) || (result == EDEADLK)) {
return false;
}
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
// When running with assertions enabled we do track the owner.
#if defined(DEBUG)
owner_ = OSThread::GetCurrentThreadId();
@@ -255,7 +263,7 @@
int result = pthread_mutex_unlock(data_.mutex());
// Specifically check for wrong thread unlocking to aid debugging.
ASSERT(result != EPERM);
- ASSERT(result == 0); // Verify no other errors.
+ ASSERT_PTHREAD_SUCCESS(result); // Verify no other errors.
}
diff --git a/runtime/vm/pages.cc b/runtime/vm/pages.cc
index 109df50..b6f0b2e 100644
--- a/runtime/vm/pages.cc
+++ b/runtime/vm/pages.cc
@@ -635,7 +635,7 @@
}
-void PageSpace::PrintToJSONObject(JSONObject* object) {
+void PageSpace::PrintToJSONObject(JSONObject* object) const {
Isolate* isolate = Isolate::Current();
ASSERT(isolate != NULL);
JSONObject space(object, "old");
@@ -674,7 +674,8 @@
};
-void PageSpace::PrintHeapMapToJSONStream(Isolate* isolate, JSONStream* stream) {
+void PageSpace::PrintHeapMapToJSONStream(
+ Isolate* isolate, JSONStream* stream) const {
JSONObject heap_map(stream);
heap_map.AddProperty("type", "HeapMap");
heap_map.AddProperty("freeClassId",
diff --git a/runtime/vm/pages.h b/runtime/vm/pages.h
index cd2b8cb..ca10ee0 100644
--- a/runtime/vm/pages.h
+++ b/runtime/vm/pages.h
@@ -297,8 +297,8 @@
return collections_;
}
- void PrintToJSONObject(JSONObject* object);
- void PrintHeapMapToJSONStream(Isolate* isolate, JSONStream* stream);
+ void PrintToJSONObject(JSONObject* object) const;
+ void PrintHeapMapToJSONStream(Isolate* isolate, JSONStream* stream) const;
void AllocateExternal(intptr_t size);
void FreeExternal(intptr_t size);
@@ -337,6 +337,8 @@
// Bump block allocation from generated code.
uword* TopAddress() { return &bump_top_; }
uword* EndAddress() { return &bump_end_; }
+ static intptr_t top_offset() { return OFFSET_OF(PageSpace, bump_top_); }
+ static intptr_t end_offset() { return OFFSET_OF(PageSpace, bump_end_); }
private:
// Ids for time and data records in Heap::GCStats.
diff --git a/runtime/vm/parser.cc b/runtime/vm/parser.cc
index d3ccd42..80e45ed 100644
--- a/runtime/vm/parser.cc
+++ b/runtime/vm/parser.cc
@@ -43,6 +43,7 @@
DEFINE_FLAG(bool, load_deferred_eagerly, false,
"Load deferred libraries eagerly.");
DEFINE_FLAG(bool, trace_parser, false, "Trace parser operations.");
+DEFINE_FLAG(bool, supermixin, false, "Allow super calls in mixins.");
DEFINE_FLAG(bool, warn_mixin_typedef, true, "Warning on legacy mixin typedef.");
DECLARE_FLAG(bool, lazy_dispatchers);
@@ -6736,13 +6737,13 @@
// ... source code of f ...
// }
// var :async_op = f_async_body;
-// :controller = new _AsyncStarStreamController(f_async_body);
+// :controller = new _AsyncStarStreamController(:async_op);
// return :controller.stream;
// }
-SequenceNode* Parser::CloseAsyncGeneratorFunction(const Function& closure,
+SequenceNode* Parser::CloseAsyncGeneratorFunction(const Function& closure_func,
SequenceNode* closure_body) {
TRACE_PARSER("CloseAsyncGeneratorFunction");
- ASSERT(!closure.IsNull());
+ ASSERT(!closure_func.IsNull());
ASSERT(closure_body != NULL);
// The block for the async closure body has already been closed. Close the
@@ -6775,19 +6776,17 @@
// :async_op = <closure>; (containing the original body)
LocalVariable* async_op_var =
current_block_->scope->LookupVariable(Symbols::AsyncOperation(), false);
- ClosureNode* cn = new(Z) ClosureNode(
- Scanner::kNoSourcePos, closure, NULL, closure_body->scope());
+ ClosureNode* closure_obj = new(Z) ClosureNode(
+ Scanner::kNoSourcePos, closure_func, NULL, closure_body->scope());
StoreLocalNode* store_async_op = new (Z) StoreLocalNode(
Scanner::kNoSourcePos,
async_op_var,
- cn);
+ closure_obj);
current_block_->statements->Add(store_async_op);
// :controller = new _AsyncStarStreamController(body_closure);
ArgumentListNode* arguments = new(Z) ArgumentListNode(Scanner::kNoSourcePos);
- ClosureNode* closure_obj = new(Z) ClosureNode(
- Scanner::kNoSourcePos, closure, NULL, closure_body->scope());
- arguments->Add(closure_obj);
+ arguments->Add(new (Z) LoadLocalNode(Scanner::kNoSourcePos, async_op_var));
ConstructorCallNode* controller_constructor_call =
new(Z) ConstructorCallNode(Scanner::kNoSourcePos,
TypeArguments::ZoneHandle(Z),
@@ -13220,12 +13219,14 @@
ReportError("class '%s' does not have a superclass",
String::Handle(Z, current_class().Name()).ToCString());
}
- if (current_class().IsMixinApplication()) {
- const Type& mixin_type = Type::Handle(Z, current_class().mixin());
- if (mixin_type.type_class() == current_function().origin()) {
- ReportError("method of mixin class '%s' may not refer to 'super'",
- String::Handle(Z, Class::Handle(Z,
- current_function().origin()).Name()).ToCString());
+ if (!FLAG_supermixin) {
+ if (current_class().IsMixinApplication()) {
+ const Type& mixin_type = Type::Handle(Z, current_class().mixin());
+ if (mixin_type.type_class() == current_function().origin()) {
+ ReportError("method of mixin class '%s' may not refer to 'super'",
+ String::Handle(Z, Class::Handle(Z,
+ current_function().origin()).Name()).ToCString());
+ }
}
}
const intptr_t super_pos = TokenPos();
diff --git a/runtime/vm/profiler.h b/runtime/vm/profiler.h
index b4a4d0b..d7406a2 100644
--- a/runtime/vm/profiler.h
+++ b/runtime/vm/profiler.h
@@ -472,6 +472,10 @@
intptr_t allocation_cid() const { return allocation_cid_; }
void set_allocation_cid(intptr_t cid) { allocation_cid_ = cid; }
+ bool IsAllocationSample() const {
+ return allocation_cid_ > 0;
+ }
+
// Was the stack trace truncated?
bool truncated() const { return truncated_; }
void set_truncated(bool truncated) { truncated_ = truncated; }
diff --git a/runtime/vm/profiler_service.cc b/runtime/vm/profiler_service.cc
index fac0bf4..bf47f20 100644
--- a/runtime/vm/profiler_service.cc
+++ b/runtime/vm/profiler_service.cc
@@ -1238,7 +1238,7 @@
current,
i,
(j == 0),
- sample->first_frame_executing(),
+ sample->first_frame_executing() || sample->IsAllocationSample(),
true);
}
}
@@ -1266,7 +1266,7 @@
current,
i,
(j == 0),
- sample->first_frame_executing(),
+ sample->first_frame_executing() || sample->IsAllocationSample(),
false);
}
@@ -1964,21 +1964,10 @@
}
-class NoAllocationSampleFilter : public SampleFilter {
- public:
- explicit NoAllocationSampleFilter(Isolate* isolate)
- : SampleFilter(isolate) {
- }
-
- bool FilterSample(Sample* sample) {
- return !sample->is_allocation_sample();
- }
-};
-
-
-void ProfilerService::PrintJSON(JSONStream* stream,
- Profile::TagOrder tag_order) {
- Isolate* isolate = Isolate::Current();
+void ProfilerService::PrintJSONImpl(Isolate* isolate,
+ JSONStream* stream,
+ Profile::TagOrder tag_order,
+ SampleFilter* filter) {
// Disable profile interrupts while processing the buffer.
Profiler::EndExecution(isolate);
@@ -1995,8 +1984,7 @@
StackZone zone(isolate);
HANDLESCOPE(isolate);
Profile profile(isolate);
- NoAllocationSampleFilter filter(isolate);
- profile.Build(&filter, tag_order);
+ profile.Build(filter, tag_order);
profile.PrintJSON(stream);
}
@@ -2005,6 +1993,53 @@
}
+class NoAllocationSampleFilter : public SampleFilter {
+ public:
+ explicit NoAllocationSampleFilter(Isolate* isolate)
+ : SampleFilter(isolate) {
+ }
+
+ bool FilterSample(Sample* sample) {
+ return !sample->is_allocation_sample();
+ }
+};
+
+
+void ProfilerService::PrintJSON(JSONStream* stream,
+ Profile::TagOrder tag_order) {
+ Isolate* isolate = Isolate::Current();
+ NoAllocationSampleFilter filter(isolate);
+ PrintJSONImpl(isolate, stream, tag_order, &filter);
+}
+
+
+class ClassAllocationSampleFilter : public SampleFilter {
+ public:
+ ClassAllocationSampleFilter(Isolate* isolate, const Class& cls)
+ : SampleFilter(isolate),
+ cls_(Class::Handle(cls.raw())) {
+ ASSERT(!cls_.IsNull());
+ }
+
+ bool FilterSample(Sample* sample) {
+ return sample->is_allocation_sample() &&
+ (sample->allocation_cid() == cls_.id());
+ }
+
+ private:
+ const Class& cls_;
+};
+
+
+void ProfilerService::PrintAllocationJSON(JSONStream* stream,
+ Profile::TagOrder tag_order,
+ const Class& cls) {
+ Isolate* isolate = Isolate::Current();
+ ClassAllocationSampleFilter filter(isolate, cls);
+ PrintJSONImpl(isolate, stream, tag_order, &filter);
+}
+
+
void ProfilerService::ClearSamples() {
Isolate* isolate = Isolate::Current();
diff --git a/runtime/vm/profiler_service.h b/runtime/vm/profiler_service.h
index d281a84..7990b4d 100644
--- a/runtime/vm/profiler_service.h
+++ b/runtime/vm/profiler_service.h
@@ -366,7 +366,17 @@
static void PrintJSON(JSONStream* stream,
Profile::TagOrder tag_order);
+ static void PrintAllocationJSON(JSONStream* stream,
+ Profile::TagOrder tag_order,
+ const Class& cls);
+
static void ClearSamples();
+
+ private:
+ static void PrintJSONImpl(Isolate* isolate,
+ JSONStream* stream,
+ Profile::TagOrder tag_order,
+ SampleFilter* filter);
};
} // namespace dart
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index cc967e7..3313d17 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -1164,7 +1164,8 @@
kStackVar = 1,
kContextVar,
kContextLevel,
- kSavedCurrentContext
+ kSavedCurrentContext,
+ kAsyncOperation
};
enum {
diff --git a/runtime/vm/scavenger.cc b/runtime/vm/scavenger.cc
index 2ad8e1f..ecf1ed0 100644
--- a/runtime/vm/scavenger.cc
+++ b/runtime/vm/scavenger.cc
@@ -871,7 +871,7 @@
}
-void Scavenger::PrintToJSONObject(JSONObject* object) {
+void Scavenger::PrintToJSONObject(JSONObject* object) const {
Isolate* isolate = Isolate::Current();
ASSERT(isolate != NULL);
JSONObject space(object, "new");
diff --git a/runtime/vm/scavenger.h b/runtime/vm/scavenger.h
index 508aabe..d1e9a24 100644
--- a/runtime/vm/scavenger.h
+++ b/runtime/vm/scavenger.h
@@ -211,7 +211,7 @@
return collections_;
}
- void PrintToJSONObject(JSONObject* object);
+ void PrintToJSONObject(JSONObject* object) const;
void AllocateExternal(intptr_t size);
void FreeExternal(intptr_t size);
diff --git a/runtime/vm/scopes.cc b/runtime/vm/scopes.cc
index 49601a1..0d4233a 100644
--- a/runtime/vm/scopes.cc
+++ b/runtime/vm/scopes.cc
@@ -249,6 +249,13 @@
}
+// The parser creates internal variables that start with ":"
+static bool IsInternalIdentifier(const String& str) {
+ ASSERT(str.Length() > 0);
+ return str.CharAt(0) == ':';
+}
+
+
RawLocalVarDescriptors* LocalScope::GetVarDescriptors(const Function& func) {
GrowableArray<VarDesc> vars(8);
// First enter all variables from scopes of outer functions.
@@ -257,9 +264,19 @@
if (!context_scope.IsNull()) {
ASSERT(func.IsLocalFunction());
for (int i = 0; i < context_scope.num_variables(); i++) {
+ String& name = String::Handle(context_scope.NameAt(i));
+ RawLocalVarDescriptors::VarInfoKind kind;
+ if (!IsInternalIdentifier(name)) {
+ kind = RawLocalVarDescriptors::kContextVar;
+ } else if (name.raw() == Symbols::AsyncOperation().raw()) {
+ kind = RawLocalVarDescriptors::kAsyncOperation;
+ } else {
+ continue;
+ }
+
VarDesc desc;
- desc.name = &String::Handle(context_scope.NameAt(i));
- desc.info.set_kind(RawLocalVarDescriptors::kContextVar);
+ desc.name = &name;
+ desc.info.set_kind(kind);
desc.info.scope_id = context_scope.ContextLevelAt(i);
desc.info.begin_pos = begin_token_pos();
desc.info.end_pos = end_token_pos();
@@ -284,13 +301,6 @@
}
-// The parser creates internal variables that start with ":"
-static bool IsInternalIdentifier(const String& str) {
- ASSERT(str.Length() > 0);
- return str.CharAt(0) == ':';
-}
-
-
// Add visible variables that are declared in this scope to vars, then
// collect visible variables of children, followed by siblings.
void LocalScope::CollectLocalVariables(GrowableArray<VarDesc>* vars,
@@ -337,6 +347,23 @@
desc.info.end_pos = 0;
desc.info.set_index(var->index());
vars->Add(desc);
+ } else if (var->name().raw() == Symbols::AsyncOperation().raw()) {
+ // The async continuation.
+ ASSERT(var->is_captured());
+ VarDesc desc;
+ desc.name = &var->name();
+ desc.info.set_kind(RawLocalVarDescriptors::kAsyncOperation);
+ if (var->is_captured()) {
+ ASSERT(var->owner() != NULL);
+ ASSERT(var->owner()->context_level() >= 0);
+ desc.info.scope_id = var->owner()->context_level();
+ } else {
+ desc.info.scope_id = *scope_id;
+ }
+ desc.info.begin_pos = 0;
+ desc.info.end_pos = 0;
+ desc.info.set_index(var->index());
+ vars->Add(desc);
}
}
}
diff --git a/runtime/vm/service.cc b/runtime/vm/service.cc
index 4cbc5dd..e68727a 100644
--- a/runtime/vm/service.cc
+++ b/runtime/vm/service.cc
@@ -5,6 +5,7 @@
#include "vm/service.h"
#include "include/dart_api.h"
+#include "include/dart_native_api.h"
#include "platform/globals.h"
#include "vm/compiler.h"
@@ -74,32 +75,46 @@
struct ServiceMethodDescriptor;
ServiceMethodDescriptor* FindMethod(const char* method_name);
-// TODO(turnidge): Build a general framework later. For now, we have
-// a small set of well-known streams.
-bool Service::needs_isolate_events_ = false;
-bool Service::needs_debug_events_ = false;
-bool Service::needs_gc_events_ = false;
-bool Service::needs_echo_events_ = false;
-bool Service::needs_graph_events_ = false;
-void Service::ListenStream(const char* stream_id) {
+// Support for streams defined in embedders.
+Dart_ServiceStreamListenCallback Service::stream_listen_callback_ = NULL;
+Dart_ServiceStreamCancelCallback Service::stream_cancel_callback_ = NULL;
+
+
+// These are the set of streams known to the core VM.
+StreamInfo Service::isolate_stream("Isolate");
+StreamInfo Service::debug_stream("Debug");
+StreamInfo Service::gc_stream("GC");
+StreamInfo Service::echo_stream("_Echo");
+StreamInfo Service::graph_stream("_Graph");
+
+
+static StreamInfo* streams_[] = {
+ &Service::isolate_stream,
+ &Service::debug_stream,
+ &Service::gc_stream,
+ &Service::echo_stream,
+ &Service::graph_stream,
+};
+
+
+bool Service::ListenStream(const char* stream_id) {
if (FLAG_trace_service) {
OS::Print("vm-service: starting stream '%s'\n",
stream_id);
}
- if (strcmp(stream_id, "Isolate") == 0) {
- needs_isolate_events_ = true;
- } else if (strcmp(stream_id, "Debug") == 0) {
- needs_debug_events_ = true;
- } else if (strcmp(stream_id, "GC") == 0) {
- needs_gc_events_ = true;
- } else if (strcmp(stream_id, "_Echo") == 0) {
- needs_echo_events_ = true;
- } else if (strcmp(stream_id, "_Graph") == 0) {
- needs_graph_events_ = true;
- } else {
- UNREACHABLE();
+ intptr_t num_streams = sizeof(streams_) /
+ sizeof(streams_[0]);
+ for (intptr_t i = 0; i < num_streams; i++) {
+ if (strcmp(stream_id, streams_[i]->id()) == 0) {
+ streams_[i]->set_enabled(true);
+ return true;
+ }
}
+ if (stream_listen_callback_) {
+ return (*stream_listen_callback_)(stream_id);
+ }
+ return false;
}
void Service::CancelStream(const char* stream_id) {
@@ -107,18 +122,16 @@
OS::Print("vm-service: stopping stream '%s'\n",
stream_id);
}
- if (strcmp(stream_id, "Isolate") == 0) {
- needs_isolate_events_ = false;
- } else if (strcmp(stream_id, "Debug") == 0) {
- needs_debug_events_ = false;
- } else if (strcmp(stream_id, "GC") == 0) {
- needs_gc_events_ = false;
- } else if (strcmp(stream_id, "_Echo") == 0) {
- needs_echo_events_ = false;
- } else if (strcmp(stream_id, "_Graph") == 0) {
- needs_graph_events_ = false;
- } else {
- UNREACHABLE();
+ intptr_t num_streams = sizeof(streams_) /
+ sizeof(streams_[0]);
+ for (intptr_t i = 0; i < num_streams; i++) {
+ if (strcmp(stream_id, streams_[i]->id()) == 0) {
+ streams_[i]->set_enabled(false);
+ return;
+ }
+ }
+ if (stream_cancel_callback_) {
+ return (*stream_cancel_callback_)(stream_id);
}
}
@@ -259,6 +272,48 @@
}
+// Verifies that |s| begins with |prefix| and then calls |GetIntegerId| on
+// the remainder of |s|.
+static bool GetPrefixedIntegerId(const char* s,
+ const char* prefix,
+ intptr_t* service_id) {
+ if (s == NULL) {
+ return false;
+ }
+ ASSERT(prefix != NULL);
+ const intptr_t kInputLen = strlen(s);
+ const intptr_t kPrefixLen = strlen(prefix);
+ ASSERT(kPrefixLen > 0);
+ if (kInputLen <= kPrefixLen) {
+ return false;
+ }
+ if (strncmp(s, prefix, kPrefixLen) != 0) {
+ return false;
+ }
+ // Prefix satisfied. Move forward.
+ s += kPrefixLen;
+ // Attempt to read integer id.
+ return GetIntegerId(s, service_id);
+}
+
+
+static bool IsValidClassId(Isolate* isolate, intptr_t cid) {
+ ASSERT(isolate != NULL);
+ ClassTable* class_table = isolate->class_table();
+ ASSERT(class_table != NULL);
+ return class_table->IsValidIndex(cid) && class_table->HasValidClassAt(cid);
+}
+
+
+static RawClass* GetClassForId(Isolate* isolate, intptr_t cid) {
+ ASSERT(isolate == Isolate::Current());
+ ASSERT(isolate != NULL);
+ ClassTable* class_table = isolate->class_table();
+ ASSERT(class_table != NULL);
+ return class_table->At(cid);
+}
+
+
// TODO(johnmccutchan): Split into separate file and write unit tests.
class MethodParameter {
public:
@@ -342,6 +397,9 @@
}
static intptr_t Parse(const char* value) {
+ if (value == NULL) {
+ return -1;
+ }
char* end_ptr = NULL;
uintptr_t result = strtoul(value, &end_ptr, 10);
ASSERT(*end_ptr == '\0'); // Parsed full string
@@ -578,6 +636,7 @@
}
+// TODO(turnidge): Rewrite this method to use Post_CObject instead.
void Service::SendEventWithData(const char* stream_id,
const char* event_type,
const String& meta,
@@ -613,6 +672,9 @@
if (ServiceIsolate::IsServiceIsolateDescendant(event->isolate())) {
return;
}
+ if (!ServiceIsolate::IsRunning()) {
+ return;
+ }
JSONStream js;
const char* stream_id = event->stream_id();
ASSERT(stream_id != NULL);
@@ -621,9 +683,35 @@
jsobj.AddProperty("event", event);
jsobj.AddProperty("streamId", stream_id);
}
- const String& message = String::Handle(String::New(js.ToCString()));
- SendEvent(stream_id, ServiceEvent::EventTypeToCString(event->type()),
- message);
+
+ // Message is of the format [<stream id>, <json string>].
+ //
+ // Build the event message in the C heap to avoid dart heap
+ // allocation. This method can be called while we have acquired a
+ // direct pointer to typed data, so we can't allocate here.
+ Dart_CObject list_cobj;
+ Dart_CObject* list_values[2];
+ list_cobj.type = Dart_CObject_kArray;
+ list_cobj.value.as_array.length = 2;
+ list_cobj.value.as_array.values = list_values;
+
+ Dart_CObject stream_id_cobj;
+ stream_id_cobj.type = Dart_CObject_kString;
+ stream_id_cobj.value.as_string = const_cast<char*>(stream_id);
+ list_values[0] = &stream_id_cobj;
+
+ Dart_CObject json_cobj;
+ json_cobj.type = Dart_CObject_kString;
+ json_cobj.value.as_string = const_cast<char*>(js.ToCString());
+ list_values[1] = &json_cobj;
+
+ if (FLAG_trace_service) {
+ OS::Print(
+ "vm-service: Pushing event of type %s to stream %s\n",
+ event->KindAsCString(), stream_id);
+ }
+
+ Dart_PostCObject(ServiceIsolate::Port(), &list_cobj);
}
@@ -747,6 +835,14 @@
}
+void Service::SetEmbedderStreamCallbacks(
+ Dart_ServiceStreamListenCallback listen_callback,
+ Dart_ServiceStreamCancelCallback cancel_callback) {
+ stream_listen_callback_ = listen_callback;
+ stream_cancel_callback_ = cancel_callback;
+}
+
+
EmbedderServiceHandler* Service::FindRootEmbedderHandler(
const char* name) {
EmbedderServiceHandler* current = root_service_handler_head_;
@@ -830,16 +926,16 @@
event.AddProperty("text", text);
}
}
- jsobj.AddProperty("streamId", "_Echo");
+ jsobj.AddProperty("streamId", echo_stream.id());
}
const String& message = String::Handle(String::New(js.ToCString()));
uint8_t data[] = {0, 128, 255};
- SendEventWithData("_Echo", "_Echo", message, data, sizeof(data));
+ SendEventWithData(echo_stream.id(), "_Echo", message, data, sizeof(data));
}
static bool TriggerEchoEvent(Isolate* isolate, JSONStream* js) {
- if (Service::NeedsEchoEvents()) {
+ if (Service::echo_stream.enabled()) {
Service::SendEchoEvent(isolate, js->LookupParam("text"));
}
JSONObject jsobj(js);
@@ -2145,7 +2241,7 @@
const char* step_param = js->LookupParam("step");
if (isolate->message_handler()->paused_on_start()) {
isolate->message_handler()->set_pause_on_start(false);
- if (Service::NeedsDebugEvents()) {
+ if (Service::debug_stream.enabled()) {
ServiceEvent event(isolate, ServiceEvent::kResume);
Service::HandleEvent(&event);
}
@@ -2236,6 +2332,7 @@
};
+// TODO(johnmccutchan): Rename this to GetCpuSamples.
static bool GetCpuProfile(Isolate* isolate, JSONStream* js) {
Profile::TagOrder tag_order =
EnumMapper(js->LookupParam("tags"), tags_enum_names, tags_enum_values);
@@ -2244,6 +2341,30 @@
}
+static const MethodParameter* get_allocation_samples_params[] = {
+ ISOLATE_PARAMETER,
+ new EnumParameter("tags", true, tags_enum_names),
+ new IdParameter("classId", false),
+ NULL,
+};
+
+
+static bool GetAllocationSamples(Isolate* isolate, JSONStream* js) {
+ Profile::TagOrder tag_order =
+ EnumMapper(js->LookupParam("tags"), tags_enum_names, tags_enum_values);
+ const char* class_id = js->LookupParam("classId");
+ intptr_t cid = -1;
+ GetPrefixedIntegerId(class_id, "classes/", &cid);
+ if (IsValidClassId(isolate, cid)) {
+ const Class& cls = Class::Handle(GetClassForId(isolate, cid));
+ ProfilerService::PrintAllocationJSON(js, tag_order, cls);
+ } else {
+ PrintInvalidParamError(js, "classId");
+ }
+ return true;
+}
+
+
static const MethodParameter* clear_cpu_profile_params[] = {
ISOLATE_PARAMETER,
NULL,
@@ -2314,7 +2435,7 @@
static bool RequestHeapSnapshot(Isolate* isolate, JSONStream* js) {
- if (Service::NeedsGraphEvents()) {
+ if (Service::graph_stream.enabled()) {
Service::SendGraphEvent(isolate);
}
// TODO(koda): Provide some id that ties this request to async response(s).
@@ -2349,7 +2470,7 @@
event.AddProperty("chunkCount", num_chunks);
event.AddProperty("nodeCount", node_count);
}
- jsobj.AddProperty("streamId", "_Graph");
+ jsobj.AddProperty("streamId", graph_stream.id());
}
const String& message = String::Handle(String::New(js.ToCString()));
@@ -2359,13 +2480,14 @@
? stream.bytes_written() - (i * kChunkSize)
: kChunkSize;
- SendEventWithData("_Graph", "_Graph", message, chunk_start, chunk_size);
+ SendEventWithData(graph_stream.id(), "_Graph", message,
+ chunk_start, chunk_size);
}
}
void Service::SendInspectEvent(Isolate* isolate, const Object& inspectee) {
- if (!Service::NeedsDebugEvents()) {
+ if (!Service::debug_stream.enabled()) {
return;
}
ServiceEvent event(isolate, ServiceEvent::kInspect);
@@ -2374,6 +2496,22 @@
}
+void Service::SendEmbedderEvent(Isolate* isolate,
+ const char* stream_id,
+ const char* event_kind,
+ const uint8_t* bytes,
+ intptr_t bytes_len) {
+ if (!Service::debug_stream.enabled()) {
+ return;
+ }
+ ServiceEvent event(isolate, ServiceEvent::kEmbedder);
+ event.set_embedder_kind(event_kind);
+ event.set_embedder_stream_id(stream_id);
+ event.set_bytes(bytes, bytes_len);
+ Service::HandleEvent(&event);
+}
+
+
class ContainsAddressVisitor : public FindObjectVisitor {
public:
ContainsAddressVisitor(Isolate* isolate, uword addr)
@@ -2656,7 +2794,7 @@
}
isolate->debugger()->SetExceptionPauseInfo(info);
- if (Service::NeedsDebugEvents()) {
+ if (Service::debug_stream.enabled()) {
ServiceEvent event(isolate, ServiceEvent::kDebuggerSettingsUpdate);
Service::HandleEvent(&event);
}
@@ -2742,7 +2880,7 @@
static bool SetName(Isolate* isolate, JSONStream* js) {
isolate->set_debugger_name(js->LookupParam("name"));
- if (Service::NeedsIsolateEvents()) {
+ if (Service::isolate_stream.enabled()) {
ServiceEvent event(isolate, ServiceEvent::kIsolateUpdate);
Service::HandleEvent(&event);
}
@@ -2751,6 +2889,31 @@
}
+static const MethodParameter* set_trace_class_allocation_params[] = {
+ ISOLATE_PARAMETER,
+ new IdParameter("classId", true),
+ new BoolParameter("enable", true),
+ NULL,
+};
+
+
+static bool SetTraceClassAllocation(Isolate* isolate, JSONStream* js) {
+ const char* class_id = js->LookupParam("classId");
+ const bool enable = BoolParameter::Parse(js->LookupParam("enable"));
+ intptr_t cid = -1;
+ GetPrefixedIntegerId(class_id, "classes/", &cid);
+ if (!IsValidClassId(isolate, cid)) {
+ PrintInvalidParamError(js, "classId");
+ return true;
+ }
+ const Class& cls = Class::Handle(GetClassForId(isolate, cid));
+ ASSERT(!cls.IsNull());
+ cls.SetTraceAllocation(enable);
+ PrintSuccess(js);
+ return true;
+}
+
+
static ServiceMethodDescriptor service_methods_[] = {
{ "_dumpIdZone", DumpIdZone, NULL },
{ "_echo", Echo,
@@ -2775,6 +2938,8 @@
evaluate_in_frame_params },
{ "_getAllocationProfile", GetAllocationProfile,
get_allocation_profile_params },
+ { "_getAllocationSamples", GetAllocationSamples,
+ get_allocation_samples_params },
{ "_getCallSiteData", GetCallSiteData,
get_call_site_data_params },
{ "getClassList", GetClassList,
@@ -2837,6 +3002,8 @@
set_library_debuggable_params },
{ "setName", SetName,
set_name_params },
+ { "_setTraceClassAllocation", SetTraceClassAllocation,
+ set_trace_class_allocation_params },
};
diff --git a/runtime/vm/service.h b/runtime/vm/service.h
index 85c607f..9e253403 100644
--- a/runtime/vm/service.h
+++ b/runtime/vm/service.h
@@ -59,6 +59,21 @@
};
+class StreamInfo {
+ public:
+ explicit StreamInfo(const char* id) : id_(id), enabled_(false) {}
+
+ const char* id() { return id_; }
+
+ void set_enabled(bool value) { enabled_ = value; }
+ bool enabled() { return enabled_; }
+
+ private:
+ const char* id_;
+ bool enabled_;
+};
+
+
class Service : public AllStatic {
public:
// Handles a message which is not directed to an isolate.
@@ -67,15 +82,6 @@
// Handles a message which is directed to a particular isolate.
static void HandleIsolateMessage(Isolate* isolate, const Array& message);
- static bool NeedsIsolateEvents() { return needs_isolate_events_; }
- static bool NeedsDebugEvents() { return needs_debug_events_; }
- static bool NeedsGCEvents() { return needs_gc_events_; }
- static bool NeedsEchoEvents() { return needs_echo_events_; }
- static bool NeedsGraphEvents() { return needs_graph_events_; }
-
- static void ListenStream(const char* stream_id);
- static void CancelStream(const char* stream_id);
-
static void HandleEvent(ServiceEvent* event);
static void RegisterIsolateEmbedderCallback(
@@ -88,10 +94,37 @@
Dart_ServiceRequestCallback callback,
void* user_data);
+ static void SetEmbedderStreamCallbacks(
+ Dart_ServiceStreamListenCallback listen_callback,
+ Dart_ServiceStreamCancelCallback cancel_callback);
+
static void SendEchoEvent(Isolate* isolate, const char* text);
static void SendGraphEvent(Isolate* isolate);
static void SendInspectEvent(Isolate* isolate, const Object& inspectee);
+ static void SendEmbedderEvent(Isolate* isolate,
+ const char* stream_id,
+ const char* event_kind,
+ const uint8_t* bytes,
+ intptr_t bytes_len);
+
+ // Well-known streams.
+ static StreamInfo isolate_stream;
+ static StreamInfo debug_stream;
+ static StreamInfo gc_stream;
+ static StreamInfo echo_stream;
+ static StreamInfo graph_stream;
+
+ static bool ListenStream(const char* stream_id);
+ static void CancelStream(const char* stream_id);
+
+ static Dart_ServiceStreamListenCallback stream_listen_callback() {
+ return stream_listen_callback_;
+ }
+ static Dart_ServiceStreamCancelCallback stream_cancel_callback() {
+ return stream_cancel_callback_;
+ }
+
private:
static void InvokeMethod(Isolate* isolate, const Array& message);
@@ -113,6 +146,8 @@
static EmbedderServiceHandler* isolate_service_handler_head_;
static EmbedderServiceHandler* root_service_handler_head_;
+ static Dart_ServiceStreamListenCallback stream_listen_callback_;
+ static Dart_ServiceStreamCancelCallback stream_cancel_callback_;
static bool needs_isolate_events_;
static bool needs_debug_events_;
diff --git a/runtime/vm/service/service.md b/runtime/vm/service/service.md
index f0bbf8f..338cc8e 100644
--- a/runtime/vm/service/service.md
+++ b/runtime/vm/service/service.md
@@ -620,6 +620,15 @@
Debug | PauseStart, PauseExit, PauseBreakpoint, PauseInterrupted, PauseException, Resume, BreakpointAdded, BreakpointResolved, BreakpointRemoved, Inspect
GC | GC
+Additionally, some embedders provide the _Stdout_ and _Stderr_
+streams. These streams allow the client to subscribe to writes to
+stdout and stderr.
+
+streamId | event types provided
+-------- | -----------
+Stdout | WriteEvent
+Stderr | WriteEvent
+
It is considered a _backwards compatible_ change to add a new type of event to an existing stream.
Clients should be written to handle this gracefully, perhaps by warning and ignoring.
@@ -992,6 +1001,11 @@
// The exception associated with this event, if this is a
// PauseException event.
@Instance exception [optional];
+
+ // An array of bytes, encoded as a base64 string.
+ //
+ // This is provided for the WriteEvent event.
+ string bytes [optional];
}
```
@@ -1044,7 +1058,10 @@
BreakpointRemoved,
// A garbage collection event.
- GC
+ GC,
+
+ // Notification of bytes written, for example, to stdout/stderr.
+ WriteEvent
}
```
diff --git a/runtime/vm/service/vmservice.dart b/runtime/vm/service/vmservice.dart
index 1959cec..e6889bb 100644
--- a/runtime/vm/service/vmservice.dart
+++ b/runtime/vm/service/vmservice.dart
@@ -178,11 +178,6 @@
return JSON.encode(response);
}
- bool _isValidStream(String streamId) {
- final validStreams = [ 'Isolate', 'Debug', 'GC', '_Echo', '_Graph' ];
- return validStreams.contains(streamId);
- }
-
bool _isAnyClientSubscribed(String streamId) {
for (var client in clients) {
if (client.streams.contains(streamId)) {
@@ -196,16 +191,15 @@
var client = message.client;
var streamId = message.params['streamId'];
- if (!_isValidStream(streamId)) {
- return _encodeError(
- message, _kInvalidParams,
- details:"streamListen: invalid 'streamId' parameter: ${streamId}");
- }
if (client.streams.contains(streamId)) {
return _encodeError(message, _kStreamAlreadySubscribed);
}
if (!_isAnyClientSubscribed(streamId)) {
- _vmListenStream(streamId);
+ if (!_vmListenStream(streamId)) {
+ return _encodeError(
+ message, _kInvalidParams,
+ details:"streamListen: invalid 'streamId' parameter: ${streamId}");
+ }
}
client.streams.add(streamId);
@@ -217,11 +211,6 @@
var client = message.client;
var streamId = message.params['streamId'];
- if (!_isValidStream(streamId)) {
- return _encodeError(
- message, _kInvalidParams,
- details:"streamCancel: invalid 'streamId' parameter: ${streamId}");
- }
if (!client.streams.contains(streamId)) {
return _encodeError(message, _kStreamNotSubscribed);
}
@@ -331,6 +320,6 @@
void _onExit() native "VMService_OnExit";
-void _vmListenStream(String streamId) native "VMService_ListenStream";
+bool _vmListenStream(String streamId) native "VMService_ListenStream";
void _vmCancelStream(String streamId) native "VMService_CancelStream";
diff --git a/runtime/vm/service_event.cc b/runtime/vm/service_event.cc
index 4b75a16..a53ace2 100644
--- a/runtime/vm/service_event.cc
+++ b/runtime/vm/service_event.cc
@@ -7,9 +7,9 @@
namespace dart {
// Translate from the legacy DebugEvent to a ServiceEvent.
-static ServiceEvent::EventType TranslateEventType(
- DebuggerEvent::EventType type) {
- switch (type) {
+static ServiceEvent::EventKind TranslateEventKind(
+ DebuggerEvent::EventType kind) {
+ switch (kind) {
case DebuggerEvent::kIsolateCreated:
return ServiceEvent::kIsolateStart;
@@ -24,7 +24,6 @@
case DebuggerEvent::kExceptionThrown:
return ServiceEvent::kPauseException;
-
default:
UNREACHABLE();
return ServiceEvent::kIllegal;
@@ -33,15 +32,19 @@
ServiceEvent::ServiceEvent(const DebuggerEvent* debugger_event)
: isolate_(debugger_event->isolate()),
- type_(TranslateEventType(debugger_event->type())),
+ kind_(TranslateEventKind(debugger_event->type())),
breakpoint_(NULL),
top_frame_(NULL),
exception_(NULL),
+ async_continuation_(NULL),
inspectee_(NULL),
- gc_stats_(NULL) {
+ gc_stats_(NULL),
+ bytes_(NULL),
+ bytes_length_(0) {
DebuggerEvent::EventType type = debugger_event->type();
if (type == DebuggerEvent::kBreakpointReached) {
set_breakpoint(debugger_event->breakpoint());
+ set_async_continuation(debugger_event->async_continuation());
}
if (type == DebuggerEvent::kExceptionThrown) {
set_exception(debugger_event->exception());
@@ -54,8 +57,8 @@
}
-const char* ServiceEvent::EventTypeToCString(EventType type) {
- switch (type) {
+const char* ServiceEvent::KindAsCString() const {
+ switch (kind()) {
case kIsolateStart:
return "IsolateStart";
case kIsolateExit:
@@ -84,6 +87,8 @@
return "GC"; // TODO(koda): Change to GarbageCollected.
case kInspect:
return "Inspect";
+ case kEmbedder:
+ return embedder_kind();
case kDebuggerSettingsUpdate:
return "_DebuggerSettingsUpdate";
case kIllegal:
@@ -96,11 +101,11 @@
const char* ServiceEvent::stream_id() const {
- switch (type()) {
+ switch (kind()) {
case kIsolateStart:
case kIsolateExit:
case kIsolateUpdate:
- return "Isolate";
+ return Service::isolate_stream.id();
case kPauseStart:
case kPauseExit:
@@ -113,10 +118,13 @@
case kBreakpointRemoved:
case kInspect:
case kDebuggerSettingsUpdate:
- return "Debug";
+ return Service::debug_stream.id();
case kGC:
- return "GC";
+ return Service::gc_stream.id();
+
+ case kEmbedder:
+ return embedder_stream_id_;
default:
UNREACHABLE();
@@ -128,9 +136,9 @@
void ServiceEvent::PrintJSON(JSONStream* js) const {
JSONObject jsobj(js);
jsobj.AddProperty("type", "Event");
- jsobj.AddProperty("kind", EventTypeToCString(type()));
+ jsobj.AddProperty("kind", KindAsCString());
jsobj.AddProperty("isolate", isolate());
- if (type() == kPauseBreakpoint) {
+ if (kind() == kPauseBreakpoint) {
JSONArray jsarr(&jsobj, "pauseBreakpoints");
// TODO(rmacnak): If we are paused at more than one breakpoint,
// provide it here.
@@ -142,7 +150,7 @@
jsobj.AddProperty("breakpoint", breakpoint());
}
}
- if (type() == kDebuggerSettingsUpdate) {
+ if (kind() == kDebuggerSettingsUpdate) {
JSONObject jssettings(&jsobj, "_debuggerSettings");
isolate()->debugger()->PrintSettingsToJSONObject(&jssettings);
}
@@ -155,6 +163,9 @@
if (exception() != NULL) {
jsobj.AddProperty("exception", *(exception()));
}
+ if (async_continuation() != NULL) {
+ jsobj.AddProperty("_asyncContinuation", *(async_continuation()));
+ }
if (inspectee() != NULL) {
jsobj.AddProperty("inspectee", *(inspectee()));
}
@@ -163,6 +174,9 @@
isolate()->heap()->PrintToJSONObject(Heap::kNew, &jsobj);
isolate()->heap()->PrintToJSONObject(Heap::kOld, &jsobj);
}
+ if (bytes() != NULL) {
+ jsobj.AddPropertyBase64("bytes", bytes(), bytes_length());
+ }
}
} // namespace dart
diff --git a/runtime/vm/service_event.h b/runtime/vm/service_event.h
index 7a5a8ba..8f81da5 100644
--- a/runtime/vm/service_event.h
+++ b/runtime/vm/service_event.h
@@ -13,7 +13,7 @@
class ServiceEvent {
public:
- enum EventType {
+ enum EventKind {
kIsolateStart, // New isolate has started
kIsolateExit, // Isolate has exited
kIsolateUpdate, // Isolate identity information has changed
@@ -32,34 +32,53 @@
kGC,
+ kEmbedder,
+
kIllegal,
};
- ServiceEvent(Isolate* isolate, EventType event_type)
+ ServiceEvent(Isolate* isolate, EventKind event_kind)
: isolate_(isolate),
- type_(event_type),
+ kind_(event_kind),
+ embedder_kind_(NULL),
+ embedder_stream_id_(NULL),
breakpoint_(NULL),
top_frame_(NULL),
exception_(NULL),
+ async_continuation_(NULL),
inspectee_(NULL),
- gc_stats_(NULL) {}
+ gc_stats_(NULL),
+ bytes_(NULL),
+ bytes_length_(0) {}
explicit ServiceEvent(const DebuggerEvent* debugger_event);
Isolate* isolate() const { return isolate_; }
- EventType type() const { return type_; }
+ EventKind kind() const { return kind_; }
+
+ const char* embedder_kind() const { return embedder_kind_; }
+
+ const char* KindAsCString() const;
+
+ void set_embedder_kind(const char* embedder_kind) {
+ embedder_kind_ = embedder_kind;
+ }
const char* stream_id() const;
+ void set_embedder_stream_id(const char* stream_id) {
+ embedder_stream_id_ = stream_id;
+ }
+
Breakpoint* breakpoint() const {
return breakpoint_;
}
void set_breakpoint(Breakpoint* bpt) {
- ASSERT(type() == kPauseBreakpoint ||
- type() == kBreakpointAdded ||
- type() == kBreakpointResolved ||
- type() == kBreakpointRemoved);
+ ASSERT(kind() == kPauseBreakpoint ||
+ kind() == kBreakpointAdded ||
+ kind() == kBreakpointResolved ||
+ kind() == kBreakpointRemoved);
breakpoint_ = bpt;
}
@@ -67,10 +86,10 @@
return top_frame_;
}
void set_top_frame(ActivationFrame* frame) {
- ASSERT(type() == kPauseBreakpoint ||
- type() == kPauseInterrupted ||
- type() == kPauseException ||
- type() == kResume);
+ ASSERT(kind() == kPauseBreakpoint ||
+ kind() == kPauseInterrupted ||
+ kind() == kPauseException ||
+ kind() == kResume);
top_frame_ = frame;
}
@@ -78,15 +97,23 @@
return exception_;
}
void set_exception(const Object* exception) {
- ASSERT(type_ == kPauseException);
+ ASSERT(kind_ == kPauseException);
exception_ = exception;
}
+ const Object* async_continuation() const {
+ return async_continuation_;
+ }
+ void set_async_continuation(const Object* closure) {
+ ASSERT(kind_ == kPauseBreakpoint);
+ async_continuation_ = closure;
+ }
+
const Object* inspectee() const {
return inspectee_;
}
void set_inspectee(const Object* inspectee) {
- ASSERT(type_ == kInspect);
+ ASSERT(kind_ == kInspect);
inspectee_ = inspectee;
}
@@ -98,18 +125,34 @@
gc_stats_ = gc_stats;
}
- void PrintJSON(JSONStream* js) const;
+ const uint8_t* bytes() const {
+ return bytes_;
+ }
- static const char* EventTypeToCString(EventType type);
+ intptr_t bytes_length() const {
+ return bytes_length_;
+ }
+
+ void set_bytes(const uint8_t* bytes, intptr_t bytes_length) {
+ bytes_ = bytes;
+ bytes_length_ = bytes_length;
+ }
+
+ void PrintJSON(JSONStream* js) const;
private:
Isolate* isolate_;
- EventType type_;
+ EventKind kind_;
+ const char* embedder_kind_;
+ const char* embedder_stream_id_;
Breakpoint* breakpoint_;
ActivationFrame* top_frame_;
const Object* exception_;
+ const Object* async_continuation_;
const Object* inspectee_;
const Heap::GCStats* gc_stats_;
+ const uint8_t* bytes_;
+ intptr_t bytes_length_;
};
} // namespace dart
diff --git a/runtime/vm/service_isolate.cc b/runtime/vm/service_isolate.cc
index 3126678..3779905 100644
--- a/runtime/vm/service_isolate.cc
+++ b/runtime/vm/service_isolate.cc
@@ -304,7 +304,8 @@
Zone* zone = stack_zone.GetZone(); // Used by GET_NON_NULL_NATIVE_ARGUMENT.
HANDLESCOPE(isolate);
GET_NON_NULL_NATIVE_ARGUMENT(String, stream_id, arguments->NativeArgAt(0));
- Service::ListenStream(stream_id.ToCString());
+ bool result = Service::ListenStream(stream_id.ToCString());
+ arguments->SetReturn(Bool::Get(result));
}
static void CancelStream(Dart_NativeArguments args) {
diff --git a/runtime/vm/snapshot.cc b/runtime/vm/snapshot.cc
index 1d6651e..a566bc9 100644
--- a/runtime/vm/snapshot.cc
+++ b/runtime/vm/snapshot.cc
@@ -191,7 +191,8 @@
typed_data_(TypedData::Handle(isolate)),
error_(UnhandledException::Handle(isolate)),
max_vm_isolate_object_id_(
- Object::vm_isolate_snapshot_object_table().Length()),
+ (kind == Snapshot::kFull) ?
+ Object::vm_isolate_snapshot_object_table().Length() : 0),
backward_references_(backward_refs) {
}
@@ -2266,7 +2267,7 @@
kInitialSize,
&forward_list_,
true),
- forward_list_(SnapshotWriter::FirstObjectId()) {
+ forward_list_(kMaxPredefinedObjectIds) {
ASSERT(buffer != NULL);
ASSERT(alloc != NULL);
}
@@ -2324,7 +2325,7 @@
kInitialSize,
&forward_list_,
can_send_any_object),
- forward_list_(SnapshotWriter::FirstObjectId()) {
+ forward_list_(kMaxPredefinedObjectIds) {
ASSERT(buffer != NULL);
ASSERT(alloc != NULL);
}
diff --git a/runtime/vm/snapshot_test.cc b/runtime/vm/snapshot_test.cc
index b314513..23c687a 100644
--- a/runtime/vm/snapshot_test.cc
+++ b/runtime/vm/snapshot_test.cc
@@ -863,7 +863,7 @@
kInitialSize,
&forward_list_,
true),
- forward_list_(SnapshotWriter::FirstObjectId()) {
+ forward_list_(kMaxPredefinedObjectIds) {
ASSERT(buffer != NULL);
ASSERT(alloc != NULL);
}
@@ -1582,8 +1582,7 @@
ApiNativeScope scope;
ApiMessageReader api_reader(buffer,
writer.BytesWritten(),
- &zone_allocator,
- false);
+ &zone_allocator);
Dart_CObject* root = api_reader.ReadMessage();
EXPECT_EQ(Dart_CObject_kArray, root->type);
EXPECT_EQ(kArrayLength, root->value.as_array.length);
diff --git a/runtime/vm/stub_code.h b/runtime/vm/stub_code.h
index cf25bba..b383478 100644
--- a/runtime/vm/stub_code.h
+++ b/runtime/vm/stub_code.h
@@ -57,6 +57,7 @@
V(Subtype1TestCache) \
V(Subtype2TestCache) \
V(Subtype3TestCache) \
+ V(AllocateContext) \
// Is it permitted for the stubs above to refer to Object::null(), which is
// allocated in the VM isolate and shared across all isolates.
@@ -68,7 +69,6 @@
// embedded objects and hence cannot be shared across isolates.
#define STUB_CODE_LIST(V) \
V(CallClosureNoSuchMethod) \
- V(AllocateContext) \
// class StubEntry is used to describe stub methods generated in dart to
diff --git a/runtime/vm/stub_code_arm.cc b/runtime/vm/stub_code_arm.cc
index 1337934..5d270ce 100644
--- a/runtime/vm/stub_code_arm.cc
+++ b/runtime/vm/stub_code_arm.cc
@@ -665,7 +665,7 @@
Heap* heap = isolate->heap();
const intptr_t cid = kArrayCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
+ Heap::Space space = Heap::SpaceForAllocation(cid);
__ LoadImmediate(R6, heap->TopAddress(space));
__ ldr(R0, Address(R6, 0)); // Potential new object start.
__ adds(R7, R0, Operand(R9)); // Potential next object start.
@@ -730,7 +730,7 @@
__ mov(R5, Operand(R4));
__ AddImmediate(R6, R0, sizeof(RawArray) - kHeapObjectTag);
__ InitializeFieldsNoBarrier(R0, R6, R7, R4, R5);
- __ IncrementAllocationStatsWithSize(R3, R9, cid, space);
+ __ IncrementAllocationStatsWithSize(R3, R9, space);
__ Ret(); // Returns the newly allocated object in R0.
// Unable to allocate the array using the fast inline code, just call
// into the runtime.
@@ -878,7 +878,6 @@
void StubCode::GenerateAllocateContextStub(Assembler* assembler) {
if (FLAG_inline_alloc) {
Label slow_case;
- Heap* heap = Isolate::Current()->heap();
// First compute the rounded instance size.
// R1: number of context variables.
intptr_t fixed_size = sizeof(RawContext) + kObjectAlignment - 1;
@@ -891,18 +890,18 @@
// R1: number of context variables.
// R2: object size.
const intptr_t cid = kContextCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
- __ LoadImmediate(R5, heap->TopAddress(space));
- __ ldr(R0, Address(R5, 0));
+ Heap::Space space = Heap::SpaceForAllocation(cid);
+ __ LoadIsolate(R5);
+ __ ldr(R5, Address(R5, Isolate::heap_offset()));
+ __ ldr(R0, Address(R5, Heap::TopOffset(space)));
__ add(R3, R2, Operand(R0));
// Check if the allocation fits into the remaining space.
// R0: potential new object.
// R1: number of context variables.
// R2: object size.
// R3: potential next object start.
- // R5: top address.
- __ LoadImmediate(IP, heap->EndAddress(space));
- __ ldr(IP, Address(IP, 0));
+ // R5: heap.
+ __ ldr(IP, Address(R5, Heap::EndOffset(space)));
__ cmp(R3, Operand(IP));
if (FLAG_use_slow_path) {
__ b(&slow_case);
@@ -916,9 +915,9 @@
// R1: number of context variables.
// R2: object size.
// R3: next object start.
- // R5: top address.
- __ LoadAllocationStatsAddress(R6, cid);
- __ str(R3, Address(R5, 0));
+ // R5: heap.
+ __ LoadAllocationStatsAddress(R6, cid, /* inline_isolate = */ false);
+ __ str(R3, Address(R5, Heap::TopOffset(space)));
__ add(R0, R0, Operand(kHeapObjectTag));
// Calculate the size tag.
@@ -967,7 +966,7 @@
Label loop;
__ AddImmediate(R7, R0, Context::variable_offset(0) - kHeapObjectTag);
__ InitializeFieldsNoBarrier(R0, R7, R3, R4, R5);
- __ IncrementAllocationStatsWithSize(R6, R2, cid, space);
+ __ IncrementAllocationStatsWithSize(R6, R2, space);
// Done allocating and initializing the context.
// R0: new object.
@@ -1093,7 +1092,7 @@
// Allocate the object and update top to point to
// next object start and initialize the allocated object.
Heap* heap = Isolate::Current()->heap();
- Heap::Space space = heap->SpaceForAllocation(cls.id());
+ Heap::Space space = Heap::SpaceForAllocation(cls.id());
__ LoadImmediate(R5, heap->TopAddress(space));
__ ldr(R0, Address(R5, 0));
__ AddImmediate(R1, R0, instance_size);
diff --git a/runtime/vm/stub_code_arm64.cc b/runtime/vm/stub_code_arm64.cc
index 672a82b..007bfe9 100644
--- a/runtime/vm/stub_code_arm64.cc
+++ b/runtime/vm/stub_code_arm64.cc
@@ -679,7 +679,7 @@
Heap* heap = isolate->heap();
const intptr_t cid = kArrayCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
+ Heap::Space space = Heap::SpaceForAllocation(cid);
const uword top_address = heap->TopAddress(space);
__ LoadImmediate(R8, top_address, kNoPP);
const uword end_address = heap->EndAddress(space);
@@ -942,7 +942,6 @@
void StubCode::GenerateAllocateContextStub(Assembler* assembler) {
if (FLAG_inline_alloc) {
Label slow_case;
- Heap* heap = Isolate::Current()->heap();
// First compute the rounded instance size.
// R1: number of context variables.
intptr_t fixed_size = sizeof(RawContext) + kObjectAlignment - 1;
@@ -955,17 +954,18 @@
// R1: number of context variables.
// R2: object size.
const intptr_t cid = kContextCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
- __ LoadImmediate(R5, heap->TopAddress(space), kNoPP);
- __ ldr(R0, Address(R5));
+ Heap::Space space = Heap::SpaceForAllocation(cid);
+ __ LoadIsolate(R5);
+ __ ldr(R5, Address(R5, Isolate::heap_offset()));
+ __ ldr(R0, Address(R5, Heap::TopOffset(space)));
__ add(R3, R2, Operand(R0));
// Check if the allocation fits into the remaining space.
// R0: potential new object.
// R1: number of context variables.
// R2: object size.
// R3: potential next object start.
- __ LoadImmediate(TMP, heap->EndAddress(space), kNoPP);
- __ ldr(TMP, Address(TMP));
+ // R5: heap.
+ __ ldr(TMP, Address(R5, Heap::EndOffset(space)));
__ CompareRegisters(R3, TMP);
if (FLAG_use_slow_path) {
__ b(&slow_case);
@@ -979,9 +979,11 @@
// R1: number of context variables.
// R2: object size.
// R3: next object start.
- __ str(R3, Address(R5));
+ // R5: heap.
+ __ str(R3, Address(R5, Heap::TopOffset(space)));
__ add(R0, R0, Operand(kHeapObjectTag));
- __ UpdateAllocationStatsWithSize(cid, R2, kNoPP, space);
+ __ UpdateAllocationStatsWithSize(cid, R2, kNoPP, space,
+ /* inline_isolate = */ false);
// Calculate the size tag.
// R0: new object.
@@ -996,8 +998,7 @@
// Get the class index and insert it into the tags.
// R2: size and bit tags.
- __ LoadImmediate(
- TMP, RawObject::ClassIdTag::encode(cid), kNoPP);
+ __ LoadImmediate(TMP, RawObject::ClassIdTag::encode(cid), kNoPP);
__ orr(R2, R2, Operand(TMP));
__ StoreFieldToOffset(R2, R0, Context::tags_offset(), kNoPP);
@@ -1137,7 +1138,7 @@
// next object start and initialize the allocated object.
// R1: instantiated type arguments (if is_cls_parameterized).
Heap* heap = Isolate::Current()->heap();
- Heap::Space space = heap->SpaceForAllocation(cls.id());
+ Heap::Space space = Heap::SpaceForAllocation(cls.id());
__ LoadImmediate(R5, heap->TopAddress(space), kNoPP);
__ ldr(R2, Address(R5));
__ AddImmediate(R3, R2, instance_size, kNoPP);
diff --git a/runtime/vm/stub_code_ia32.cc b/runtime/vm/stub_code_ia32.cc
index 3addb33..32505f3 100644
--- a/runtime/vm/stub_code_ia32.cc
+++ b/runtime/vm/stub_code_ia32.cc
@@ -623,7 +623,7 @@
Heap* heap = isolate->heap();
const intptr_t cid = kArrayCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
+ Heap::Space space = Heap::SpaceForAllocation(cid);
__ movl(EAX, Address::Absolute(heap->TopAddress(space)));
__ movl(EBX, EAX);
@@ -841,8 +841,6 @@
Immediate(reinterpret_cast<intptr_t>(Object::null()));
if (FLAG_inline_alloc) {
Label slow_case;
- Isolate* isolate = Isolate::Current();
- Heap* heap = isolate->heap();
// First compute the rounded instance size.
// EDX: number of context variables.
intptr_t fixed_size = (sizeof(RawContext) + kObjectAlignment - 1);
@@ -852,14 +850,16 @@
// Now allocate the object.
// EDX: number of context variables.
const intptr_t cid = kContextCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
- __ movl(EAX, Address::Absolute(heap->TopAddress(space)));
+ Heap::Space space = Heap::SpaceForAllocation(cid);
+ __ LoadIsolate(ECX);
+ __ movl(ECX, Address(ECX, Isolate::heap_offset()));
+ __ movl(EAX, Address(ECX, Heap::TopOffset(space)));
__ addl(EBX, EAX);
// Check if the allocation fits into the remaining space.
// EAX: potential new object.
// EBX: potential next object start.
// EDX: number of context variables.
- __ cmpl(EBX, Address::Absolute(heap->EndAddress(space)));
+ __ cmpl(EBX, Address(ECX, Heap::EndOffset(space)));
if (FLAG_use_slow_path) {
__ jmp(&slow_case);
} else {
@@ -876,11 +876,13 @@
// EAX: new object.
// EBX: next object start.
// EDX: number of context variables.
- __ movl(Address::Absolute(heap->TopAddress(space)), EBX);
+ __ movl(Address(ECX, Heap::TopOffset(space)), EBX);
__ addl(EAX, Immediate(kHeapObjectTag));
// EBX: Size of allocation in bytes.
__ subl(EBX, EAX);
- __ UpdateAllocationStatsWithSize(cid, EBX, kNoRegister, space);
+ // Generate isolate-independent code to allow sharing between isolates.
+ __ UpdateAllocationStatsWithSize(cid, EBX, EDI, space,
+ /* inline_isolate = */ false);
// Calculate the size tag.
// EAX: new object.
@@ -1065,7 +1067,7 @@
// next object start and initialize the allocated object.
// EDX: instantiated type arguments (if is_cls_parameterized).
Heap* heap = Isolate::Current()->heap();
- Heap::Space space = heap->SpaceForAllocation(cls.id());
+ Heap::Space space = Heap::SpaceForAllocation(cls.id());
__ movl(EAX, Address::Absolute(heap->TopAddress(space)));
__ leal(EBX, Address(EAX, instance_size));
// Check if the allocation fits into the remaining space.
diff --git a/runtime/vm/stub_code_mips.cc b/runtime/vm/stub_code_mips.cc
index a1dd725..b605c5b 100644
--- a/runtime/vm/stub_code_mips.cc
+++ b/runtime/vm/stub_code_mips.cc
@@ -728,7 +728,7 @@
Heap* heap = isolate->heap();
const intptr_t cid = kArrayCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
+ Heap::Space space = Heap::SpaceForAllocation(cid);
__ LoadImmediate(T3, heap->TopAddress(space));
__ lw(T0, Address(T3, 0)); // Potential new object start.
@@ -982,7 +982,6 @@
__ Comment("AllocateContext");
if (FLAG_inline_alloc) {
Label slow_case;
- Heap* heap = Isolate::Current()->heap();
// First compute the rounded instance size.
// T1: number of context variables.
intptr_t fixed_size = sizeof(RawContext) + kObjectAlignment - 1;
@@ -997,9 +996,10 @@
// T1: number of context variables.
// T2: object size.
const intptr_t cid = kContextCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
- __ LoadImmediate(T5, heap->TopAddress(space));
- __ lw(V0, Address(T5, 0));
+ Heap::Space space = Heap::SpaceForAllocation(cid);
+ __ LoadIsolate(T5);
+ __ lw(T5, Address(T5, Isolate::heap_offset()));
+ __ lw(V0, Address(T5, Heap::TopOffset(space)));
__ addu(T3, T2, V0);
// Check if the allocation fits into the remaining space.
@@ -1007,8 +1007,8 @@
// T1: number of context variables.
// T2: object size.
// T3: potential next object start.
- __ LoadImmediate(TMP, heap->EndAddress(space));
- __ lw(CMPRES1, Address(TMP, 0));
+ // T5: heap.
+ __ lw(CMPRES1, Address(T5, Heap::EndOffset(space)));
if (FLAG_use_slow_path) {
__ b(&slow_case);
} else {
@@ -1021,9 +1021,11 @@
// T1: number of context variables.
// T2: object size.
// T3: next object start.
- __ sw(T3, Address(T5, 0));
+ // T5: heap.
+ __ sw(T3, Address(T5, Heap::TopOffset(space)));
__ addiu(V0, V0, Immediate(kHeapObjectTag));
- __ UpdateAllocationStatsWithSize(cid, T2, T5, space);
+ __ UpdateAllocationStatsWithSize(cid, T2, T5, space,
+ /* inline_isolate = */ false);
// Calculate the size tag.
// V0: new object.
@@ -1191,7 +1193,7 @@
// next object start and initialize the allocated object.
// T1: instantiated type arguments (if is_cls_parameterized).
Heap* heap = Isolate::Current()->heap();
- Heap::Space space = heap->SpaceForAllocation(cls.id());
+ Heap::Space space = Heap::SpaceForAllocation(cls.id());
__ LoadImmediate(T5, heap->TopAddress(space));
__ lw(T2, Address(T5));
__ LoadImmediate(T4, instance_size);
diff --git a/runtime/vm/stub_code_x64.cc b/runtime/vm/stub_code_x64.cc
index e50c260..eaf3e41 100644
--- a/runtime/vm/stub_code_x64.cc
+++ b/runtime/vm/stub_code_x64.cc
@@ -639,7 +639,7 @@
Heap* heap = isolate->heap();
const intptr_t cid = kArrayCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
+ Heap::Space space = Heap::SpaceForAllocation(cid);
__ movq(RAX, Immediate(heap->TopAddress(space)));
__ movq(RAX, Address(RAX, 0));
@@ -881,8 +881,6 @@
__ LoadObject(R12, Object::null_object(), PP);
if (FLAG_inline_alloc) {
Label slow_case;
- Isolate* isolate = Isolate::Current();
- Heap* heap = isolate->heap();
// First compute the rounded instance size.
// R10: number of context variables.
intptr_t fixed_size = (sizeof(RawContext) + kObjectAlignment - 1);
@@ -892,16 +890,17 @@
// Now allocate the object.
// R10: number of context variables.
const intptr_t cid = kContextCid;
- Heap::Space space = heap->SpaceForAllocation(cid);
- __ movq(RAX, Immediate(heap->TopAddress(space)));
- __ movq(RAX, Address(RAX, 0));
+ Heap::Space space = Heap::SpaceForAllocation(cid);
+ __ LoadIsolate(RCX);
+ __ movq(RCX, Address(RCX, Isolate::heap_offset()));
+ __ movq(RAX, Address(RCX, Heap::TopOffset(space)));
__ addq(R13, RAX);
// Check if the allocation fits into the remaining space.
// RAX: potential new object.
// R13: potential next object start.
// R10: number of context variables.
- __ movq(RDI, Immediate(heap->EndAddress(space)));
- __ cmpq(R13, Address(RDI, 0));
+ // RCX: heap.
+ __ cmpq(R13, Address(RCX, Heap::EndOffset(space)));
if (FLAG_use_slow_path) {
__ jmp(&slow_case);
} else {
@@ -913,12 +912,14 @@
// RAX: new object.
// R13: next object start.
// R10: number of context variables.
- __ movq(RDI, Immediate(heap->TopAddress(space)));
- __ movq(Address(RDI, 0), R13);
+ // RCX: heap.
+ __ movq(Address(RCX, Heap::TopOffset(space)), R13);
__ addq(RAX, Immediate(kHeapObjectTag));
// R13: Size of allocation in bytes.
__ subq(R13, RAX);
- __ UpdateAllocationStatsWithSize(cid, R13, space);
+ // Generate isolate-independent code to allow sharing between isolates.
+ __ UpdateAllocationStatsWithSize(cid, R13, space,
+ /* inline_isolate */ false);
// Calculate the size tag.
// RAX: new object.
@@ -1102,7 +1103,7 @@
// next object start and initialize the allocated object.
// RDX: instantiated type arguments (if is_cls_parameterized).
Heap* heap = Isolate::Current()->heap();
- Heap::Space space = heap->SpaceForAllocation(cls.id());
+ Heap::Space space = Heap::SpaceForAllocation(cls.id());
__ movq(RCX, Immediate(heap->TopAddress(space)));
__ movq(RAX, Address(RCX, 0));
__ leaq(RBX, Address(RAX, instance_size));
diff --git a/runtime/vm/tags.cc b/runtime/vm/tags.cc
index 0b8e75e..50e5e23 100644
--- a/runtime/vm/tags.cc
+++ b/runtime/vm/tags.cc
@@ -33,17 +33,13 @@
bool VMTag::IsNativeEntryTag(uword tag) {
- if ((tag == kRootTagId) || (tag == kTruncatedTagId)) {
- return false;
- }
- ASSERT(tag != kInvalidTagId);
- ASSERT(tag != kNumVMTags);
- ASSERT(tag != kLastTagId);
- return (tag > kNumVMTags) && !IsRuntimeEntryTag(tag);
+ return (tag > kLastTagId) && !IsRuntimeEntryTag(tag);
}
+
static RuntimeEntry* runtime_entry_list = NULL;
+
bool VMTag::IsRuntimeEntryTag(uword id) {
const RuntimeEntry* current = runtime_entry_list;
while (current != NULL) {
diff --git a/runtime/vm/tags.h b/runtime/vm/tags.h
index b88045f..e0077cb 100644
--- a/runtime/vm/tags.h
+++ b/runtime/vm/tags.h
@@ -19,6 +19,7 @@
V(VM) /* Catch all */ \
V(CompileOptimized) \
V(CompileUnoptimized) \
+ V(CompileClass) \
V(CompileTopLevel) \
V(CompileScanner) \
V(Dart) \
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc
index a82c8b3..bbdd1b4 100644
--- a/runtime/vm/thread.cc
+++ b/runtime/vm/thread.cc
@@ -27,6 +27,12 @@
}
+Thread::~Thread() {
+ // We should cleanly exit any isolate before destruction.
+ ASSERT(isolate_ == NULL);
+}
+
+
void Thread::InitOnceBeforeIsolate() {
ASSERT(thread_key_ == OSThread::kUnsetThreadLocalKey);
thread_key_ = OSThread::CreateThreadLocal(DeleteThread);
diff --git a/runtime/vm/thread.h b/runtime/vm/thread.h
index 00cea34..98cd55d 100644
--- a/runtime/vm/thread.h
+++ b/runtime/vm/thread.h
@@ -12,6 +12,7 @@
namespace dart {
class CHA;
+class HandleScope;
class Isolate;
class Object;
class RawBool;
@@ -75,6 +76,8 @@
static void InitOnceBeforeIsolate();
static void InitOnceAfterObjectAndStubCode();
+ ~Thread();
+
// The topmost zone used for allocation in this thread.
Zone* zone() const { return state_.zone; }
@@ -114,12 +117,52 @@
return OFFSET_OF(Thread, state_) + OFFSET_OF(State, top_resource);
}
+ int32_t no_handle_scope_depth() const {
+#if defined(DEBUG)
+ return state_.no_handle_scope_depth;
+#else
+ return 0;
+#endif
+ }
+
+ void IncrementNoHandleScopeDepth() {
+#if defined(DEBUG)
+ ASSERT(state_.no_handle_scope_depth < INT_MAX);
+ state_.no_handle_scope_depth += 1;
+#endif
+ }
+
+ void DecrementNoHandleScopeDepth() {
+#if defined(DEBUG)
+ ASSERT(state_.no_handle_scope_depth > 0);
+ state_.no_handle_scope_depth -= 1;
+#endif
+ }
+
+ HandleScope* top_handle_scope() const {
+#if defined(DEBUG)
+ return state_.top_handle_scope;
+#else
+ return 0;
+#endif
+ }
+
+ void set_top_handle_scope(HandleScope* handle_scope) {
+#if defined(DEBUG)
+ state_.top_handle_scope = handle_scope;
+#endif
+ }
+
// Collection of isolate-specific state of a thread that is saved/restored
// on isolate exit/re-entry.
struct State {
Zone* zone;
uword top_exit_frame_info;
StackResource* top_resource;
+#if defined(DEBUG)
+ HandleScope* top_handle_scope;
+ intptr_t no_handle_scope_depth;
+#endif
};
#define DEFINE_OFFSET_METHOD(type_name, member_name, expr, default_init_value) \
diff --git a/runtime/vm/thread_registry.h b/runtime/vm/thread_registry.h
index d4de8a3..af16026 100644
--- a/runtime/vm/thread_registry.h
+++ b/runtime/vm/thread_registry.h
@@ -63,6 +63,19 @@
return (FindEntry(thread) != NULL);
}
+ void CheckNotScheduled(Isolate* isolate) {
+ MutexLocker ml(mutex_);
+ for (int i = 0; i < entries_.length(); ++i) {
+ const Entry& entry = entries_[i];
+ if (entry.scheduled) {
+ FATAL3("Isolate %p still scheduled on %p (whose isolate_ is %p)\n",
+ isolate,
+ entry.thread,
+ entry.thread->isolate());
+ }
+ }
+ }
+
void VisitObjectPointers(ObjectPointerVisitor* visitor) {
MutexLocker ml(mutex_);
for (int i = 0; i < entries_.length(); ++i) {
diff --git a/runtime/vm/thread_test.cc b/runtime/vm/thread_test.cc
index 0eccd64..f781783 100644
--- a/runtime/vm/thread_test.cc
+++ b/runtime/vm/thread_test.cc
@@ -117,9 +117,11 @@
virtual void Run() {
Thread::EnterIsolateAsHelper(isolate_);
{
+ Thread* thread = Thread::Current();
// Create a zone (which is also a stack resource) and exercise it a bit.
- StackZone stack_zone(Thread::Current());
- Zone* zone = Thread::Current()->zone();
+ StackZone stack_zone(thread);
+ HANDLESCOPE(thread);
+ Zone* zone = thread->zone();
EXPECT_EQ(zone, stack_zone.GetZone());
ZoneGrowableArray<bool>* a0 = new(zone) ZoneGrowableArray<bool>(zone, 1);
GrowableArray<bool> a1(zone, 1);
diff --git a/sdk/lib/_internal/js_runtime/lib/isolate_patch.dart b/sdk/lib/_internal/js_runtime/lib/isolate_patch.dart
index 4915374..82ef73f 100644
--- a/sdk/lib/_internal/js_runtime/lib/isolate_patch.dart
+++ b/sdk/lib/_internal/js_runtime/lib/isolate_patch.dart
@@ -23,7 +23,8 @@
@patch
static Future<Isolate> spawn(void entryPoint(message), var message,
- { bool paused: false }) {
+ {bool paused: false, bool errorsAreFatal,
+ SendPort onExit, SendPort onError}) {
try {
return IsolateNatives.spawnFunction(entryPoint, message, paused)
.then((msg) => new Isolate(msg[1],
@@ -36,9 +37,9 @@
@patch
static Future<Isolate> spawnUri(
- Uri uri, List<String> args, var message, { bool paused: false,
- bool checked,
- Uri packageRoot }) {
+ Uri uri, List<String> args, var message,
+ {bool paused: false, bool checked, Uri packageRoot, bool errorsAreFatal,
+ SendPort onExit, SendPort onError}) {
if (packageRoot != null) throw new UnimplementedError("packageRoot");
try {
if (args is List<String>) {
diff --git a/sdk/lib/_internal/js_runtime/lib/js_helper.dart b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
index 92ea4ba..dda551e 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_helper.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_helper.dart
@@ -1271,7 +1271,8 @@
var jsFunction = JS('var', '#[#]', function, selectorName);
if (jsFunction == null) {
var interceptor = getInterceptor(function);
- jsFunction = JS('', '#["call*"]', interceptor);
+ jsFunction = JS('', '#[#]', interceptor,
+ JS_GET_NAME(JsGetName.CALL_CATCH_ALL));
if (jsFunction == null) {
return functionNoSuchMethod(function, arguments, null);
diff --git a/sdk/lib/_internal/js_runtime/lib/shared/embedded_names.dart b/sdk/lib/_internal/js_runtime/lib/shared/embedded_names.dart
index 8e11da3..a427996 100644
--- a/sdk/lib/_internal/js_runtime/lib/shared/embedded_names.dart
+++ b/sdk/lib/_internal/js_runtime/lib/shared/embedded_names.dart
@@ -11,39 +11,36 @@
/// This library is shared between the compiler and the runtime system.
library dart2js._embedded_names;
-const DISPATCH_PROPERTY_NAME = "dispatchPropertyName";
-const TYPE_INFORMATION = 'typeInformation';
-const GLOBAL_FUNCTIONS = 'globalFunctions';
-const STATICS = 'statics';
-
-/// If [JSInvocationMirror._invokeOn] is being used, this embedded global
-/// contains a JavaScript map with the names of methods that are
-/// intercepted.
-const INTERCEPTED_NAMES = 'interceptedNames';
-
-/// A JS map from mangled global names to their unmangled names.
+/// The name of the property that is used to mark a type as typedef.
///
-/// If the program does not use reflection may be empty (but not null or
-/// undefined).
-const MANGLED_GLOBAL_NAMES = 'mangledGlobalNames';
+/// Without reflection typedefs are removed (expanded to their function type)
+/// but with reflection an object is needed to have the typedef's name. The
+/// object is marked with this property.
+///
+/// This property name only lives on internal type-objects and is only used
+/// when reflection is enabled.
+const TYPEDEF_PREDICATE_PROPERTY_NAME = r"$$isTypedef";
-const MANGLED_NAMES = 'mangledNames';
-const LIBRARIES = 'libraries';
-const FINISHED_CLASSES = 'finishedClasses';
-const ALL_CLASSES = 'allClasses';
-const INTERCEPTORS_BY_TAG = 'interceptorsByTag';
-const LEAF_TAGS = 'leafTags';
-const LAZIES = 'lazies';
-const GET_ISOLATE_TAG = 'getIsolateTag';
-const ISOLATE_TAG = 'isolateTag';
-const CURRENT_SCRIPT = 'currentScript';
-const DEFERRED_LIBRARY_URIS = 'deferredLibraryUris';
-const DEFERRED_LIBRARY_HASHES = 'deferredLibraryHashes';
-const INITIALIZE_LOADED_HUNK = 'initializeLoadedHunk';
-const IS_HUNK_LOADED = 'isHunkLoaded';
-const IS_HUNK_INITIALIZED = 'isHunkInitialized';
-const DEFERRED_INITIALIZED = 'deferredInitialized';
-const PRECOMPILED = 'precompiled';
+/// The name of the property that is used to find the function type of a
+/// typedef.
+///
+/// Without reflection typedefs are removed (expanded to their function type)
+/// but with reflection an object is needed to have the typedef's name.
+///
+/// The typedef's object contains a pointer to its function type (as an index
+/// into the embedded global [TYPES]) in this property.
+///
+/// This property name only lives on internal type-objects and is only used
+/// when reflection is enabled.
+const TYPEDEF_TYPE_PROPERTY_NAME = r"$typedefType";
+
+/// The name of the property that is used to find the native superclass of
+/// an extended class.
+///
+/// Every class that extends a native class has this property set on its
+/// native class.
+const NATIVE_SUPERCLASS_TAG_NAME = r"$nativeSuperclassTag";
+
/// The name of the embedded global for metadata.
///
@@ -57,24 +54,221 @@
/// Use [JsBuiltin.getType] instead of directly accessing this embedded global.
const TYPES = 'types';
+/// An embedded global name that can be used to store a mapping from
+/// static function names to dart-closure getters.
+const GLOBAL_FUNCTIONS = 'globalFunctions';
+
+/// Returns a function that maps a name of a class to its type.
+///
+/// This embedded global is used by the runtime when computing the internal
+/// runtime-type-information (rti) object.
+const GET_TYPE_FROM_NAME = 'getTypeFromName';
+
+/// If [JSInvocationMirror._invokeOn] is being used, this embedded global
+/// contains a JavaScript map with the names of methods that are
+/// intercepted.
+const INTERCEPTED_NAMES = 'interceptedNames';
+
+/// A JS map from mangled global names to their unmangled names.
+///
+/// If the program does not use reflection, this embedded global may be empty
+/// (but not null or undefined).
+const MANGLED_GLOBAL_NAMES = 'mangledGlobalNames';
+
+/// A JS map from mangled instance names to their unmangled names.
+///
+/// If the program does not use reflection, this embedded global may be empty
+/// (but not null or undefined).
+const MANGLED_NAMES = 'mangledNames';
+
+/// A JS map from dispatch tags (usually constructor names of DOM classes) to
+/// interceptor class. This map is used to find the correct interceptor for
+/// native classes.
+///
+/// This embedded global is used for natives.
+const INTERCEPTORS_BY_TAG = 'interceptorsByTag';
+
+/// A JS map from dispatch tags (usually constructor names of DOM classes) to
+/// booleans. Every tag entry of [INTERCEPTORS_BY_TAG] has a corresponding
+/// entry in the leaf-tags map.
+///
+/// A tag-entry is true, when a class can be treated as leaf class in the
+/// hierarchy. That is, even though it might have subclasses, all subclasses
+/// have the same code for the used methods.
+///
+/// This embedded global is used for natives.
+const LEAF_TAGS = 'leafTags';
+
+/// A JS function that returns the isolate tag for a given name.
+///
+/// This function uses the [ISOLATE_TAG] (below) to construct a name that is
+/// unique per isolate.
+///
+/// This embedded global is used for natives.
+// TODO(floitsch): should we rename this variable to avoid confusion with
+// [INTERCEPTORS_BY_TAG] and [LEAF_TAGS].
+const GET_ISOLATE_TAG = 'getIsolateTag';
+
+/// A string that is different for each running isolate.
+///
+/// When this embedded global is initialized a global variable is used to
+/// ensure that no other running isolate uses the same isolate-tag string.
+///
+/// This embedded global is used for natives.
+// TODO(floitsch): should we rename this variable to avoid confusion with
+// [INTERCEPTORS_BY_TAG] and [LEAF_TAGS].
+const ISOLATE_TAG = 'isolateTag';
+
+/// This embedded global (a function) returns the isolate-specific dispatch-tag
+/// that is used to accelerate interceptor calls.
+const DISPATCH_PROPERTY_NAME = "dispatchPropertyName";
+
+/// An embedded global that maps a [Type] to the [Interceptor] and constructors
+/// for that type.
+///
+/// More documentation can be found in the interceptors library (close to its
+/// use).
+const TYPE_TO_INTERCEPTOR_MAP = "typeToInterceptorMap";
+
+/// The current script's URI when the program was loaded.
+///
+/// This embedded global is set at startup, just before invoking `main`.
+const CURRENT_SCRIPT = 'currentScript';
+
/// Returns a function that creates a new Isolate (its static state).
///
-/// (floitsch): Note that this will probably go away, since one JS heap will
-/// only contain one Dart isolate.
+/// (floitsch): Note that this embedded global will probably go away, since one
+/// JS heap will only contain one Dart isolate.
const CREATE_NEW_ISOLATE = 'createNewIsolate';
+/// Returns a class-id of the given instance.
+///
+/// The extracted id can be used to built a new instance of the same type
+/// (see [INSTANCE_FROM_CLASS_ID].
+///
+/// This embedded global is used for serialization in the isolate-library.
const CLASS_ID_EXTRACTOR = 'classIdExtractor';
-const CLASS_FIELDS_EXTRACTOR = 'classFieldsExtractor';
-const INSTANCE_FROM_CLASS_ID = "instanceFromClassId";
-const INITIALIZE_EMPTY_INSTANCE = "initializeEmptyInstance";
-const TYPEDEF_TYPE_PROPERTY_NAME = r"$typedefType";
-const TYPEDEF_PREDICATE_PROPERTY_NAME = r"$$isTypedef";
-const NATIVE_SUPERCLASS_TAG_NAME = r"$nativeSuperclassTag";
-/// Returns the type given the name of a class.
-/// This function is called by the runtime when computing rti.
-const GET_TYPE_FROM_NAME = 'getTypeFromName';
-const TYPE_TO_INTERCEPTOR_MAP = "typeToInterceptorMap";
+/// Returns an empty instance of the given class-id.
+///
+/// Given a class-id (see [CLASS_ID_EXTRACTOR]) returns an empty instance.
+///
+/// This embedded global is used for deserialization in the isolate-library.
+const INSTANCE_FROM_CLASS_ID = "instanceFromClassId";
+
+/// Returns a list of (mangled) field names for the given instance.
+///
+/// The list of fields can be used to extract the instance's values and then
+/// initialize an empty instance (see [INITIALIZE_EMPTY_INSTANCE].
+///
+/// This embedded global is used for serialization in the isolate-library.
+const CLASS_FIELDS_EXTRACTOR = 'classFieldsExtractor';
+
+/// Initializes the given empty instance with the given fields.
+///
+/// The given fields are in an array and must be in the same order as the
+/// field-names obtained by [CLASS_FIELDS_EXTRACTOR].
+///
+/// This embedded global is used for deserialization in the isolate-library.
+const INITIALIZE_EMPTY_INSTANCE = "initializeEmptyInstance";
+
+/// Returns a map from load-ids to URIs.
+///
+/// To load the deferred library that is represented by the load-id, the runtime
+/// must load all associated URIs.
+///
+/// This embedded global is only used for deferred loading.
+const DEFERRED_LIBRARY_URIS = 'deferredLibraryUris';
+
+/// Returns a map from load-ids to hashes.
+///
+/// The hashes are associated with the URIs of the load-ids (see
+/// [DEFERRED_LIBRARY_URIS]). They are MD5 (or similar) hashes of the code that
+/// must be loaded. By using cryptographic hashes we can avoid loading similar
+/// code multiple times.
+///
+/// This embedded global is only used for deferred loading.
+const DEFERRED_LIBRARY_HASHES = 'deferredLibraryHashes';
+
+/// Initialize a loaded hunk.
+///
+/// Once a hunk (the code from a deferred URI) has been loaded it must be
+/// initialized. Calling this function with the corresponding hash (see
+/// [DEFERRED_LIBRARY_HASHES]) initializes the code.
+///
+/// This embedded global is only used for deferred loading.
+const INITIALIZE_LOADED_HUNK = 'initializeLoadedHunk';
+
+/// Returns, whether a hunk (identified by its hash) has already been loaded.
+///
+/// This embedded global is only used for deferred loading.
+const IS_HUNK_LOADED = 'isHunkLoaded';
+
+/// Returns, whether a hunk (identified by its hash) has already been
+/// initialized.
+///
+/// This embedded global is only used for deferred loading.
+const IS_HUNK_INITIALIZED = 'isHunkInitialized';
+
+/// A set (implemented as map to booleans) of hunks (identified by hashes) that
+/// have already been initialized.
+///
+/// This embedded global is only used for deferred loading.
+///
+/// This global is an emitter-internal embedded global, and not used by the
+/// runtime. The constant remains in this file to make sure that other embedded
+/// globals don't clash with it.
+const DEFERRED_INITIALIZED = 'deferredInitialized';
+
+
+/// Returns a function that creates all precompiled functions (in particular
+/// constructors).
+///
+/// That is, the function returns the array that the full emitter would
+/// otherwise build dynamically when it finishes all classes.
+///
+/// This constant is only used in CSP mode.
+///
+/// This global is an emitter-internal embedded global, and not used by the
+/// runtime. The constant remains in this file to make sure that other embedded
+/// globals don't clash with it.
+const PRECOMPILED = 'precompiled';
+
+/// An emitter-internal embedded global. This global is not used by the runtime.
+///
+/// The constant remains in this file to make sure that other embedded globals
+/// don't clash with it.
+const FINISHED_CLASSES = 'finishedClasses';
+
+
+/// A JavaScript object literal that maps the (minified) JavaScript constructor
+/// name (as given by [JsBuiltin.rawRtiToJsConstructorName] to the
+/// JavaScript constructor.
+///
+/// This embedded global is only used by reflection.
+const ALL_CLASSES = 'allClasses';
+
+/// A map from element to type information.
+///
+/// This embedded global is only used by reflection.
+const TYPE_INFORMATION = 'typeInformation';
+
+/// A map from statics to their descriptors.
+///
+/// This embedded global is only used by reflection.
+const STATICS = 'statics';
+
+/// An array of library descriptors.
+///
+/// The descriptor contains information such as name, uri, classes, ...
+///
+/// This embedded global is only used by reflection.
+const LIBRARIES = 'libraries';
+
+/// A map from lazy statics to their initializers.
+///
+/// This embedded global is only used by reflection.
+const LAZIES = 'lazies';
/// Names that are supported by [JS_GET_NAME].
// TODO(herhut): Make entries lower case (as in fields) and find a better name.
diff --git a/sdk/lib/async/broadcast_stream_controller.dart b/sdk/lib/async/broadcast_stream_controller.dart
index 93c0833..e5a1efc 100644
--- a/sdk/lib/async/broadcast_stream_controller.dart
+++ b/sdk/lib/async/broadcast_stream_controller.dart
@@ -67,7 +67,6 @@
// _onCancel is inherited.
}
-
abstract class _BroadcastStreamController<T>
implements StreamController<T>,
_StreamControllerLifecycle<T>,
@@ -80,8 +79,8 @@
static const int _STATE_CLOSED = 4;
static const int _STATE_ADDSTREAM = 8;
- final _NotificationHandler _onListen;
- final _NotificationHandler _onCancel;
+ _NotificationHandler _onListen;
+ _NotificationHandler _onCancel;
// State of the controller.
int _state;
@@ -113,6 +112,20 @@
_next = _previous = this;
}
+ void set onListen(void onListenHandler()) { _onListen = onListenHandler; }
+
+ void set onPause(void onPauseHandler()) {
+ throw new UnsupportedError(
+ "Broadcast stream controllers do not support pause callbacks");
+ }
+
+ void set onResume(void onResumeHandler()) {
+ throw new UnsupportedError(
+ "Broadcast stream controllers do not support pause callbacks");
+ }
+
+ void set onCancel(onCancelHandler()) { _onCancel = onCancelHandler; }
+
// StreamController interface.
Stream<T> get stream => new _BroadcastStream<T>(this);
diff --git a/sdk/lib/async/stream_controller.dart b/sdk/lib/async/stream_controller.dart
index 5764ecd..26bbb14 100644
--- a/sdk/lib/async/stream_controller.dart
+++ b/sdk/lib/async/stream_controller.dart
@@ -77,12 +77,6 @@
void onResume(),
onCancel(),
bool sync: false}) {
- if (onListen == null && onPause == null &&
- onResume == null && onCancel == null) {
- return sync
- ? new _NoCallbackSyncStreamController<T>()
- : new _NoCallbackAsyncStreamController<T>();
- }
return sync
? new _SyncStreamController<T>(onListen, onPause, onResume, onCancel)
: new _AsyncStreamController<T>(onListen, onPause, onResume, onCancel);
@@ -139,6 +133,42 @@
}
/**
+ * Sets the callback which is called when the stream is listened to.
+ *
+ * This overrides the previous callback, or clears it if the [onListenHandler]
+ * is `null`.
+ */
+ void set onListen(void onListenHandler());
+
+ /**
+ * Sets the callback which is called when the stream is paused.
+ *
+ * This overrides the previous callback, or clears it if the [onPauseHandler]
+ * is `null`.
+ *
+ * Pause related callbacks are not supported on broadcast stream controllers.
+ */
+ void set onPause(void onPauseHandler());
+
+ /**
+ * Sets the callback which is called when the stream is resumed.
+ *
+ * This overrides the previous callback, or clears it if the [onResumeHandler]
+ * is `null`.
+ *
+ * Pause related callbacks are not supported on broadcast stream controllers.
+ */
+ void set onResume(void onResumeHandler());
+
+ /**
+ * Sets the callback which is called when the stream is canceled.
+ *
+ * This overrides the previous callback, or clears it if the [onCancelHandler]
+ * is `null`.
+ */
+ void set onCancel(onCancelHandler());
+
+ /**
* Returns a view of this object that only exposes the [StreamSink] interface.
*/
StreamSink<T> get sink;
@@ -383,12 +413,23 @@
// accessed earlier, or if close is called before subscribing.
_Future _doneFuture;
- _StreamController();
+ _NotificationHandler _onListen;
+ _NotificationHandler _onPause;
+ _NotificationHandler _onResume;
+ _NotificationHandler _onCancel;
- _NotificationHandler get _onListen;
- _NotificationHandler get _onPause;
- _NotificationHandler get _onResume;
- _NotificationHandler get _onCancel;
+ _StreamController(void this._onListen(),
+ void this._onPause(),
+ void this._onResume(),
+ this._onCancel());
+
+ void set onListen(void onListenHandler()) { _onListen = onListenHandler; }
+
+ void set onPause(void onPauseHandler()) { _onPause = onPauseHandler; }
+
+ void set onResume(void onResumeHandler()) { _onResume = onResumeHandler; }
+
+ void set onCancel(onCancelHandler()) { _onCancel = onCancelHandler; }
// Return a new stream every time. The streams are equal, but not identical.
Stream<T> get stream => new _ControllerStream<T>(this);
@@ -722,44 +763,11 @@
// TODO(lrn): Use common superclass for callback-controllers when VM supports
// constructors in mixin superclasses.
-class _AsyncStreamController<T> extends _StreamController<T>
- with _AsyncStreamControllerDispatch<T> {
- final _NotificationHandler _onListen;
- final _NotificationHandler _onPause;
- final _NotificationHandler _onResume;
- final _NotificationHandler _onCancel;
+class _AsyncStreamController<T> = _StreamController<T>
+ with _AsyncStreamControllerDispatch<T>;
- _AsyncStreamController(void this._onListen(),
- void this._onPause(),
- void this._onResume(),
- this._onCancel());
-}
-
-class _SyncStreamController<T> extends _StreamController<T>
- with _SyncStreamControllerDispatch<T> {
- final _NotificationHandler _onListen;
- final _NotificationHandler _onPause;
- final _NotificationHandler _onResume;
- final _NotificationHandler _onCancel;
-
- _SyncStreamController(void this._onListen(),
- void this._onPause(),
- void this._onResume(),
- this._onCancel());
-}
-
-abstract class _NoCallbacks {
- _NotificationHandler get _onListen => null;
- _NotificationHandler get _onPause => null;
- _NotificationHandler get _onResume => null;
- _NotificationHandler get _onCancel => null;
-}
-
-class _NoCallbackAsyncStreamController<T> = _StreamController<T>
- with _AsyncStreamControllerDispatch<T>, _NoCallbacks;
-
-class _NoCallbackSyncStreamController<T> = _StreamController<T>
- with _SyncStreamControllerDispatch<T>, _NoCallbacks;
+class _SyncStreamController<T> = _StreamController<T>
+ with _SyncStreamControllerDispatch<T>;
typedef _NotificationHandler();
diff --git a/sdk/lib/convert/line_splitter.dart b/sdk/lib/convert/line_splitter.dart
index 84cb22c..0af2f2f 100644
--- a/sdk/lib/convert/line_splitter.dart
+++ b/sdk/lib/convert/line_splitter.dart
@@ -4,21 +4,53 @@
part of dart.convert;
+// Character constants.
+const int _LF = 10;
+const int _CR = 13;
+
/**
- * This class splits [String] values into individual lines.
+ * A [Converter] that splits a [String] into individual lines.
+ *
+ * A line is terminated by either a CR (U+000D), a LF (U+000A), a
+ * CR+LF sequence (DOS line ending),
+ * and a final non-empty line can be ended by the end of the string.
+ *
+ * The returned lines do not contain the line terminators.
*/
class LineSplitter extends Converter<String, List<String>> {
const LineSplitter();
- List<String> convert(String data) {
- var lines = new List<String>();
-
- _LineSplitterSink._addSlice(data, 0, data.length, true, lines.add);
-
- return lines;
+ /// Split [lines] into individual lines.
+ ///
+ /// If [start] and [end] are provided, only split the contents of
+ /// `lines.substring(start, end)`. The [start] and [end] values must
+ /// specify a valid sub-range of [lines]
+ /// (`0 <= start <= end <= lines.length`).
+ static Iterable<String> split(String lines, [int start = 0, int end]) sync* {
+ end = RangeError.checkValidRange(start, end, lines.length);
+ int sliceStart = start;
+ int char = 0;
+ for (int i = start; i < end; i++) {
+ int previousChar = char;
+ char = lines.codeUnitAt(i);
+ if (char != _CR) {
+ if (char != _LF) continue;
+ if (previousChar == _CR) {
+ sliceStart = i + 1;
+ continue;
+ }
+ }
+ yield lines.substring(sliceStart, i);
+ sliceStart = i + 1;
+ }
+ if (sliceStart < end) {
+ yield lines.substring(sliceStart, end);
+ }
}
+ List<String> convert(String data) => split(data).toList();
+
StringConversionSink startChunkedConversion(Sink<String> sink) {
if (sink is! StringConversionSink) {
sink = new StringConversionSink.from(sink);
@@ -29,65 +61,76 @@
// TODO(floitsch): deal with utf8.
class _LineSplitterSink extends StringConversionSinkBase {
- static const int _LF = 10;
- static const int _CR = 13;
-
final StringConversionSink _sink;
+ /// The carry-over from the previous chunk.
+ ///
+ /// If the previous slice ended in a line without a line terminator,
+ /// then the next slice may continue the line.
String _carry;
+ /// Whether to skip a leading LF character from the next slice.
+ ///
+ /// If the previous slice ended on a CR character, a following LF
+ /// would be part of the same line termination, and should be ignored.
+ ///
+ /// Only `true` when [_carry] is `null`.
+ bool _skipLeadingLF = false;
+
_LineSplitterSink(this._sink);
void addSlice(String chunk, int start, int end, bool isLast) {
+ end = RangeError.checkValidRange(start, end, chunk.length);
+ // If the chunk is empty, it's probably because it's the last one.
+ // Handle that here, so we know the range is non-empty below.
+ if (start >= end) {
+ if (isLast) close();
+ return;
+ }
if (_carry != null) {
+ assert(!_skipLeadingLF);
chunk = _carry + chunk.substring(start, end);
start = 0;
end = chunk.length;
_carry = null;
+ } else if (_skipLeadingLF) {
+ if (chunk.codeUnitAt(start) == _LF) {
+ start += 1;
+ }
+ _skipLeadingLF = false;
}
- _carry = _addSlice(chunk, start, end, isLast, _sink.add);
- if (isLast) _sink.close();
+ _addLines(chunk, start, end);
+ if (isLast) close();
}
void close() {
- addSlice('', 0, 0, true);
+ if (_carry != null) {
+ _sink.add(_carry);
+ _carry = null;
+ }
+ _sink.close();
}
- static String _addSlice(String chunk, int start, int end, bool isLast,
- void adder(String val)) {
-
- int pos = start;
- while (pos < end) {
- int skip = 0;
- int char = chunk.codeUnitAt(pos);
- if (char == _LF) {
- skip = 1;
- } else if (char == _CR) {
- skip = 1;
- if (pos + 1 < end) {
- if (chunk.codeUnitAt(pos + 1) == _LF) {
- skip = 2;
- }
- } else if (!isLast) {
- return chunk.substring(start, end);
+ void _addLines(String lines, int start, int end) {
+ int sliceStart = start;
+ int char = 0;
+ for (int i = start; i < end; i++) {
+ int previousChar = char;
+ char = lines.codeUnitAt(i);
+ if (char != _CR) {
+ if (char != _LF) continue;
+ if (previousChar == _CR) {
+ sliceStart = i + 1;
+ continue;
}
}
- if (skip > 0) {
- adder(chunk.substring(start, pos));
- start = pos = pos + skip;
- } else {
- pos++;
- }
+ _sink.add(lines.substring(sliceStart, i));
+ sliceStart = i + 1;
}
- if (pos != start) {
- var carry = chunk.substring(start, pos);
- if (isLast) {
- // Add remaining
- adder(carry);
- } else {
- return carry;
- }
+ if (sliceStart < end) {
+ _carry = lines.substring(sliceStart, end);
+ } else {
+ _skipLeadingLF = (char == _CR);
}
- return null;
}
}
diff --git a/sdk/lib/core/uri.dart b/sdk/lib/core/uri.dart
index 5cf49b0..3eb81a4 100644
--- a/sdk/lib/core/uri.dart
+++ b/sdk/lib/core/uri.dart
@@ -381,9 +381,8 @@
}
assert(state == NOT_IN_PATH);
- bool isFile = (scheme == "file");
- bool ensureLeadingSlash = host != null;
- path = _makePath(uri, pathStart, index, null, ensureLeadingSlash, isFile);
+ bool hasAuthority = (host != null);
+ path = _makePath(uri, pathStart, index, null, scheme, hasAuthority);
if (char == _QUESTION) {
int numberSignIndex = -1;
@@ -511,9 +510,14 @@
(userInfo.isNotEmpty || port != null || isFile)) {
host = "";
}
- bool ensureLeadingSlash = host != null;
+ bool hasAuthority = (host != null);
path = _makePath(path, 0, _stringOrNullLength(path), pathSegments,
- ensureLeadingSlash, isFile);
+ scheme, hasAuthority);
+ if (scheme.isEmpty && host == null && !path.startsWith('/')) {
+ path = _normalizeRelativePath(path);
+ } else {
+ path = _removeDotSegments(path);
+ }
return new Uri._internal(scheme, userInfo, host, port,
path, query, fragment);
}
@@ -953,15 +957,15 @@
host = "";
}
- bool ensureLeadingSlash = (host != null);
+ bool hasAuthority = host != null;
if (path != null || pathSegments != null) {
path = _makePath(path, 0, _stringOrNullLength(path), pathSegments,
- ensureLeadingSlash, isFile);
+ scheme, hasAuthority);
} else {
path = this.path;
- if ((isFile || (ensureLeadingSlash && !path.isEmpty)) &&
+ if ((isFile || (hasAuthority && !path.isEmpty)) &&
!path.startsWith('/')) {
- path = "/$path";
+ path = "/" + path;
}
}
@@ -1025,20 +1029,23 @@
}
/**
- * Returns an URI where the path has been normalized.
+ * Returns a URI where the path has been normalized.
*
* A normalized path does not contain `.` segments or non-leading `..`
* segments.
- * Only a relative path may contain leading `..` segments,
+ * Only a relative path with no scheme or authority may contain
+ * leading `..` segments,
* a path that starts with `/` will also drop any leading `..` segments.
*
- * This uses the same normalization strategy as [resolveUri], as specified by
- * RFC 3986.
+ * This uses the same normalization strategy as `new Uri().resolve(this)`.
*
* Does not change any part of the URI except the path.
+ *
+ * The default implementation of `Uri` always normalizes paths, so calling
+ * this function has no effect.
*/
Uri normalizePath() {
- String path = _removeDotSegments(_path);
+ String path = _normalizePath(_path, scheme, hasAuthority);
if (identical(path, _path)) return this;
return this.replace(path: path);
}
@@ -1178,18 +1185,18 @@
if (!_isAlphabeticCharacter(firstCodeUnit)) {
_fail(scheme, start, "Scheme not starting with alphabetic character");
}
- bool allLowercase = firstCodeUnit >= _LOWER_CASE_A;
+ bool containsUpperCase = false;
for (int i = start; i < end; i++) {
final int codeUnit = scheme.codeUnitAt(i);
if (!_isSchemeCharacter(codeUnit)) {
_fail(scheme, i, "Illegal scheme character");
}
- if (codeUnit < _LOWER_CASE_A || codeUnit > _LOWER_CASE_Z) {
- allLowercase = false;
+ if (_UPPER_CASE_A <= codeUnit && codeUnit <= _UPPER_CASE_Z) {
+ containsUpperCase = true;
}
}
scheme = scheme.substring(start, end);
- if (!allLowercase) scheme = scheme.toLowerCase();
+ if (containsUpperCase) scheme = scheme.toLowerCase();
return scheme;
}
@@ -1200,8 +1207,10 @@
static String _makePath(String path, int start, int end,
Iterable<String> pathSegments,
- bool ensureLeadingSlash,
- bool isFile) {
+ String scheme,
+ bool hasAuthority) {
+ bool isFile = (scheme == "file");
+ bool ensureLeadingSlash = isFile || hasAuthority;
if (path == null && pathSegments == null) return isFile ? "/" : "";
if (path != null && pathSegments != null) {
throw new ArgumentError('Both path and pathSegments specified');
@@ -1214,13 +1223,25 @@
}
if (result.isEmpty) {
if (isFile) return "/";
- } else if ((isFile || ensureLeadingSlash) &&
- result.codeUnitAt(0) != _SLASH) {
- return "/$result";
+ } else if (ensureLeadingSlash && !result.startsWith('/')) {
+ result = "/" + result;
}
+ result = _normalizePath(result, scheme, hasAuthority);
return result;
}
+ /// Performs path normalization (remove dot segments) on a path.
+ ///
+ /// If the URI has neither scheme nor authority, it's considered a
+ /// "pure path" and normalization won't remove leading ".." segments.
+ /// Otherwise it follows the RFC 3986 "remove dot segments" algorithm.
+ static String _normalizePath(String path, String scheme, bool hasAuthority) {
+ if (scheme.isEmpty && !hasAuthority && !path.startsWith('/')) {
+ return _normalizeRelativePath(path);
+ }
+ return _removeDotSegments(path);
+ }
+
static String _makeQuery(String query, int start, int end,
Map<String, String> queryParameters) {
if (query == null && queryParameters == null) return null;
@@ -1429,8 +1450,7 @@
*/
bool get isAbsolute => scheme != "" && fragment == "";
- String _merge(String base, String reference) {
- if (base.isEmpty) return "/$reference";
+ String _mergePaths(String base, String reference) {
// Optimize for the case: absolute base, reference beginning with "../".
int backCount = 0;
int refStart = 0;
@@ -1463,21 +1483,36 @@
reference.substring(refStart - 3 * backCount));
}
- bool _hasDotSegments(String path) {
- if (path.length > 0 && path.codeUnitAt(0) == _DOT) return true;
+ /// Make a guess at whether a path contains a `..` or `.` segment.
+ ///
+ /// This is a primitive test that can cause false positives.
+ /// It's only used to avoid a more expensive operation in the case where
+ /// it's not necessary.
+ static bool _mayContainDotSegments(String path) {
+ if (path.startsWith('.')) return true;
int index = path.indexOf("/.");
return index != -1;
}
- String _removeDotSegments(String path) {
- if (!_hasDotSegments(path)) return path;
+ /// Removes '.' and '..' segments from a path.
+ ///
+ /// Follows the RFC 2986 "remove dot segments" algorithm.
+ /// This algorithm is only used on paths of URIs with a scheme,
+ /// and it treats the path as if it is absolute (leading '..' are removed).
+ static String _removeDotSegments(String path) {
+ if (!_mayContainDotSegments(path)) return path;
+ assert(path.isNotEmpty); // An empty path would not have dot segments.
List<String> output = [];
bool appendSlash = false;
for (String segment in path.split("/")) {
appendSlash = false;
if (segment == "..") {
- if (!output.isEmpty &&
- ((output.length != 1) || (output[0] != ""))) output.removeLast();
+ if (output.isNotEmpty) {
+ output.removeLast();
+ if (output.isEmpty) {
+ output.add("");
+ }
+ }
appendSlash = true;
} else if ("." == segment) {
appendSlash = true;
@@ -1489,6 +1524,42 @@
return output.join("/");
}
+ /// Removes all `.` segments and any non-leading `..` segments.
+ ///
+ /// Removing the ".." from a "bar/foo/.." sequence results in "bar/"
+ /// (trailing "/"). If the entire path is removed (because it contains as
+ /// many ".." segments as real segments), the result is "./".
+ /// This is different from an empty string, which represents "no path",
+ /// when you resolve it against a base URI with a path with a non-empty
+ /// final segment.
+ static String _normalizeRelativePath(String path) {
+ assert(!path.startsWith('/')); // Only get called for relative paths.
+ if (!_mayContainDotSegments(path)) return path;
+ assert(path.isNotEmpty); // An empty path would not have dot segments.
+ List<String> output = [];
+ bool appendSlash = false;
+ for (String segment in path.split("/")) {
+ appendSlash = false;
+ if (".." == segment) {
+ if (!output.isEmpty && output.last != "..") {
+ output.removeLast();
+ appendSlash = true;
+ } else {
+ output.add("..");
+ }
+ } else if ("." == segment) {
+ appendSlash = true;
+ } else {
+ output.add(segment);
+ }
+ }
+ if (output.isEmpty || (output.length == 1 && output[0].isEmpty)) {
+ return "./";
+ }
+ if (appendSlash || output.last == '..') output.add("");
+ return output.join("/");
+ }
+
/**
* Resolve [reference] as an URI relative to `this`.
*
@@ -1508,9 +1579,15 @@
*
* Returns the resolved URI.
*
- * The algorithm for resolving a reference is described in
- * [RFC-3986 Section 5]
+ * The algorithm "Transform Reference" for resolving a reference is
+ * described in [RFC-3986 Section 5]
* (http://tools.ietf.org/html/rfc3986#section-5 "RFC-1123").
+ *
+ * Updated to handle the case where the base URI is just a relative path -
+ * that is: when it has no scheme or authority and the path does not start
+ * with a slash.
+ * In that case, the paths are combined without removing leading "..", and
+ * an empty path is not converted to "/".
*/
Uri resolveUri(Uri reference) {
// From RFC 3986.
@@ -1541,6 +1618,9 @@
targetPath = _removeDotSegments(reference.path);
if (reference.hasQuery) targetQuery = reference.query;
} else {
+ targetUserInfo = this._userInfo;
+ targetHost = this._host;
+ targetPort = this._port;
if (reference.path == "") {
targetPath = this._path;
if (reference.hasQuery) {
@@ -1549,16 +1629,32 @@
targetQuery = this._query;
}
} else {
- if (reference.path.startsWith("/")) {
+ if (reference.hasAbsolutePath) {
targetPath = _removeDotSegments(reference.path);
} else {
- targetPath = _removeDotSegments(_merge(this._path, reference.path));
+ // This is the RFC 3986 behavior for merging.
+ if (this.hasEmptyPath) {
+ if (!this.hasScheme && !this.hasAuthority) {
+ // Keep the path relative if no scheme or authority.
+ targetPath = reference.path;
+ } else {
+ // Add path normalization on top of RFC algorithm.
+ targetPath = _removeDotSegments("/" + reference.path);
+ }
+ } else {
+ var mergedPath = _mergePaths(this._path, reference.path);
+ if (this.hasScheme || this.hasAuthority || this.hasAbsolutePath) {
+ targetPath = _removeDotSegments(mergedPath);
+ } else {
+ // Non-RFC 3986 beavior. If both base and reference are relative
+ // path, allow the merged path to start with "..".
+ // The RFC only specifies the case where the base has a scheme.
+ targetPath = _normalizeRelativePath(mergedPath);
+ }
+ }
}
if (reference.hasQuery) targetQuery = reference.query;
}
- targetUserInfo = this._userInfo;
- targetHost = this._host;
- targetPort = this._port;
}
}
String fragment = reference.hasFragment ? reference.fragment : null;
@@ -1572,6 +1668,11 @@
}
/**
+ * Returns whether the URI has a [scheme] component.
+ */
+ bool get hasScheme => scheme.isNotEmpty;
+
+ /**
* Returns whether the URI has an [authority] component.
*/
bool get hasAuthority => _host != null;
@@ -1597,6 +1698,16 @@
bool get hasFragment => _fragment != null;
/**
+ * Returns whether the URI has an empty path.
+ */
+ bool get hasEmptyPath => _path.isEmpty;
+
+ /**
+ * Returns whether the URI has an absolute path (starting with '/').
+ */
+ bool get hasAbsolutePath => _path.startsWith('/');
+
+ /**
* Returns the origin of the URI in the form scheme://host:port for the
* schemes http and https.
*
diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart
index ffe111f..a63c557 100644
--- a/sdk/lib/html/dart2js/html_dart2js.dart
+++ b/sdk/lib/html/dart2js/html_dart2js.dart
@@ -3366,6 +3366,7 @@
return JS('bool', '# in #', propertyName, this);
}
+
@DomName('CSSStyleDeclaration.setProperty')
void setProperty(String propertyName, String value, [String priority]) {
return _setPropertyHelper(_browserPropertyName(propertyName),
@@ -9909,7 +9910,6 @@
new _FrozenElementList._wrap(_querySelectorAll(selectors));
-
String get innerHtml {
final e = new Element.tag("div");
e.append(this.clone(true));
@@ -12898,7 +12898,7 @@
if (treeSanitizer is _TrustedHtmlTreeSanitizer) {
_insertAdjacentHtml(where, html);
} else {
- _insertAdjacentNode(where, new DocumentFragment.html(html,
+ _insertAdjacentNode(where, createFragment(html,
validator: validator, treeSanitizer: treeSanitizer));
}
}
@@ -13181,10 +13181,11 @@
if (_parseDocument == null) {
_parseDocument = document.implementation.createHtmlDocument('');
_parseRange = _parseDocument.createRange();
-
- // Workaround for Chrome bug 229142- URIs are not resolved in new doc.
- var base = _parseDocument.createElement('base');
- base.href = document.baseUri;
+
+ // Workaround for Safari bug. Was also previously Chrome bug 229142
+ // - URIs are not resolved in new doc.
+ var base = _parseDocument.createElement('base');
+ base.href = document.baseUri;
_parseDocument.head.append(base);
}
var contextElement;
@@ -13195,7 +13196,8 @@
_parseDocument.body.append(contextElement);
}
var fragment;
- if (Range.supportsCreateContextualFragment) {
+ if (Range.supportsCreateContextualFragment &&
+ _canBeUsedToCreateContextualFragment) {
_parseRange.selectNodeContents(contextElement);
fragment = _parseRange.createContextualFragment(html);
} else {
@@ -13217,6 +13219,24 @@
return fragment;
}
+ /** Test if createContextualFragment is supported for this element type */
+ bool get _canBeUsedToCreateContextualFragment =>
+ !_cannotBeUsedToCreateContextualFragment;
+
+ /** Test if createContextualFragment is NOT supported for this element type */
+ bool get _cannotBeUsedToCreateContextualFragment =>
+ _tagsForWhichCreateContextualFragmentIsNotSupported.contains(tagName);
+
+ /**
+ * A hard-coded list of the tag names for which createContextualFragment
+ * isn't supported.
+ */
+ static const _tagsForWhichCreateContextualFragmentIsNotSupported =
+ const ['HEAD', 'AREA',
+ 'BASE', 'BASEFONT', 'BR', 'COL', 'COLGROUP', 'EMBED', 'FRAME', 'FRAMESET',
+ 'HR', 'IMAGE', 'IMG', 'INPUT', 'ISINDEX', 'LINK', 'META', 'PARAM',
+ 'SOURCE', 'STYLE', 'TITLE', 'WBR'];
+
/**
* Parses the HTML fragment and sets it as the contents of this element.
*
@@ -23738,6 +23758,22 @@
String value = nodeValue; // Fetch DOM Node property once.
return value == null ? super.toString() : value;
}
+
+ /**
+ * A list of this node's children.
+ *
+ * ## Other resources
+ *
+ * * [Node.childNodes]
+ * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
+ * from MDN.
+ */
+ @DomName('Node.childNodes')
+ @DocsEditable()
+ @Returns('NodeList')
+ @Creates('NodeList')
+ final List<Node> childNodes;
+
// To suppress missing implicit constructor warnings.
factory Node._() { throw new UnsupportedError("Not supported"); }
@@ -23795,21 +23831,6 @@
final String baseUri;
/**
- * A list of this node's children.
- *
- * ## Other resources
- *
- * * [Node.childNodes]
- * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
- * from MDN.
- */
- @DomName('Node.childNodes')
- @DocsEditable()
- @Returns('NodeList')
- @Creates('NodeList')
- final List<Node> childNodes;
-
- /**
* The first child of this node.
*
* ## Other resources
@@ -39448,17 +39469,17 @@
}
class _SimpleNodeValidator implements NodeValidator {
- final Set<String> allowedElements;
- final Set<String> allowedAttributes;
- final Set<String> allowedUriAttributes;
+ final Set<String> allowedElements = new Set<String>();
+ final Set<String> allowedAttributes = new Set<String>();
+ final Set<String> allowedUriAttributes = new Set<String>();
final UriPolicy uriPolicy;
factory _SimpleNodeValidator.allowNavigation(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
- allowedElements: [
+ allowedElements: const [
'A',
'FORM'],
- allowedAttributes: [
+ allowedAttributes: const [
'A::accesskey',
'A::coords',
'A::hreflang',
@@ -39475,7 +39496,7 @@
'FORM::novalidate',
'FORM::target',
],
- allowedUriAttributes: [
+ allowedUriAttributes: const [
'A::href',
'FORM::action',
]);
@@ -39483,10 +39504,10 @@
factory _SimpleNodeValidator.allowImages(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
- allowedElements: [
+ allowedElements: const [
'IMG'
],
- allowedAttributes: [
+ allowedAttributes: const [
'IMG::align',
'IMG::alt',
'IMG::border',
@@ -39498,14 +39519,14 @@
'IMG::vspace',
'IMG::width',
],
- allowedUriAttributes: [
+ allowedUriAttributes: const [
'IMG::src',
]);
}
factory _SimpleNodeValidator.allowTextElements() {
return new _SimpleNodeValidator(null,
- allowedElements: [
+ allowedElements: const [
'B',
'BLOCKQUOTE',
'BR',
@@ -39533,13 +39554,18 @@
*/
_SimpleNodeValidator(this.uriPolicy,
{Iterable<String> allowedElements, Iterable<String> allowedAttributes,
- Iterable<String> allowedUriAttributes}):
- this.allowedElements = allowedElements != null ?
- new Set.from(allowedElements) : new Set(),
- this.allowedAttributes = allowedAttributes != null ?
- new Set.from(allowedAttributes) : new Set(),
- this.allowedUriAttributes = allowedUriAttributes != null ?
- new Set.from(allowedUriAttributes) : new Set();
+ Iterable<String> allowedUriAttributes}) {
+ this.allowedElements.addAll(allowedElements ?? const []);
+ allowedAttributes = allowedAttributes ?? const [];
+ allowedUriAttributes = allowedUriAttributes ?? const [];
+ var legalAttributes = allowedAttributes.where(
+ (x) => !_Html5NodeValidator._uriAttributes.contains(x));
+ var extraUriAttributes = allowedAttributes.where(
+ (x) => _Html5NodeValidator._uriAttributes.contains(x));
+ this.allowedAttributes.addAll(legalAttributes);
+ this.allowedUriAttributes.addAll(allowedUriAttributes);
+ this.allowedUriAttributes.addAll(extraUriAttributes);
+ }
bool allowsElement(Element element) {
return allowedElements.contains(element.tagName);
diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart
index 9e07f31..218dc51 100644
--- a/sdk/lib/html/dartium/html_dartium.dart
+++ b/sdk/lib/html/dartium/html_dartium.dart
@@ -30,6 +30,7 @@
import 'dart:html_common';
import 'dart:indexed_db';
import 'dart:indexed_db' show indexed_dbBlinkMap;
+import 'dart:indexed_db' show indexed_dbBlinkFunctionMap;
import 'dart:isolate';
import 'dart:js' as js;
import "dart:convert";
@@ -39,13 +40,16 @@
import 'dart:typed_data';
import 'dart:web_gl' as gl;
import 'dart:web_gl' show web_glBlinkMap;
+import 'dart:web_gl' show web_glBlinkFunctionMap;
import 'dart:web_sql';
import 'dart:svg' as svg;
import 'dart:svg' show svgBlinkMap;
+import 'dart:svg' show svgBlinkFunctionMap;
import 'dart:svg' show Matrix;
import 'dart:svg' show SvgSvgElement;
import 'dart:web_audio' as web_audio;
import 'dart:web_audio' show web_audioBlinkMap;
+import 'dart:web_audio' show web_audioBlinkFunctionMap;
import 'dart:_blink' as _blink;
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -614,6 +618,12 @@
}
return null;
}
+
+
+unwrap_jso(dartClass_instance) => dartClass_instance;
+wrap_jso(jsObject) => jsObject;
+wrap_jso_list(jso_nodes) => jso_nodes;
+make_dart_rectangle(r) => r;
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -669,148 +679,148 @@
@DomName('HTMLAnchorElement.download')
@DocsEditable()
- String get download => _blink.BlinkHTMLAnchorElement.instance.download_Getter_(this);
-
+ String get download => _blink.BlinkHTMLAnchorElement.instance.download_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.download')
@DocsEditable()
- void set download(String value) => _blink.BlinkHTMLAnchorElement.instance.download_Setter_(this, value);
-
+ void set download(String value) => _blink.BlinkHTMLAnchorElement.instance.download_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.hreflang')
@DocsEditable()
- String get hreflang => _blink.BlinkHTMLAnchorElement.instance.hreflang_Getter_(this);
-
+ String get hreflang => _blink.BlinkHTMLAnchorElement.instance.hreflang_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.hreflang')
@DocsEditable()
- void set hreflang(String value) => _blink.BlinkHTMLAnchorElement.instance.hreflang_Setter_(this, value);
-
+ void set hreflang(String value) => _blink.BlinkHTMLAnchorElement.instance.hreflang_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLAnchorElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLAnchorElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLAnchorElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLAnchorElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.rel')
@DocsEditable()
- String get rel => _blink.BlinkHTMLAnchorElement.instance.rel_Getter_(this);
-
+ String get rel => _blink.BlinkHTMLAnchorElement.instance.rel_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.rel')
@DocsEditable()
- void set rel(String value) => _blink.BlinkHTMLAnchorElement.instance.rel_Setter_(this, value);
-
+ void set rel(String value) => _blink.BlinkHTMLAnchorElement.instance.rel_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.target')
@DocsEditable()
- String get target => _blink.BlinkHTMLAnchorElement.instance.target_Getter_(this);
-
+ String get target => _blink.BlinkHTMLAnchorElement.instance.target_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.target')
@DocsEditable()
- void set target(String value) => _blink.BlinkHTMLAnchorElement.instance.target_Setter_(this, value);
-
+ void set target(String value) => _blink.BlinkHTMLAnchorElement.instance.target_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLAnchorElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLAnchorElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLAnchorElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLAnchorElement.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.hash')
@DocsEditable()
- String get hash => _blink.BlinkHTMLAnchorElement.instance.hash_Getter_(this);
-
+ String get hash => _blink.BlinkHTMLAnchorElement.instance.hash_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.hash')
@DocsEditable()
- void set hash(String value) => _blink.BlinkHTMLAnchorElement.instance.hash_Setter_(this, value);
-
+ void set hash(String value) => _blink.BlinkHTMLAnchorElement.instance.hash_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.host')
@DocsEditable()
- String get host => _blink.BlinkHTMLAnchorElement.instance.host_Getter_(this);
-
+ String get host => _blink.BlinkHTMLAnchorElement.instance.host_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.host')
@DocsEditable()
- void set host(String value) => _blink.BlinkHTMLAnchorElement.instance.host_Setter_(this, value);
-
+ void set host(String value) => _blink.BlinkHTMLAnchorElement.instance.host_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.hostname')
@DocsEditable()
- String get hostname => _blink.BlinkHTMLAnchorElement.instance.hostname_Getter_(this);
-
+ String get hostname => _blink.BlinkHTMLAnchorElement.instance.hostname_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.hostname')
@DocsEditable()
- void set hostname(String value) => _blink.BlinkHTMLAnchorElement.instance.hostname_Setter_(this, value);
-
+ void set hostname(String value) => _blink.BlinkHTMLAnchorElement.instance.hostname_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.href')
@DocsEditable()
- String get href => _blink.BlinkHTMLAnchorElement.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkHTMLAnchorElement.instance.href_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.href')
@DocsEditable()
- void set href(String value) => _blink.BlinkHTMLAnchorElement.instance.href_Setter_(this, value);
-
+ void set href(String value) => _blink.BlinkHTMLAnchorElement.instance.href_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.origin')
@DocsEditable()
// WebKit only
@Experimental() // non-standard
- String get origin => _blink.BlinkHTMLAnchorElement.instance.origin_Getter_(this);
-
+ String get origin => _blink.BlinkHTMLAnchorElement.instance.origin_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.password')
@DocsEditable()
@Experimental() // untriaged
- String get password => _blink.BlinkHTMLAnchorElement.instance.password_Getter_(this);
-
+ String get password => _blink.BlinkHTMLAnchorElement.instance.password_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.password')
@DocsEditable()
@Experimental() // untriaged
- void set password(String value) => _blink.BlinkHTMLAnchorElement.instance.password_Setter_(this, value);
-
+ void set password(String value) => _blink.BlinkHTMLAnchorElement.instance.password_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.pathname')
@DocsEditable()
- String get pathname => _blink.BlinkHTMLAnchorElement.instance.pathname_Getter_(this);
-
+ String get pathname => _blink.BlinkHTMLAnchorElement.instance.pathname_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.pathname')
@DocsEditable()
- void set pathname(String value) => _blink.BlinkHTMLAnchorElement.instance.pathname_Setter_(this, value);
-
+ void set pathname(String value) => _blink.BlinkHTMLAnchorElement.instance.pathname_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.port')
@DocsEditable()
- String get port => _blink.BlinkHTMLAnchorElement.instance.port_Getter_(this);
-
+ String get port => _blink.BlinkHTMLAnchorElement.instance.port_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.port')
@DocsEditable()
- void set port(String value) => _blink.BlinkHTMLAnchorElement.instance.port_Setter_(this, value);
-
+ void set port(String value) => _blink.BlinkHTMLAnchorElement.instance.port_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.protocol')
@DocsEditable()
- String get protocol => _blink.BlinkHTMLAnchorElement.instance.protocol_Getter_(this);
-
+ String get protocol => _blink.BlinkHTMLAnchorElement.instance.protocol_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.protocol')
@DocsEditable()
- void set protocol(String value) => _blink.BlinkHTMLAnchorElement.instance.protocol_Setter_(this, value);
-
+ void set protocol(String value) => _blink.BlinkHTMLAnchorElement.instance.protocol_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.search')
@DocsEditable()
- String get search => _blink.BlinkHTMLAnchorElement.instance.search_Getter_(this);
-
+ String get search => _blink.BlinkHTMLAnchorElement.instance.search_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.search')
@DocsEditable()
- void set search(String value) => _blink.BlinkHTMLAnchorElement.instance.search_Setter_(this, value);
-
+ void set search(String value) => _blink.BlinkHTMLAnchorElement.instance.search_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.username')
@DocsEditable()
@Experimental() // untriaged
- String get username => _blink.BlinkHTMLAnchorElement.instance.username_Getter_(this);
-
+ String get username => _blink.BlinkHTMLAnchorElement.instance.username_Getter_(unwrap_jso(this));
+
@DomName('HTMLAnchorElement.username')
@DocsEditable()
@Experimental() // untriaged
- void set username(String value) => _blink.BlinkHTMLAnchorElement.instance.username_Setter_(this, value);
-
+ void set username(String value) => _blink.BlinkHTMLAnchorElement.instance.username_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAnchorElement.toString')
@DocsEditable()
- String toString() => _blink.BlinkHTMLAnchorElement.instance.toString_Callback_0_(this);
-
+ String toString() => _blink.BlinkHTMLAnchorElement.instance.toString_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -875,12 +885,12 @@
@DomName('WebKitAnimationEvent.animationName')
@DocsEditable()
- String get animationName => _blink.BlinkWebKitAnimationEvent.instance.animationName_Getter_(this);
-
+ String get animationName => _blink.BlinkWebKitAnimationEvent.instance.animationName_Getter_(unwrap_jso(this));
+
@DomName('WebKitAnimationEvent.elapsedTime')
@DocsEditable()
- double get elapsedTime => _blink.BlinkWebKitAnimationEvent.instance.elapsedTime_Getter_(this);
-
+ double get elapsedTime => _blink.BlinkWebKitAnimationEvent.instance.elapsedTime_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -899,43 +909,43 @@
@DomName('AnimationNode.activeDuration')
@DocsEditable()
@Experimental() // untriaged
- double get activeDuration => _blink.BlinkAnimationNode.instance.activeDuration_Getter_(this);
-
+ double get activeDuration => _blink.BlinkAnimationNode.instance.activeDuration_Getter_(unwrap_jso(this));
+
@DomName('AnimationNode.currentIteration')
@DocsEditable()
@Experimental() // untriaged
- int get currentIteration => _blink.BlinkAnimationNode.instance.currentIteration_Getter_(this);
-
+ int get currentIteration => _blink.BlinkAnimationNode.instance.currentIteration_Getter_(unwrap_jso(this));
+
@DomName('AnimationNode.duration')
@DocsEditable()
@Experimental() // untriaged
- double get duration => _blink.BlinkAnimationNode.instance.duration_Getter_(this);
-
+ double get duration => _blink.BlinkAnimationNode.instance.duration_Getter_(unwrap_jso(this));
+
@DomName('AnimationNode.endTime')
@DocsEditable()
@Experimental() // untriaged
- double get endTime => _blink.BlinkAnimationNode.instance.endTime_Getter_(this);
-
+ double get endTime => _blink.BlinkAnimationNode.instance.endTime_Getter_(unwrap_jso(this));
+
@DomName('AnimationNode.localTime')
@DocsEditable()
@Experimental() // untriaged
- double get localTime => _blink.BlinkAnimationNode.instance.localTime_Getter_(this);
-
+ double get localTime => _blink.BlinkAnimationNode.instance.localTime_Getter_(unwrap_jso(this));
+
@DomName('AnimationNode.player')
@DocsEditable()
@Experimental() // untriaged
- AnimationPlayer get player => _blink.BlinkAnimationNode.instance.player_Getter_(this);
-
+ AnimationPlayer get player => wrap_jso(_blink.BlinkAnimationNode.instance.player_Getter_(unwrap_jso(this)));
+
@DomName('AnimationNode.startTime')
@DocsEditable()
@Experimental() // untriaged
- double get startTime => _blink.BlinkAnimationNode.instance.startTime_Getter_(this);
-
+ double get startTime => _blink.BlinkAnimationNode.instance.startTime_Getter_(unwrap_jso(this));
+
@DomName('AnimationNode.timing')
@DocsEditable()
@Experimental() // untriaged
- Timing get timing => _blink.BlinkAnimationNode.instance.timing_Getter_(this);
-
+ Timing get timing => wrap_jso(_blink.BlinkAnimationNode.instance.timing_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -957,73 +967,73 @@
@DomName('AnimationPlayer.currentTime')
@DocsEditable()
@Experimental() // untriaged
- num get currentTime => _blink.BlinkAnimationPlayer.instance.currentTime_Getter_(this);
-
+ num get currentTime => _blink.BlinkAnimationPlayer.instance.currentTime_Getter_(unwrap_jso(this));
+
@DomName('AnimationPlayer.currentTime')
@DocsEditable()
@Experimental() // untriaged
- void set currentTime(num value) => _blink.BlinkAnimationPlayer.instance.currentTime_Setter_(this, value);
-
+ void set currentTime(num value) => _blink.BlinkAnimationPlayer.instance.currentTime_Setter_(unwrap_jso(this), value);
+
@DomName('AnimationPlayer.playState')
@DocsEditable()
@Experimental() // untriaged
- String get playState => _blink.BlinkAnimationPlayer.instance.playState_Getter_(this);
-
+ String get playState => _blink.BlinkAnimationPlayer.instance.playState_Getter_(unwrap_jso(this));
+
@DomName('AnimationPlayer.playbackRate')
@DocsEditable()
@Experimental() // untriaged
- num get playbackRate => _blink.BlinkAnimationPlayer.instance.playbackRate_Getter_(this);
-
+ num get playbackRate => _blink.BlinkAnimationPlayer.instance.playbackRate_Getter_(unwrap_jso(this));
+
@DomName('AnimationPlayer.playbackRate')
@DocsEditable()
@Experimental() // untriaged
- void set playbackRate(num value) => _blink.BlinkAnimationPlayer.instance.playbackRate_Setter_(this, value);
-
+ void set playbackRate(num value) => _blink.BlinkAnimationPlayer.instance.playbackRate_Setter_(unwrap_jso(this), value);
+
@DomName('AnimationPlayer.source')
@DocsEditable()
@Experimental() // untriaged
- AnimationNode get source => _blink.BlinkAnimationPlayer.instance.source_Getter_(this);
-
+ AnimationNode get source => wrap_jso(_blink.BlinkAnimationPlayer.instance.source_Getter_(unwrap_jso(this)));
+
@DomName('AnimationPlayer.source')
@DocsEditable()
@Experimental() // untriaged
- void set source(AnimationNode value) => _blink.BlinkAnimationPlayer.instance.source_Setter_(this, value);
-
+ void set source(AnimationNode value) => _blink.BlinkAnimationPlayer.instance.source_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('AnimationPlayer.startTime')
@DocsEditable()
@Experimental() // untriaged
- num get startTime => _blink.BlinkAnimationPlayer.instance.startTime_Getter_(this);
-
+ num get startTime => _blink.BlinkAnimationPlayer.instance.startTime_Getter_(unwrap_jso(this));
+
@DomName('AnimationPlayer.startTime')
@DocsEditable()
@Experimental() // untriaged
- void set startTime(num value) => _blink.BlinkAnimationPlayer.instance.startTime_Setter_(this, value);
-
+ void set startTime(num value) => _blink.BlinkAnimationPlayer.instance.startTime_Setter_(unwrap_jso(this), value);
+
@DomName('AnimationPlayer.cancel')
@DocsEditable()
@Experimental() // untriaged
- void cancel() => _blink.BlinkAnimationPlayer.instance.cancel_Callback_0_(this);
-
+ void cancel() => _blink.BlinkAnimationPlayer.instance.cancel_Callback_0_(unwrap_jso(this));
+
@DomName('AnimationPlayer.finish')
@DocsEditable()
@Experimental() // untriaged
- void finish() => _blink.BlinkAnimationPlayer.instance.finish_Callback_0_(this);
-
+ void finish() => _blink.BlinkAnimationPlayer.instance.finish_Callback_0_(unwrap_jso(this));
+
@DomName('AnimationPlayer.pause')
@DocsEditable()
@Experimental() // untriaged
- void pause() => _blink.BlinkAnimationPlayer.instance.pause_Callback_0_(this);
-
+ void pause() => _blink.BlinkAnimationPlayer.instance.pause_Callback_0_(unwrap_jso(this));
+
@DomName('AnimationPlayer.play')
@DocsEditable()
@Experimental() // untriaged
- void play() => _blink.BlinkAnimationPlayer.instance.play_Callback_0_(this);
-
+ void play() => _blink.BlinkAnimationPlayer.instance.play_Callback_0_(unwrap_jso(this));
+
@DomName('AnimationPlayer.reverse')
@DocsEditable()
@Experimental() // untriaged
- void reverse() => _blink.BlinkAnimationPlayer.instance.reverse_Callback_0_(this);
-
+ void reverse() => _blink.BlinkAnimationPlayer.instance.reverse_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1042,13 +1052,13 @@
@DomName('AnimationPlayerEvent.currentTime')
@DocsEditable()
@Experimental() // untriaged
- double get currentTime => _blink.BlinkAnimationPlayerEvent.instance.currentTime_Getter_(this);
-
+ double get currentTime => _blink.BlinkAnimationPlayerEvent.instance.currentTime_Getter_(unwrap_jso(this));
+
@DomName('AnimationPlayerEvent.timelineTime')
@DocsEditable()
@Experimental() // untriaged
- double get timelineTime => _blink.BlinkAnimationPlayerEvent.instance.timelineTime_Getter_(this);
-
+ double get timelineTime => _blink.BlinkAnimationPlayerEvent.instance.timelineTime_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1067,18 +1077,18 @@
@DomName('AnimationTimeline.currentTime')
@DocsEditable()
@Experimental() // untriaged
- double get currentTime => _blink.BlinkAnimationTimeline.instance.currentTime_Getter_(this);
-
+ double get currentTime => _blink.BlinkAnimationTimeline.instance.currentTime_Getter_(unwrap_jso(this));
+
@DomName('AnimationTimeline.getAnimationPlayers')
@DocsEditable()
@Experimental() // untriaged
- List<AnimationPlayer> getAnimationPlayers() => _blink.BlinkAnimationTimeline.instance.getAnimationPlayers_Callback_0_(this);
-
+ List<AnimationPlayer> getAnimationPlayers() => _blink.BlinkAnimationTimeline.instance.getAnimationPlayers_Callback_0_(unwrap_jso(this));
+
@DomName('AnimationTimeline.play')
@DocsEditable()
@Experimental() // untriaged
- AnimationPlayer play(AnimationNode source) => _blink.BlinkAnimationTimeline.instance.play_Callback_1_(this, source);
-
+ AnimationPlayer play(AnimationNode source) => wrap_jso(_blink.BlinkAnimationTimeline.instance.play_Callback_1_(unwrap_jso(this), unwrap_jso(source)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1211,20 +1221,20 @@
@DomName('ApplicationCache.status')
@DocsEditable()
- int get status => _blink.BlinkApplicationCache.instance.status_Getter_(this);
-
+ int get status => _blink.BlinkApplicationCache.instance.status_Getter_(unwrap_jso(this));
+
@DomName('ApplicationCache.abort')
@DocsEditable()
- void abort() => _blink.BlinkApplicationCache.instance.abort_Callback_0_(this);
-
+ void abort() => _blink.BlinkApplicationCache.instance.abort_Callback_0_(unwrap_jso(this));
+
@DomName('ApplicationCache.swapCache')
@DocsEditable()
- void swapCache() => _blink.BlinkApplicationCache.instance.swapCache_Callback_0_(this);
-
+ void swapCache() => _blink.BlinkApplicationCache.instance.swapCache_Callback_0_(unwrap_jso(this));
+
@DomName('ApplicationCache.update')
@DocsEditable()
- void update() => _blink.BlinkApplicationCache.instance.update_Callback_0_(this);
-
+ void update() => _blink.BlinkApplicationCache.instance.update_Callback_0_(unwrap_jso(this));
+
/// Stream of `cached` events handled by this [ApplicationCache].
@DomName('ApplicationCache.oncached')
@DocsEditable()
@@ -1283,23 +1293,23 @@
@DomName('ApplicationCacheErrorEvent.message')
@DocsEditable()
@Experimental() // untriaged
- String get message => _blink.BlinkApplicationCacheErrorEvent.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkApplicationCacheErrorEvent.instance.message_Getter_(unwrap_jso(this));
+
@DomName('ApplicationCacheErrorEvent.reason')
@DocsEditable()
@Experimental() // untriaged
- String get reason => _blink.BlinkApplicationCacheErrorEvent.instance.reason_Getter_(this);
-
+ String get reason => _blink.BlinkApplicationCacheErrorEvent.instance.reason_Getter_(unwrap_jso(this));
+
@DomName('ApplicationCacheErrorEvent.status')
@DocsEditable()
@Experimental() // untriaged
- int get status => _blink.BlinkApplicationCacheErrorEvent.instance.status_Getter_(this);
-
+ int get status => _blink.BlinkApplicationCacheErrorEvent.instance.status_Getter_(unwrap_jso(this));
+
@DomName('ApplicationCacheErrorEvent.url')
@DocsEditable()
@Experimental() // untriaged
- String get url => _blink.BlinkApplicationCacheErrorEvent.instance.url_Getter_(this);
-
+ String get url => _blink.BlinkApplicationCacheErrorEvent.instance.url_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1336,130 +1346,130 @@
@DomName('HTMLAreaElement.alt')
@DocsEditable()
- String get alt => _blink.BlinkHTMLAreaElement.instance.alt_Getter_(this);
-
+ String get alt => _blink.BlinkHTMLAreaElement.instance.alt_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.alt')
@DocsEditable()
- void set alt(String value) => _blink.BlinkHTMLAreaElement.instance.alt_Setter_(this, value);
-
+ void set alt(String value) => _blink.BlinkHTMLAreaElement.instance.alt_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.coords')
@DocsEditable()
- String get coords => _blink.BlinkHTMLAreaElement.instance.coords_Getter_(this);
-
+ String get coords => _blink.BlinkHTMLAreaElement.instance.coords_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.coords')
@DocsEditable()
- void set coords(String value) => _blink.BlinkHTMLAreaElement.instance.coords_Setter_(this, value);
-
+ void set coords(String value) => _blink.BlinkHTMLAreaElement.instance.coords_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.shape')
@DocsEditable()
- String get shape => _blink.BlinkHTMLAreaElement.instance.shape_Getter_(this);
-
+ String get shape => _blink.BlinkHTMLAreaElement.instance.shape_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.shape')
@DocsEditable()
- void set shape(String value) => _blink.BlinkHTMLAreaElement.instance.shape_Setter_(this, value);
-
+ void set shape(String value) => _blink.BlinkHTMLAreaElement.instance.shape_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.target')
@DocsEditable()
- String get target => _blink.BlinkHTMLAreaElement.instance.target_Getter_(this);
-
+ String get target => _blink.BlinkHTMLAreaElement.instance.target_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.target')
@DocsEditable()
- void set target(String value) => _blink.BlinkHTMLAreaElement.instance.target_Setter_(this, value);
-
+ void set target(String value) => _blink.BlinkHTMLAreaElement.instance.target_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.hash')
@DocsEditable()
- String get hash => _blink.BlinkHTMLAreaElement.instance.hash_Getter_(this);
-
+ String get hash => _blink.BlinkHTMLAreaElement.instance.hash_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.hash')
@DocsEditable()
- void set hash(String value) => _blink.BlinkHTMLAreaElement.instance.hash_Setter_(this, value);
-
+ void set hash(String value) => _blink.BlinkHTMLAreaElement.instance.hash_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.host')
@DocsEditable()
- String get host => _blink.BlinkHTMLAreaElement.instance.host_Getter_(this);
-
+ String get host => _blink.BlinkHTMLAreaElement.instance.host_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.host')
@DocsEditable()
- void set host(String value) => _blink.BlinkHTMLAreaElement.instance.host_Setter_(this, value);
-
+ void set host(String value) => _blink.BlinkHTMLAreaElement.instance.host_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.hostname')
@DocsEditable()
- String get hostname => _blink.BlinkHTMLAreaElement.instance.hostname_Getter_(this);
-
+ String get hostname => _blink.BlinkHTMLAreaElement.instance.hostname_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.hostname')
@DocsEditable()
- void set hostname(String value) => _blink.BlinkHTMLAreaElement.instance.hostname_Setter_(this, value);
-
+ void set hostname(String value) => _blink.BlinkHTMLAreaElement.instance.hostname_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.href')
@DocsEditable()
- String get href => _blink.BlinkHTMLAreaElement.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkHTMLAreaElement.instance.href_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.href')
@DocsEditable()
- void set href(String value) => _blink.BlinkHTMLAreaElement.instance.href_Setter_(this, value);
-
+ void set href(String value) => _blink.BlinkHTMLAreaElement.instance.href_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.origin')
@DocsEditable()
@Experimental() // untriaged
- String get origin => _blink.BlinkHTMLAreaElement.instance.origin_Getter_(this);
-
+ String get origin => _blink.BlinkHTMLAreaElement.instance.origin_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.password')
@DocsEditable()
@Experimental() // untriaged
- String get password => _blink.BlinkHTMLAreaElement.instance.password_Getter_(this);
-
+ String get password => _blink.BlinkHTMLAreaElement.instance.password_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.password')
@DocsEditable()
@Experimental() // untriaged
- void set password(String value) => _blink.BlinkHTMLAreaElement.instance.password_Setter_(this, value);
-
+ void set password(String value) => _blink.BlinkHTMLAreaElement.instance.password_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.pathname')
@DocsEditable()
- String get pathname => _blink.BlinkHTMLAreaElement.instance.pathname_Getter_(this);
-
+ String get pathname => _blink.BlinkHTMLAreaElement.instance.pathname_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.pathname')
@DocsEditable()
- void set pathname(String value) => _blink.BlinkHTMLAreaElement.instance.pathname_Setter_(this, value);
-
+ void set pathname(String value) => _blink.BlinkHTMLAreaElement.instance.pathname_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.port')
@DocsEditable()
- String get port => _blink.BlinkHTMLAreaElement.instance.port_Getter_(this);
-
+ String get port => _blink.BlinkHTMLAreaElement.instance.port_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.port')
@DocsEditable()
- void set port(String value) => _blink.BlinkHTMLAreaElement.instance.port_Setter_(this, value);
-
+ void set port(String value) => _blink.BlinkHTMLAreaElement.instance.port_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.protocol')
@DocsEditable()
- String get protocol => _blink.BlinkHTMLAreaElement.instance.protocol_Getter_(this);
-
+ String get protocol => _blink.BlinkHTMLAreaElement.instance.protocol_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.protocol')
@DocsEditable()
- void set protocol(String value) => _blink.BlinkHTMLAreaElement.instance.protocol_Setter_(this, value);
-
+ void set protocol(String value) => _blink.BlinkHTMLAreaElement.instance.protocol_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.search')
@DocsEditable()
- String get search => _blink.BlinkHTMLAreaElement.instance.search_Getter_(this);
-
+ String get search => _blink.BlinkHTMLAreaElement.instance.search_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.search')
@DocsEditable()
- void set search(String value) => _blink.BlinkHTMLAreaElement.instance.search_Setter_(this, value);
-
+ void set search(String value) => _blink.BlinkHTMLAreaElement.instance.search_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.username')
@DocsEditable()
@Experimental() // untriaged
- String get username => _blink.BlinkHTMLAreaElement.instance.username_Getter_(this);
-
+ String get username => _blink.BlinkHTMLAreaElement.instance.username_Getter_(unwrap_jso(this));
+
@DomName('HTMLAreaElement.username')
@DocsEditable()
@Experimental() // untriaged
- void set username(String value) => _blink.BlinkHTMLAreaElement.instance.username_Setter_(this, value);
-
+ void set username(String value) => _blink.BlinkHTMLAreaElement.instance.username_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLAreaElement.toString')
@DocsEditable()
@Experimental() // untriaged
- String toString() => _blink.BlinkHTMLAreaElement.instance.toString_Callback_0_(this);
-
+ String toString() => _blink.BlinkHTMLAreaElement.instance.toString_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1504,33 +1514,33 @@
@DomName('AudioTrack.enabled')
@DocsEditable()
@Experimental() // untriaged
- bool get enabled => _blink.BlinkAudioTrack.instance.enabled_Getter_(this);
-
+ bool get enabled => _blink.BlinkAudioTrack.instance.enabled_Getter_(unwrap_jso(this));
+
@DomName('AudioTrack.enabled')
@DocsEditable()
@Experimental() // untriaged
- void set enabled(bool value) => _blink.BlinkAudioTrack.instance.enabled_Setter_(this, value);
-
+ void set enabled(bool value) => _blink.BlinkAudioTrack.instance.enabled_Setter_(unwrap_jso(this), value);
+
@DomName('AudioTrack.id')
@DocsEditable()
@Experimental() // untriaged
- String get id => _blink.BlinkAudioTrack.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkAudioTrack.instance.id_Getter_(unwrap_jso(this));
+
@DomName('AudioTrack.kind')
@DocsEditable()
@Experimental() // untriaged
- String get kind => _blink.BlinkAudioTrack.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkAudioTrack.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('AudioTrack.label')
@DocsEditable()
@Experimental() // untriaged
- String get label => _blink.BlinkAudioTrack.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkAudioTrack.instance.label_Getter_(unwrap_jso(this));
+
@DomName('AudioTrack.language')
@DocsEditable()
@Experimental() // untriaged
- String get language => _blink.BlinkAudioTrack.instance.language_Getter_(this);
-
+ String get language => _blink.BlinkAudioTrack.instance.language_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1554,18 +1564,18 @@
@DomName('AudioTrackList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkAudioTrackList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkAudioTrackList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('AudioTrackList.__getter__')
@DocsEditable()
@Experimental() // untriaged
- AudioTrack __getter__(int index) => _blink.BlinkAudioTrackList.instance.$__getter___Callback_1_(this, index);
-
+ AudioTrack __getter__(int index) => wrap_jso(_blink.BlinkAudioTrackList.instance.$__getter___Callback_1_(unwrap_jso(this), index));
+
@DomName('AudioTrackList.getTrackById')
@DocsEditable()
@Experimental() // untriaged
- AudioTrack getTrackById(String id) => _blink.BlinkAudioTrackList.instance.getTrackById_Callback_1_(this, id);
-
+ AudioTrack getTrackById(String id) => wrap_jso(_blink.BlinkAudioTrackList.instance.getTrackById_Callback_1_(unwrap_jso(this), id));
+
@DomName('AudioTrackList.onchange')
@DocsEditable()
@Experimental() // untriaged
@@ -1589,8 +1599,8 @@
@DomName('AutocompleteErrorEvent.reason')
@DocsEditable()
- String get reason => _blink.BlinkAutocompleteErrorEvent.instance.reason_Getter_(this);
-
+ String get reason => _blink.BlinkAutocompleteErrorEvent.instance.reason_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1633,8 +1643,8 @@
@DomName('BarProp.visible')
@DocsEditable()
- bool get visible => _blink.BlinkBarProp.instance.visible_Getter_(this);
-
+ bool get visible => _blink.BlinkBarProp.instance.visible_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1661,20 +1671,20 @@
@DomName('HTMLBaseElement.href')
@DocsEditable()
- String get href => _blink.BlinkHTMLBaseElement.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkHTMLBaseElement.instance.href_Getter_(unwrap_jso(this));
+
@DomName('HTMLBaseElement.href')
@DocsEditable()
- void set href(String value) => _blink.BlinkHTMLBaseElement.instance.href_Setter_(this, value);
-
+ void set href(String value) => _blink.BlinkHTMLBaseElement.instance.href_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLBaseElement.target')
@DocsEditable()
- String get target => _blink.BlinkHTMLBaseElement.instance.target_Getter_(this);
-
+ String get target => _blink.BlinkHTMLBaseElement.instance.target_Getter_(unwrap_jso(this));
+
@DomName('HTMLBaseElement.target')
@DocsEditable()
- void set target(String value) => _blink.BlinkHTMLBaseElement.instance.target_Setter_(this, value);
-
+ void set target(String value) => _blink.BlinkHTMLBaseElement.instance.target_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1693,20 +1703,20 @@
@DomName('BatteryManager.charging')
@DocsEditable()
- bool get charging => _blink.BlinkBatteryManager.instance.charging_Getter_(this);
-
+ bool get charging => _blink.BlinkBatteryManager.instance.charging_Getter_(unwrap_jso(this));
+
@DomName('BatteryManager.chargingTime')
@DocsEditable()
- double get chargingTime => _blink.BlinkBatteryManager.instance.chargingTime_Getter_(this);
-
+ double get chargingTime => _blink.BlinkBatteryManager.instance.chargingTime_Getter_(unwrap_jso(this));
+
@DomName('BatteryManager.dischargingTime')
@DocsEditable()
- double get dischargingTime => _blink.BlinkBatteryManager.instance.dischargingTime_Getter_(this);
-
+ double get dischargingTime => _blink.BlinkBatteryManager.instance.dischargingTime_Getter_(unwrap_jso(this));
+
@DomName('BatteryManager.level')
@DocsEditable()
- double get level => _blink.BlinkBatteryManager.instance.level_Getter_(this);
-
+ double get level => _blink.BlinkBatteryManager.instance.level_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1723,12 +1733,12 @@
@DomName('BeforeUnloadEvent.returnValue')
@DocsEditable()
- String get returnValue => _blink.BlinkBeforeUnloadEvent.instance.returnValue_Getter_(this);
-
+ String get returnValue => _blink.BlinkBeforeUnloadEvent.instance.returnValue_Getter_(unwrap_jso(this));
+
@DomName('BeforeUnloadEvent.returnValue')
@DocsEditable()
- void set returnValue(String value) => _blink.BlinkBeforeUnloadEvent.instance.returnValue_Setter_(this, value);
-
+ void set returnValue(String value) => _blink.BlinkBeforeUnloadEvent.instance.returnValue_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1742,35 +1752,35 @@
@DomName('Blob.Blob')
@DocsEditable()
- factory Blob(List blobParts, [String type, String endings]) => _create(blobParts, type, endings);
+ factory Blob(List blobParts, [String type, String endings]) => wrap_jso(_create(blobParts, type, endings));
@DocsEditable()
static Blob _create(blobParts, type, endings) => _blink.BlinkBlob.instance.constructorCallback_3_(blobParts, type, endings);
@DomName('Blob.size')
@DocsEditable()
- int get size => _blink.BlinkBlob.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkBlob.instance.size_Getter_(unwrap_jso(this));
+
@DomName('Blob.type')
@DocsEditable()
- String get type => _blink.BlinkBlob.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkBlob.instance.type_Getter_(unwrap_jso(this));
+
@DomName('Blob.close')
@DocsEditable()
@Experimental() // untriaged
- void close() => _blink.BlinkBlob.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkBlob.instance.close_Callback_0_(unwrap_jso(this));
+
Blob slice([int start, int end, String contentType]) {
if (contentType != null) {
- return _blink.BlinkBlob.instance.slice_Callback_3_(this, start, end, contentType);
+ return wrap_jso(_blink.BlinkBlob.instance.slice_Callback_3_(unwrap_jso(this), start, end, contentType));
}
if (end != null) {
- return _blink.BlinkBlob.instance.slice_Callback_2_(this, start, end);
+ return wrap_jso(_blink.BlinkBlob.instance.slice_Callback_2_(unwrap_jso(this), start, end));
}
if (start != null) {
- return _blink.BlinkBlob.instance.slice_Callback_1_(this, start);
+ return wrap_jso(_blink.BlinkBlob.instance.slice_Callback_1_(unwrap_jso(this), start));
}
- return _blink.BlinkBlob.instance.slice_Callback_0_(this);
+ return wrap_jso(_blink.BlinkBlob.instance.slice_Callback_0_(unwrap_jso(this)));
}
}
@@ -1791,28 +1801,28 @@
@DomName('Body.bodyUsed')
@DocsEditable()
@Experimental() // untriaged
- bool get bodyUsed => _blink.BlinkBody.instance.bodyUsed_Getter_(this);
-
+ bool get bodyUsed => _blink.BlinkBody.instance.bodyUsed_Getter_(unwrap_jso(this));
+
@DomName('Body.arrayBuffer')
@DocsEditable()
@Experimental() // untriaged
- Future arrayBuffer() => _blink.BlinkBody.instance.arrayBuffer_Callback_0_(this);
-
+ Future arrayBuffer() => _blink.BlinkBody.instance.arrayBuffer_Callback_0_(unwrap_jso(this));
+
@DomName('Body.blob')
@DocsEditable()
@Experimental() // untriaged
- Future blob() => _blink.BlinkBody.instance.blob_Callback_0_(this);
-
+ Future blob() => _blink.BlinkBody.instance.blob_Callback_0_(unwrap_jso(this));
+
@DomName('Body.json')
@DocsEditable()
@Experimental() // untriaged
- Future json() => _blink.BlinkBody.instance.json_Callback_0_(this);
-
+ Future json() => _blink.BlinkBody.instance.json_Callback_0_(unwrap_jso(this));
+
@DomName('Body.text')
@DocsEditable()
@Experimental() // untriaged
- Future text() => _blink.BlinkBody.instance.text_Callback_0_(this);
-
+ Future text() => _blink.BlinkBody.instance.text_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2053,113 +2063,113 @@
@DomName('HTMLButtonElement.autofocus')
@DocsEditable()
- bool get autofocus => _blink.BlinkHTMLButtonElement.instance.autofocus_Getter_(this);
-
+ bool get autofocus => _blink.BlinkHTMLButtonElement.instance.autofocus_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.autofocus')
@DocsEditable()
- void set autofocus(bool value) => _blink.BlinkHTMLButtonElement.instance.autofocus_Setter_(this, value);
-
+ void set autofocus(bool value) => _blink.BlinkHTMLButtonElement.instance.autofocus_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLButtonElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLButtonElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLButtonElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLButtonElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLButtonElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLButtonElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLButtonElement.formAction')
@DocsEditable()
- String get formAction => _blink.BlinkHTMLButtonElement.instance.formAction_Getter_(this);
-
+ String get formAction => _blink.BlinkHTMLButtonElement.instance.formAction_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.formAction')
@DocsEditable()
- void set formAction(String value) => _blink.BlinkHTMLButtonElement.instance.formAction_Setter_(this, value);
-
+ void set formAction(String value) => _blink.BlinkHTMLButtonElement.instance.formAction_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.formEnctype')
@DocsEditable()
- String get formEnctype => _blink.BlinkHTMLButtonElement.instance.formEnctype_Getter_(this);
-
+ String get formEnctype => _blink.BlinkHTMLButtonElement.instance.formEnctype_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.formEnctype')
@DocsEditable()
- void set formEnctype(String value) => _blink.BlinkHTMLButtonElement.instance.formEnctype_Setter_(this, value);
-
+ void set formEnctype(String value) => _blink.BlinkHTMLButtonElement.instance.formEnctype_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.formMethod')
@DocsEditable()
- String get formMethod => _blink.BlinkHTMLButtonElement.instance.formMethod_Getter_(this);
-
+ String get formMethod => _blink.BlinkHTMLButtonElement.instance.formMethod_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.formMethod')
@DocsEditable()
- void set formMethod(String value) => _blink.BlinkHTMLButtonElement.instance.formMethod_Setter_(this, value);
-
+ void set formMethod(String value) => _blink.BlinkHTMLButtonElement.instance.formMethod_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.formNoValidate')
@DocsEditable()
- bool get formNoValidate => _blink.BlinkHTMLButtonElement.instance.formNoValidate_Getter_(this);
-
+ bool get formNoValidate => _blink.BlinkHTMLButtonElement.instance.formNoValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.formNoValidate')
@DocsEditable()
- void set formNoValidate(bool value) => _blink.BlinkHTMLButtonElement.instance.formNoValidate_Setter_(this, value);
-
+ void set formNoValidate(bool value) => _blink.BlinkHTMLButtonElement.instance.formNoValidate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.formTarget')
@DocsEditable()
- String get formTarget => _blink.BlinkHTMLButtonElement.instance.formTarget_Getter_(this);
-
+ String get formTarget => _blink.BlinkHTMLButtonElement.instance.formTarget_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.formTarget')
@DocsEditable()
- void set formTarget(String value) => _blink.BlinkHTMLButtonElement.instance.formTarget_Setter_(this, value);
-
+ void set formTarget(String value) => _blink.BlinkHTMLButtonElement.instance.formTarget_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.labels')
@DocsEditable()
@Unstable()
- List<Node> get labels => _blink.BlinkHTMLButtonElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLButtonElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLButtonElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLButtonElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLButtonElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLButtonElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLButtonElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLButtonElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLButtonElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLButtonElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLButtonElement.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLButtonElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLButtonElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLButtonElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLButtonElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLButtonElement.value')
@DocsEditable()
- String get value => _blink.BlinkHTMLButtonElement.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkHTMLButtonElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkHTMLButtonElement.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkHTMLButtonElement.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLButtonElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLButtonElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLButtonElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLButtonElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLButtonElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLButtonElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLButtonElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLButtonElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2194,28 +2204,28 @@
@DomName('CacheStorage.create')
@DocsEditable()
@Experimental() // untriaged
- Future create(String cacheName) => _blink.BlinkCacheStorage.instance.create_Callback_1_(this, cacheName);
-
+ Future create(String cacheName) => _blink.BlinkCacheStorage.instance.create_Callback_1_(unwrap_jso(this), cacheName);
+
@DomName('CacheStorage.delete')
@DocsEditable()
@Experimental() // untriaged
- Future delete(String cacheName) => _blink.BlinkCacheStorage.instance.delete_Callback_1_(this, cacheName);
-
+ Future delete(String cacheName) => _blink.BlinkCacheStorage.instance.delete_Callback_1_(unwrap_jso(this), cacheName);
+
@DomName('CacheStorage.get')
@DocsEditable()
@Experimental() // untriaged
- Future get(String cacheName) => _blink.BlinkCacheStorage.instance.get_Callback_1_(this, cacheName);
-
+ Future get(String cacheName) => _blink.BlinkCacheStorage.instance.get_Callback_1_(unwrap_jso(this), cacheName);
+
@DomName('CacheStorage.has')
@DocsEditable()
@Experimental() // untriaged
- Future has(String cacheName) => _blink.BlinkCacheStorage.instance.has_Callback_1_(this, cacheName);
-
+ Future has(String cacheName) => _blink.BlinkCacheStorage.instance.has_Callback_1_(unwrap_jso(this), cacheName);
+
@DomName('CacheStorage.keys')
@DocsEditable()
@Experimental() // untriaged
- Future keys() => _blink.BlinkCacheStorage.instance.keys_Callback_0_(this);
-
+ Future keys() => _blink.BlinkCacheStorage.instance.keys_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2234,22 +2244,22 @@
@DomName('Canvas2DContextAttributes.alpha')
@DocsEditable()
- bool get alpha => _blink.BlinkCanvas2DContextAttributes.instance.alpha_Getter_(this);
-
+ bool get alpha => _blink.BlinkCanvas2DContextAttributes.instance.alpha_Getter_(unwrap_jso(this));
+
@DomName('Canvas2DContextAttributes.alpha')
@DocsEditable()
- void set alpha(bool value) => _blink.BlinkCanvas2DContextAttributes.instance.alpha_Setter_(this, value);
-
+ void set alpha(bool value) => _blink.BlinkCanvas2DContextAttributes.instance.alpha_Setter_(unwrap_jso(this), value);
+
@DomName('Canvas2DContextAttributes.storage')
@DocsEditable()
@Experimental() // untriaged
- String get storage => _blink.BlinkCanvas2DContextAttributes.instance.storage_Getter_(this);
-
+ String get storage => _blink.BlinkCanvas2DContextAttributes.instance.storage_Getter_(unwrap_jso(this));
+
@DomName('Canvas2DContextAttributes.storage')
@DocsEditable()
@Experimental() // untriaged
- void set storage(String value) => _blink.BlinkCanvas2DContextAttributes.instance.storage_Setter_(this, value);
-
+ void set storage(String value) => _blink.BlinkCanvas2DContextAttributes.instance.storage_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2299,31 +2309,31 @@
/// The height of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.height')
@DocsEditable()
- int get height => _blink.BlinkHTMLCanvasElement.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkHTMLCanvasElement.instance.height_Getter_(unwrap_jso(this));
+
/// The height of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.height')
@DocsEditable()
- void set height(int value) => _blink.BlinkHTMLCanvasElement.instance.height_Setter_(this, value);
-
+ void set height(int value) => _blink.BlinkHTMLCanvasElement.instance.height_Setter_(unwrap_jso(this), value);
+
/// The width of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.width')
@DocsEditable()
- int get width => _blink.BlinkHTMLCanvasElement.instance.width_Getter_(this);
-
+ int get width => _blink.BlinkHTMLCanvasElement.instance.width_Getter_(unwrap_jso(this));
+
/// The width of this canvas element in CSS pixels.
@DomName('HTMLCanvasElement.width')
@DocsEditable()
- void set width(int value) => _blink.BlinkHTMLCanvasElement.instance.width_Setter_(this, value);
-
+ void set width(int value) => _blink.BlinkHTMLCanvasElement.instance.width_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLCanvasElement.getContext')
@DocsEditable()
- Object getContext(String contextId, [Map attrs]) => _blink.BlinkHTMLCanvasElement.instance.getContext_Callback_2_(this, contextId, attrs);
-
+ Object getContext(String contextId, [Map attrs]) => wrap_jso(_blink.BlinkHTMLCanvasElement.instance.getContext_Callback_2_(unwrap_jso(this), contextId, attrs));
+
@DomName('HTMLCanvasElement.toDataURL')
@DocsEditable()
- String _toDataUrl(String type, [num quality]) => _blink.BlinkHTMLCanvasElement.instance.toDataURL_Callback_2_(this, type, quality);
-
+ String _toDataUrl(String type, [num quality]) => _blink.BlinkHTMLCanvasElement.instance.toDataURL_Callback_2_(unwrap_jso(this), type, quality);
+
/// Stream of `webglcontextlost` events handled by this [CanvasElement].
@DomName('HTMLCanvasElement.onwebglcontextlost')
@DocsEditable()
@@ -2465,8 +2475,8 @@
*/
@DomName('CanvasGradient.addColorStop')
@DocsEditable()
- void addColorStop(num offset, String color) => _blink.BlinkCanvasGradient.instance.addColorStop_Callback_2_(this, offset, color);
-
+ void addColorStop(num offset, String color) => _blink.BlinkCanvasGradient.instance.addColorStop_Callback_2_(unwrap_jso(this), offset, color);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2511,8 +2521,8 @@
@DomName('CanvasPattern.setTransform')
@DocsEditable()
@Experimental() // untriaged
- void setTransform(Matrix transform) => _blink.BlinkCanvasPattern.instance.setTransform_Callback_1_(this, transform);
-
+ void setTransform(Matrix transform) => _blink.BlinkCanvasPattern.instance.setTransform_Callback_1_(unwrap_jso(this), unwrap_jso(transform));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2531,60 +2541,60 @@
@DomName('CanvasRenderingContext2D.canvas')
@DocsEditable()
@Experimental() // untriaged
- CanvasElement get canvas => _blink.BlinkCanvasRenderingContext2D.instance.canvas_Getter_(this);
-
+ CanvasElement get canvas => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.canvas_Getter_(unwrap_jso(this)));
+
@DomName('CanvasRenderingContext2D.currentTransform')
@DocsEditable()
@Experimental() // untriaged
- Matrix get currentTransform => _blink.BlinkCanvasRenderingContext2D.instance.currentTransform_Getter_(this);
-
+ Matrix get currentTransform => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.currentTransform_Getter_(unwrap_jso(this)));
+
@DomName('CanvasRenderingContext2D.currentTransform')
@DocsEditable()
@Experimental() // untriaged
- void set currentTransform(Matrix value) => _blink.BlinkCanvasRenderingContext2D.instance.currentTransform_Setter_(this, value);
-
+ void set currentTransform(Matrix value) => _blink.BlinkCanvasRenderingContext2D.instance.currentTransform_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('CanvasRenderingContext2D.direction')
@DocsEditable()
@Experimental() // untriaged
- String get direction => _blink.BlinkCanvasRenderingContext2D.instance.direction_Getter_(this);
-
+ String get direction => _blink.BlinkCanvasRenderingContext2D.instance.direction_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.direction')
@DocsEditable()
@Experimental() // untriaged
- void set direction(String value) => _blink.BlinkCanvasRenderingContext2D.instance.direction_Setter_(this, value);
-
+ void set direction(String value) => _blink.BlinkCanvasRenderingContext2D.instance.direction_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.fillStyle')
@DocsEditable()
- Object get fillStyle => _blink.BlinkCanvasRenderingContext2D.instance.fillStyle_Getter_(this);
-
+ Object get fillStyle => _blink.BlinkCanvasRenderingContext2D.instance.fillStyle_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.fillStyle')
@DocsEditable()
- void set fillStyle(Object value) => _blink.BlinkCanvasRenderingContext2D.instance.fillStyle_Setter_(this, value);
-
+ void set fillStyle(Object value) => _blink.BlinkCanvasRenderingContext2D.instance.fillStyle_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('CanvasRenderingContext2D.font')
@DocsEditable()
- String get font => _blink.BlinkCanvasRenderingContext2D.instance.font_Getter_(this);
-
+ String get font => _blink.BlinkCanvasRenderingContext2D.instance.font_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.font')
@DocsEditable()
- void set font(String value) => _blink.BlinkCanvasRenderingContext2D.instance.font_Setter_(this, value);
-
+ void set font(String value) => _blink.BlinkCanvasRenderingContext2D.instance.font_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.globalAlpha')
@DocsEditable()
- num get globalAlpha => _blink.BlinkCanvasRenderingContext2D.instance.globalAlpha_Getter_(this);
-
+ num get globalAlpha => _blink.BlinkCanvasRenderingContext2D.instance.globalAlpha_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.globalAlpha')
@DocsEditable()
- void set globalAlpha(num value) => _blink.BlinkCanvasRenderingContext2D.instance.globalAlpha_Setter_(this, value);
-
+ void set globalAlpha(num value) => _blink.BlinkCanvasRenderingContext2D.instance.globalAlpha_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.globalCompositeOperation')
@DocsEditable()
- String get globalCompositeOperation => _blink.BlinkCanvasRenderingContext2D.instance.globalCompositeOperation_Getter_(this);
-
+ String get globalCompositeOperation => _blink.BlinkCanvasRenderingContext2D.instance.globalCompositeOperation_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.globalCompositeOperation')
@DocsEditable()
- void set globalCompositeOperation(String value) => _blink.BlinkCanvasRenderingContext2D.instance.globalCompositeOperation_Setter_(this, value);
-
+ void set globalCompositeOperation(String value) => _blink.BlinkCanvasRenderingContext2D.instance.globalCompositeOperation_Setter_(unwrap_jso(this), value);
+
/**
* Whether images and patterns on this canvas will be smoothed when this
* canvas is scaled.
@@ -2598,8 +2608,8 @@
@DomName('CanvasRenderingContext2D.imageSmoothingEnabled')
@DocsEditable()
@Experimental() // untriaged
- bool get imageSmoothingEnabled => _blink.BlinkCanvasRenderingContext2D.instance.imageSmoothingEnabled_Getter_(this);
-
+ bool get imageSmoothingEnabled => _blink.BlinkCanvasRenderingContext2D.instance.imageSmoothingEnabled_Getter_(unwrap_jso(this));
+
/**
* Whether images and patterns on this canvas will be smoothed when this
* canvas is scaled.
@@ -2613,141 +2623,141 @@
@DomName('CanvasRenderingContext2D.imageSmoothingEnabled')
@DocsEditable()
@Experimental() // untriaged
- void set imageSmoothingEnabled(bool value) => _blink.BlinkCanvasRenderingContext2D.instance.imageSmoothingEnabled_Setter_(this, value);
-
+ void set imageSmoothingEnabled(bool value) => _blink.BlinkCanvasRenderingContext2D.instance.imageSmoothingEnabled_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.lineCap')
@DocsEditable()
- String get lineCap => _blink.BlinkCanvasRenderingContext2D.instance.lineCap_Getter_(this);
-
+ String get lineCap => _blink.BlinkCanvasRenderingContext2D.instance.lineCap_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.lineCap')
@DocsEditable()
- void set lineCap(String value) => _blink.BlinkCanvasRenderingContext2D.instance.lineCap_Setter_(this, value);
-
+ void set lineCap(String value) => _blink.BlinkCanvasRenderingContext2D.instance.lineCap_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.lineDashOffset')
@DocsEditable()
- num get lineDashOffset => _blink.BlinkCanvasRenderingContext2D.instance.lineDashOffset_Getter_(this);
-
+ num get lineDashOffset => _blink.BlinkCanvasRenderingContext2D.instance.lineDashOffset_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.lineDashOffset')
@DocsEditable()
- void set lineDashOffset(num value) => _blink.BlinkCanvasRenderingContext2D.instance.lineDashOffset_Setter_(this, value);
-
+ void set lineDashOffset(num value) => _blink.BlinkCanvasRenderingContext2D.instance.lineDashOffset_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.lineJoin')
@DocsEditable()
- String get lineJoin => _blink.BlinkCanvasRenderingContext2D.instance.lineJoin_Getter_(this);
-
+ String get lineJoin => _blink.BlinkCanvasRenderingContext2D.instance.lineJoin_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.lineJoin')
@DocsEditable()
- void set lineJoin(String value) => _blink.BlinkCanvasRenderingContext2D.instance.lineJoin_Setter_(this, value);
-
+ void set lineJoin(String value) => _blink.BlinkCanvasRenderingContext2D.instance.lineJoin_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.lineWidth')
@DocsEditable()
- num get lineWidth => _blink.BlinkCanvasRenderingContext2D.instance.lineWidth_Getter_(this);
-
+ num get lineWidth => _blink.BlinkCanvasRenderingContext2D.instance.lineWidth_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.lineWidth')
@DocsEditable()
- void set lineWidth(num value) => _blink.BlinkCanvasRenderingContext2D.instance.lineWidth_Setter_(this, value);
-
+ void set lineWidth(num value) => _blink.BlinkCanvasRenderingContext2D.instance.lineWidth_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.miterLimit')
@DocsEditable()
- num get miterLimit => _blink.BlinkCanvasRenderingContext2D.instance.miterLimit_Getter_(this);
-
+ num get miterLimit => _blink.BlinkCanvasRenderingContext2D.instance.miterLimit_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.miterLimit')
@DocsEditable()
- void set miterLimit(num value) => _blink.BlinkCanvasRenderingContext2D.instance.miterLimit_Setter_(this, value);
-
+ void set miterLimit(num value) => _blink.BlinkCanvasRenderingContext2D.instance.miterLimit_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.shadowBlur')
@DocsEditable()
- num get shadowBlur => _blink.BlinkCanvasRenderingContext2D.instance.shadowBlur_Getter_(this);
-
+ num get shadowBlur => _blink.BlinkCanvasRenderingContext2D.instance.shadowBlur_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.shadowBlur')
@DocsEditable()
- void set shadowBlur(num value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowBlur_Setter_(this, value);
-
+ void set shadowBlur(num value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowBlur_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.shadowColor')
@DocsEditable()
- String get shadowColor => _blink.BlinkCanvasRenderingContext2D.instance.shadowColor_Getter_(this);
-
+ String get shadowColor => _blink.BlinkCanvasRenderingContext2D.instance.shadowColor_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.shadowColor')
@DocsEditable()
- void set shadowColor(String value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowColor_Setter_(this, value);
-
+ void set shadowColor(String value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowColor_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.shadowOffsetX')
@DocsEditable()
- num get shadowOffsetX => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetX_Getter_(this);
-
+ num get shadowOffsetX => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetX_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.shadowOffsetX')
@DocsEditable()
- void set shadowOffsetX(num value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetX_Setter_(this, value);
-
+ void set shadowOffsetX(num value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetX_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.shadowOffsetY')
@DocsEditable()
- num get shadowOffsetY => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetY_Getter_(this);
-
+ num get shadowOffsetY => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetY_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.shadowOffsetY')
@DocsEditable()
- void set shadowOffsetY(num value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetY_Setter_(this, value);
-
+ void set shadowOffsetY(num value) => _blink.BlinkCanvasRenderingContext2D.instance.shadowOffsetY_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.strokeStyle')
@DocsEditable()
- Object get strokeStyle => _blink.BlinkCanvasRenderingContext2D.instance.strokeStyle_Getter_(this);
-
+ Object get strokeStyle => _blink.BlinkCanvasRenderingContext2D.instance.strokeStyle_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.strokeStyle')
@DocsEditable()
- void set strokeStyle(Object value) => _blink.BlinkCanvasRenderingContext2D.instance.strokeStyle_Setter_(this, value);
-
+ void set strokeStyle(Object value) => _blink.BlinkCanvasRenderingContext2D.instance.strokeStyle_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('CanvasRenderingContext2D.textAlign')
@DocsEditable()
- String get textAlign => _blink.BlinkCanvasRenderingContext2D.instance.textAlign_Getter_(this);
-
+ String get textAlign => _blink.BlinkCanvasRenderingContext2D.instance.textAlign_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.textAlign')
@DocsEditable()
- void set textAlign(String value) => _blink.BlinkCanvasRenderingContext2D.instance.textAlign_Setter_(this, value);
-
+ void set textAlign(String value) => _blink.BlinkCanvasRenderingContext2D.instance.textAlign_Setter_(unwrap_jso(this), value);
+
@DomName('CanvasRenderingContext2D.textBaseline')
@DocsEditable()
- String get textBaseline => _blink.BlinkCanvasRenderingContext2D.instance.textBaseline_Getter_(this);
-
+ String get textBaseline => _blink.BlinkCanvasRenderingContext2D.instance.textBaseline_Getter_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.textBaseline')
@DocsEditable()
- void set textBaseline(String value) => _blink.BlinkCanvasRenderingContext2D.instance.textBaseline_Setter_(this, value);
-
+ void set textBaseline(String value) => _blink.BlinkCanvasRenderingContext2D.instance.textBaseline_Setter_(unwrap_jso(this), value);
+
void addHitRegion([Map options]) {
if (options != null) {
- _blink.BlinkCanvasRenderingContext2D.instance.addHitRegion_Callback_1_(this, options);
+ _blink.BlinkCanvasRenderingContext2D.instance.addHitRegion_Callback_1_(unwrap_jso(this), options);
return;
}
- _blink.BlinkCanvasRenderingContext2D.instance.addHitRegion_Callback_0_(this);
+ _blink.BlinkCanvasRenderingContext2D.instance.addHitRegion_Callback_0_(unwrap_jso(this));
return;
}
@DomName('CanvasRenderingContext2D.beginPath')
@DocsEditable()
- void beginPath() => _blink.BlinkCanvasRenderingContext2D.instance.beginPath_Callback_0_(this);
-
+ void beginPath() => _blink.BlinkCanvasRenderingContext2D.instance.beginPath_Callback_0_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.clearHitRegions')
@DocsEditable()
@Experimental() // untriaged
- void clearHitRegions() => _blink.BlinkCanvasRenderingContext2D.instance.clearHitRegions_Callback_0_(this);
-
+ void clearHitRegions() => _blink.BlinkCanvasRenderingContext2D.instance.clearHitRegions_Callback_0_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.clearRect')
@DocsEditable()
- void clearRect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.clearRect_Callback_4_(this, x, y, width, height);
-
+ void clearRect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.clearRect_Callback_4_(unwrap_jso(this), x, y, width, height);
+
void clip([path_OR_winding, String winding]) {
if (path_OR_winding == null && winding == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_0_(this);
+ _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_0_(unwrap_jso(this));
return;
}
if ((path_OR_winding is String) && winding == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_1_(this, path_OR_winding);
+ _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_1_(unwrap_jso(this), unwrap_jso(path_OR_winding));
return;
}
if ((path_OR_winding is Path2D) && winding == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_1_(this, path_OR_winding);
+ _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_1_(unwrap_jso(this), unwrap_jso(path_OR_winding));
return;
}
if ((winding is String) && (path_OR_winding is Path2D)) {
- _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_2_(this, path_OR_winding, winding);
+ _blink.BlinkCanvasRenderingContext2D.instance.clip_Callback_2_(unwrap_jso(this), unwrap_jso(path_OR_winding), winding);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2755,41 +2765,41 @@
@DomName('CanvasRenderingContext2D.createImageData')
@DocsEditable()
- ImageData createImageData(num sw, num sh) => _blink.BlinkCanvasRenderingContext2D.instance.createImageData_Callback_2_(this, sw, sh);
-
+ ImageData createImageData(num sw, num sh) => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.createImageData_Callback_2_(unwrap_jso(this), sw, sh));
+
@DomName('CanvasRenderingContext2D.createImageDataFromImageData')
@DocsEditable()
- ImageData createImageDataFromImageData(ImageData imagedata) => _blink.BlinkCanvasRenderingContext2D.instance.createImageData_Callback_1_(this, imagedata);
-
+ ImageData createImageDataFromImageData(ImageData imagedata) => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.createImageData_Callback_1_(unwrap_jso(this), unwrap_jso(imagedata)));
+
@DomName('CanvasRenderingContext2D.createLinearGradient')
@DocsEditable()
- CanvasGradient createLinearGradient(num x0, num y0, num x1, num y1) => _blink.BlinkCanvasRenderingContext2D.instance.createLinearGradient_Callback_4_(this, x0, y0, x1, y1);
-
+ CanvasGradient createLinearGradient(num x0, num y0, num x1, num y1) => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.createLinearGradient_Callback_4_(unwrap_jso(this), x0, y0, x1, y1));
+
CanvasPattern createPattern(canvas_OR_image, String repetitionType) {
if ((repetitionType is String || repetitionType == null) && (canvas_OR_image is CanvasElement)) {
- return _blink.BlinkCanvasRenderingContext2D.instance.createPattern_Callback_2_(this, canvas_OR_image, repetitionType);
+ return wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.createPattern_Callback_2_(unwrap_jso(this), unwrap_jso(canvas_OR_image), repetitionType));
}
if ((repetitionType is String || repetitionType == null) && (canvas_OR_image is VideoElement)) {
- return _blink.BlinkCanvasRenderingContext2D.instance.createPattern_Callback_2_(this, canvas_OR_image, repetitionType);
+ return wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.createPattern_Callback_2_(unwrap_jso(this), unwrap_jso(canvas_OR_image), repetitionType));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@DomName('CanvasRenderingContext2D.createPatternFromImage')
@DocsEditable()
- CanvasPattern createPatternFromImage(ImageElement image, String repetitionType) => _blink.BlinkCanvasRenderingContext2D.instance.createPattern_Callback_2_(this, image, repetitionType);
-
+ CanvasPattern createPatternFromImage(ImageElement image, String repetitionType) => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.createPattern_Callback_2_(unwrap_jso(this), unwrap_jso(image), repetitionType));
+
@DomName('CanvasRenderingContext2D.createRadialGradient')
@DocsEditable()
- CanvasGradient createRadialGradient(num x0, num y0, num r0, num x1, num y1, num r1) => _blink.BlinkCanvasRenderingContext2D.instance.createRadialGradient_Callback_6_(this, x0, y0, r0, x1, y1, r1);
-
+ CanvasGradient createRadialGradient(num x0, num y0, num r0, num x1, num y1, num r1) => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.createRadialGradient_Callback_6_(unwrap_jso(this), x0, y0, r0, x1, y1, r1));
+
void drawFocusIfNeeded(element_OR_path, [Element element]) {
if ((element_OR_path is Element) && element == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawFocusIfNeeded_Callback_1_(this, element_OR_path);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawFocusIfNeeded_Callback_1_(unwrap_jso(this), unwrap_jso(element_OR_path));
return;
}
if ((element is Element) && (element_OR_path is Path2D)) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawFocusIfNeeded_Callback_2_(this, element_OR_path, element);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawFocusIfNeeded_Callback_2_(unwrap_jso(this), unwrap_jso(element_OR_path), unwrap_jso(element));
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2797,51 +2807,51 @@
void _drawImage(canvas_OR_image_OR_imageBitmap_OR_video, num sx_OR_x, num sy_OR_y, [num sw_OR_width, num height_OR_sh, num dx, num dy, num dw, num dh]) {
if ((sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is ImageElement) && sw_OR_width == null && height_OR_sh == null && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y);
return;
}
if ((height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is ImageElement) && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
return;
}
if ((dh is num) && (dw is num) && (dy is num) && (dx is num) && (height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is ImageElement)) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
return;
}
if ((sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is CanvasElement) && sw_OR_width == null && height_OR_sh == null && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y);
return;
}
if ((height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is CanvasElement) && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
return;
}
if ((dh is num) && (dw is num) && (dy is num) && (dx is num) && (height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is CanvasElement)) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
return;
}
if ((sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is VideoElement) && sw_OR_width == null && height_OR_sh == null && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y);
return;
}
if ((height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is VideoElement) && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
return;
}
if ((dh is num) && (dw is num) && (dy is num) && (dx is num) && (height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is VideoElement)) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
return;
}
if ((sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is ImageBitmap) && sw_OR_width == null && height_OR_sh == null && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_3_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y);
return;
}
if ((height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is ImageBitmap) && dx == null && dy == null && dw == null && dh == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_5_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh);
return;
}
if ((dh is num) && (dw is num) && (dy is num) && (dx is num) && (height_OR_sh is num) && (sw_OR_width is num) && (sy_OR_y is num) && (sx_OR_x is num) && (canvas_OR_image_OR_imageBitmap_OR_video is ImageBitmap)) {
- _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(this, canvas_OR_image_OR_imageBitmap_OR_video, sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
+ _blink.BlinkCanvasRenderingContext2D.instance.drawImage_Callback_9_(unwrap_jso(this), unwrap_jso(canvas_OR_image_OR_imageBitmap_OR_video), sx_OR_x, sy_OR_y, sw_OR_width, height_OR_sh, dx, dy, dw, dh);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2849,19 +2859,19 @@
void fill([path_OR_winding, String winding]) {
if (path_OR_winding == null && winding == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_0_(this);
+ _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_0_(unwrap_jso(this));
return;
}
if ((path_OR_winding is String) && winding == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_1_(this, path_OR_winding);
+ _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_1_(unwrap_jso(this), unwrap_jso(path_OR_winding));
return;
}
if ((path_OR_winding is Path2D) && winding == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_1_(this, path_OR_winding);
+ _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_1_(unwrap_jso(this), unwrap_jso(path_OR_winding));
return;
}
if ((winding is String) && (path_OR_winding is Path2D)) {
- _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_2_(this, path_OR_winding, winding);
+ _blink.BlinkCanvasRenderingContext2D.instance.fill_Callback_2_(unwrap_jso(this), unwrap_jso(path_OR_winding), winding);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2869,14 +2879,14 @@
@DomName('CanvasRenderingContext2D.fillRect')
@DocsEditable()
- void fillRect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.fillRect_Callback_4_(this, x, y, width, height);
-
+ void fillRect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.fillRect_Callback_4_(unwrap_jso(this), x, y, width, height);
+
void fillText(String text, num x, num y, [num maxWidth]) {
if (maxWidth != null) {
- _blink.BlinkCanvasRenderingContext2D.instance.fillText_Callback_4_(this, text, x, y, maxWidth);
+ _blink.BlinkCanvasRenderingContext2D.instance.fillText_Callback_4_(unwrap_jso(this), text, x, y, maxWidth);
return;
}
- _blink.BlinkCanvasRenderingContext2D.instance.fillText_Callback_3_(this, text, x, y);
+ _blink.BlinkCanvasRenderingContext2D.instance.fillText_Callback_3_(unwrap_jso(this), text, x, y);
return;
}
@@ -2884,58 +2894,58 @@
@DocsEditable()
// http://wiki.whatwg.org/wiki/CanvasOpaque#Suggested_IDL
@Experimental()
- Canvas2DContextAttributes getContextAttributes() => _blink.BlinkCanvasRenderingContext2D.instance.getContextAttributes_Callback_0_(this);
-
+ Canvas2DContextAttributes getContextAttributes() => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.getContextAttributes_Callback_0_(unwrap_jso(this)));
+
@DomName('CanvasRenderingContext2D.getImageData')
@DocsEditable()
- ImageData getImageData(num sx, num sy, num sw, num sh) => _blink.BlinkCanvasRenderingContext2D.instance.getImageData_Callback_4_(this, sx, sy, sw, sh);
-
+ ImageData getImageData(num sx, num sy, num sw, num sh) => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.getImageData_Callback_4_(unwrap_jso(this), sx, sy, sw, sh));
+
@DomName('CanvasRenderingContext2D.getLineDash')
@DocsEditable()
- List<num> _getLineDash() => _blink.BlinkCanvasRenderingContext2D.instance.getLineDash_Callback_0_(this);
-
+ List<num> _getLineDash() => _blink.BlinkCanvasRenderingContext2D.instance.getLineDash_Callback_0_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.isContextLost')
@DocsEditable()
@Experimental() // untriaged
- bool isContextLost() => _blink.BlinkCanvasRenderingContext2D.instance.isContextLost_Callback_0_(this);
-
+ bool isContextLost() => _blink.BlinkCanvasRenderingContext2D.instance.isContextLost_Callback_0_(unwrap_jso(this));
+
bool isPointInPath(path_OR_x, num x_OR_y, [winding_OR_y, String winding]) {
if ((x_OR_y is num) && (path_OR_x is num) && winding_OR_y == null && winding == null) {
- return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_2_(this, path_OR_x, x_OR_y);
+ return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_2_(unwrap_jso(this), unwrap_jso(path_OR_x), x_OR_y);
}
if ((winding_OR_y is String) && (x_OR_y is num) && (path_OR_x is num) && winding == null) {
- return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_3_(this, path_OR_x, x_OR_y, winding_OR_y);
+ return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_3_(unwrap_jso(this), unwrap_jso(path_OR_x), x_OR_y, unwrap_jso(winding_OR_y));
}
if ((winding_OR_y is num) && (x_OR_y is num) && (path_OR_x is Path2D) && winding == null) {
- return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_3_(this, path_OR_x, x_OR_y, winding_OR_y);
+ return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_3_(unwrap_jso(this), unwrap_jso(path_OR_x), x_OR_y, unwrap_jso(winding_OR_y));
}
if ((winding is String) && (winding_OR_y is num) && (x_OR_y is num) && (path_OR_x is Path2D)) {
- return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_4_(this, path_OR_x, x_OR_y, winding_OR_y, winding);
+ return _blink.BlinkCanvasRenderingContext2D.instance.isPointInPath_Callback_4_(unwrap_jso(this), unwrap_jso(path_OR_x), x_OR_y, unwrap_jso(winding_OR_y), winding);
}
throw new ArgumentError("Incorrect number or type of arguments");
}
bool isPointInStroke(path_OR_x, num x_OR_y, [num y]) {
if ((x_OR_y is num) && (path_OR_x is num) && y == null) {
- return _blink.BlinkCanvasRenderingContext2D.instance.isPointInStroke_Callback_2_(this, path_OR_x, x_OR_y);
+ return _blink.BlinkCanvasRenderingContext2D.instance.isPointInStroke_Callback_2_(unwrap_jso(this), unwrap_jso(path_OR_x), x_OR_y);
}
if ((y is num) && (x_OR_y is num) && (path_OR_x is Path2D)) {
- return _blink.BlinkCanvasRenderingContext2D.instance.isPointInStroke_Callback_3_(this, path_OR_x, x_OR_y, y);
+ return _blink.BlinkCanvasRenderingContext2D.instance.isPointInStroke_Callback_3_(unwrap_jso(this), unwrap_jso(path_OR_x), x_OR_y, y);
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@DomName('CanvasRenderingContext2D.measureText')
@DocsEditable()
- TextMetrics measureText(String text) => _blink.BlinkCanvasRenderingContext2D.instance.measureText_Callback_1_(this, text);
-
+ TextMetrics measureText(String text) => wrap_jso(_blink.BlinkCanvasRenderingContext2D.instance.measureText_Callback_1_(unwrap_jso(this), text));
+
void putImageData(ImageData imagedata, num dx, num dy, [num dirtyX, num dirtyY, num dirtyWidth, num dirtyHeight]) {
if ((dy is num) && (dx is num) && (imagedata is ImageData) && dirtyX == null && dirtyY == null && dirtyWidth == null && dirtyHeight == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.putImageData_Callback_3_(this, imagedata, dx, dy);
+ _blink.BlinkCanvasRenderingContext2D.instance.putImageData_Callback_3_(unwrap_jso(this), unwrap_jso(imagedata), dx, dy);
return;
}
if ((dirtyHeight is num) && (dirtyWidth is num) && (dirtyY is num) && (dirtyX is num) && (dy is num) && (dx is num) && (imagedata is ImageData)) {
- _blink.BlinkCanvasRenderingContext2D.instance.putImageData_Callback_7_(this, imagedata, dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
+ _blink.BlinkCanvasRenderingContext2D.instance.putImageData_Callback_7_(unwrap_jso(this), unwrap_jso(imagedata), dx, dy, dirtyX, dirtyY, dirtyWidth, dirtyHeight);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2944,53 +2954,53 @@
@DomName('CanvasRenderingContext2D.removeHitRegion')
@DocsEditable()
@Experimental() // untriaged
- void removeHitRegion(String id) => _blink.BlinkCanvasRenderingContext2D.instance.removeHitRegion_Callback_1_(this, id);
-
+ void removeHitRegion(String id) => _blink.BlinkCanvasRenderingContext2D.instance.removeHitRegion_Callback_1_(unwrap_jso(this), id);
+
@DomName('CanvasRenderingContext2D.resetTransform')
@DocsEditable()
@Experimental() // untriaged
- void resetTransform() => _blink.BlinkCanvasRenderingContext2D.instance.resetTransform_Callback_0_(this);
-
+ void resetTransform() => _blink.BlinkCanvasRenderingContext2D.instance.resetTransform_Callback_0_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.restore')
@DocsEditable()
- void restore() => _blink.BlinkCanvasRenderingContext2D.instance.restore_Callback_0_(this);
-
+ void restore() => _blink.BlinkCanvasRenderingContext2D.instance.restore_Callback_0_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.rotate')
@DocsEditable()
- void rotate(num angle) => _blink.BlinkCanvasRenderingContext2D.instance.rotate_Callback_1_(this, angle);
-
+ void rotate(num angle) => _blink.BlinkCanvasRenderingContext2D.instance.rotate_Callback_1_(unwrap_jso(this), angle);
+
@DomName('CanvasRenderingContext2D.save')
@DocsEditable()
- void save() => _blink.BlinkCanvasRenderingContext2D.instance.save_Callback_0_(this);
-
+ void save() => _blink.BlinkCanvasRenderingContext2D.instance.save_Callback_0_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.scale')
@DocsEditable()
- void scale(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.scale_Callback_2_(this, x, y);
-
+ void scale(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.scale_Callback_2_(unwrap_jso(this), x, y);
+
void scrollPathIntoView([Path2D path]) {
if (path != null) {
- _blink.BlinkCanvasRenderingContext2D.instance.scrollPathIntoView_Callback_1_(this, path);
+ _blink.BlinkCanvasRenderingContext2D.instance.scrollPathIntoView_Callback_1_(unwrap_jso(this), unwrap_jso(path));
return;
}
- _blink.BlinkCanvasRenderingContext2D.instance.scrollPathIntoView_Callback_0_(this);
+ _blink.BlinkCanvasRenderingContext2D.instance.scrollPathIntoView_Callback_0_(unwrap_jso(this));
return;
}
@DomName('CanvasRenderingContext2D.setLineDash')
@DocsEditable()
- void setLineDash(List<num> dash) => _blink.BlinkCanvasRenderingContext2D.instance.setLineDash_Callback_1_(this, dash);
-
+ void setLineDash(List<num> dash) => _blink.BlinkCanvasRenderingContext2D.instance.setLineDash_Callback_1_(unwrap_jso(this), dash);
+
@DomName('CanvasRenderingContext2D.setTransform')
@DocsEditable()
- void setTransform(num a, num b, num c, num d, num e, num f) => _blink.BlinkCanvasRenderingContext2D.instance.setTransform_Callback_6_(this, a, b, c, d, e, f);
-
+ void setTransform(num a, num b, num c, num d, num e, num f) => _blink.BlinkCanvasRenderingContext2D.instance.setTransform_Callback_6_(unwrap_jso(this), a, b, c, d, e, f);
+
void stroke([Path2D path]) {
if (path == null) {
- _blink.BlinkCanvasRenderingContext2D.instance.stroke_Callback_0_(this);
+ _blink.BlinkCanvasRenderingContext2D.instance.stroke_Callback_0_(unwrap_jso(this));
return;
}
if ((path is Path2D)) {
- _blink.BlinkCanvasRenderingContext2D.instance.stroke_Callback_1_(this, path);
+ _blink.BlinkCanvasRenderingContext2D.instance.stroke_Callback_1_(unwrap_jso(this), unwrap_jso(path));
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2998,62 +3008,62 @@
@DomName('CanvasRenderingContext2D.strokeRect')
@DocsEditable()
- void strokeRect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.strokeRect_Callback_4_(this, x, y, width, height);
-
+ void strokeRect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.strokeRect_Callback_4_(unwrap_jso(this), x, y, width, height);
+
void strokeText(String text, num x, num y, [num maxWidth]) {
if (maxWidth != null) {
- _blink.BlinkCanvasRenderingContext2D.instance.strokeText_Callback_4_(this, text, x, y, maxWidth);
+ _blink.BlinkCanvasRenderingContext2D.instance.strokeText_Callback_4_(unwrap_jso(this), text, x, y, maxWidth);
return;
}
- _blink.BlinkCanvasRenderingContext2D.instance.strokeText_Callback_3_(this, text, x, y);
+ _blink.BlinkCanvasRenderingContext2D.instance.strokeText_Callback_3_(unwrap_jso(this), text, x, y);
return;
}
@DomName('CanvasRenderingContext2D.transform')
@DocsEditable()
- void transform(num a, num b, num c, num d, num e, num f) => _blink.BlinkCanvasRenderingContext2D.instance.transform_Callback_6_(this, a, b, c, d, e, f);
-
+ void transform(num a, num b, num c, num d, num e, num f) => _blink.BlinkCanvasRenderingContext2D.instance.transform_Callback_6_(unwrap_jso(this), a, b, c, d, e, f);
+
@DomName('CanvasRenderingContext2D.translate')
@DocsEditable()
- void translate(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.translate_Callback_2_(this, x, y);
-
+ void translate(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.translate_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('CanvasRenderingContext2D.arc')
@DocsEditable()
- void _arc(num x, num y, num radius, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkCanvasRenderingContext2D.instance.arc_Callback_6_(this, x, y, radius, startAngle, endAngle, anticlockwise);
-
+ void _arc(num x, num y, num radius, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkCanvasRenderingContext2D.instance.arc_Callback_6_(unwrap_jso(this), x, y, radius, startAngle, endAngle, anticlockwise);
+
@DomName('CanvasRenderingContext2D.arcTo')
@DocsEditable()
- void arcTo(num x1, num y1, num x2, num y2, num radius) => _blink.BlinkCanvasRenderingContext2D.instance.arcTo_Callback_5_(this, x1, y1, x2, y2, radius);
-
+ void arcTo(num x1, num y1, num x2, num y2, num radius) => _blink.BlinkCanvasRenderingContext2D.instance.arcTo_Callback_5_(unwrap_jso(this), x1, y1, x2, y2, radius);
+
@DomName('CanvasRenderingContext2D.bezierCurveTo')
@DocsEditable()
- void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.bezierCurveTo_Callback_6_(this, cp1x, cp1y, cp2x, cp2y, x, y);
-
+ void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.bezierCurveTo_Callback_6_(unwrap_jso(this), cp1x, cp1y, cp2x, cp2y, x, y);
+
@DomName('CanvasRenderingContext2D.closePath')
@DocsEditable()
- void closePath() => _blink.BlinkCanvasRenderingContext2D.instance.closePath_Callback_0_(this);
-
+ void closePath() => _blink.BlinkCanvasRenderingContext2D.instance.closePath_Callback_0_(unwrap_jso(this));
+
@DomName('CanvasRenderingContext2D.ellipse')
@DocsEditable()
@Experimental() // untriaged
- void ellipse(num x, num y, num radiusX, num radiusY, num rotation, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkCanvasRenderingContext2D.instance.ellipse_Callback_8_(this, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
-
+ void ellipse(num x, num y, num radiusX, num radiusY, num rotation, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkCanvasRenderingContext2D.instance.ellipse_Callback_8_(unwrap_jso(this), x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
+
@DomName('CanvasRenderingContext2D.lineTo')
@DocsEditable()
- void lineTo(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.lineTo_Callback_2_(this, x, y);
-
+ void lineTo(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.lineTo_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('CanvasRenderingContext2D.moveTo')
@DocsEditable()
- void moveTo(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.moveTo_Callback_2_(this, x, y);
-
+ void moveTo(num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.moveTo_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('CanvasRenderingContext2D.quadraticCurveTo')
@DocsEditable()
- void quadraticCurveTo(num cpx, num cpy, num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.quadraticCurveTo_Callback_4_(this, cpx, cpy, x, y);
-
+ void quadraticCurveTo(num cpx, num cpy, num x, num y) => _blink.BlinkCanvasRenderingContext2D.instance.quadraticCurveTo_Callback_4_(unwrap_jso(this), cpx, cpy, x, y);
+
@DomName('CanvasRenderingContext2D.rect')
@DocsEditable()
- void rect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.rect_Callback_4_(this, x, y, width, height);
-
+ void rect(num x, num y, num width, num height) => _blink.BlinkCanvasRenderingContext2D.instance.rect_Callback_4_(unwrap_jso(this), x, y, width, height);
+
/**
* Sets the color used inside shapes.
@@ -3304,44 +3314,44 @@
@DomName('CharacterData.data')
@DocsEditable()
- String get data => _blink.BlinkCharacterData.instance.data_Getter_(this);
-
+ String get data => _blink.BlinkCharacterData.instance.data_Getter_(unwrap_jso(this));
+
@DomName('CharacterData.data')
@DocsEditable()
- void set data(String value) => _blink.BlinkCharacterData.instance.data_Setter_(this, value);
-
+ void set data(String value) => _blink.BlinkCharacterData.instance.data_Setter_(unwrap_jso(this), value);
+
@DomName('CharacterData.length')
@DocsEditable()
- int get length => _blink.BlinkCharacterData.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkCharacterData.instance.length_Getter_(unwrap_jso(this));
+
@DomName('CharacterData.appendData')
@DocsEditable()
- void appendData(String data) => _blink.BlinkCharacterData.instance.appendData_Callback_1_(this, data);
-
+ void appendData(String data) => _blink.BlinkCharacterData.instance.appendData_Callback_1_(unwrap_jso(this), data);
+
@DomName('CharacterData.deleteData')
@DocsEditable()
- void deleteData(int offset, int length) => _blink.BlinkCharacterData.instance.deleteData_Callback_2_(this, offset, length);
-
+ void deleteData(int offset, int length) => _blink.BlinkCharacterData.instance.deleteData_Callback_2_(unwrap_jso(this), offset, length);
+
@DomName('CharacterData.insertData')
@DocsEditable()
- void insertData(int offset, String data) => _blink.BlinkCharacterData.instance.insertData_Callback_2_(this, offset, data);
-
+ void insertData(int offset, String data) => _blink.BlinkCharacterData.instance.insertData_Callback_2_(unwrap_jso(this), offset, data);
+
@DomName('CharacterData.replaceData')
@DocsEditable()
- void replaceData(int offset, int length, String data) => _blink.BlinkCharacterData.instance.replaceData_Callback_3_(this, offset, length, data);
-
+ void replaceData(int offset, int length, String data) => _blink.BlinkCharacterData.instance.replaceData_Callback_3_(unwrap_jso(this), offset, length, data);
+
@DomName('CharacterData.substringData')
@DocsEditable()
- String substringData(int offset, int length) => _blink.BlinkCharacterData.instance.substringData_Callback_2_(this, offset, length);
-
+ String substringData(int offset, int length) => _blink.BlinkCharacterData.instance.substringData_Callback_2_(unwrap_jso(this), offset, length);
+
@DomName('CharacterData.nextElementSibling')
@DocsEditable()
- Element get nextElementSibling => _blink.BlinkCharacterData.instance.nextElementSibling_Getter_(this);
-
+ Element get nextElementSibling => wrap_jso(_blink.BlinkCharacterData.instance.nextElementSibling_Getter_(unwrap_jso(this)));
+
@DomName('CharacterData.previousElementSibling')
@DocsEditable()
- Element get previousElementSibling => _blink.BlinkCharacterData.instance.previousElementSibling_Getter_(this);
-
+ Element get previousElementSibling => wrap_jso(_blink.BlinkCharacterData.instance.previousElementSibling_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3406,18 +3416,18 @@
@DomName('CircularGeofencingRegion.latitude')
@DocsEditable()
@Experimental() // untriaged
- double get latitude => _blink.BlinkCircularGeofencingRegion.instance.latitude_Getter_(this);
-
+ double get latitude => _blink.BlinkCircularGeofencingRegion.instance.latitude_Getter_(unwrap_jso(this));
+
@DomName('CircularGeofencingRegion.longitude')
@DocsEditable()
@Experimental() // untriaged
- double get longitude => _blink.BlinkCircularGeofencingRegion.instance.longitude_Getter_(this);
-
+ double get longitude => _blink.BlinkCircularGeofencingRegion.instance.longitude_Getter_(unwrap_jso(this));
+
@DomName('CircularGeofencingRegion.radius')
@DocsEditable()
@Experimental() // untriaged
- double get radius => _blink.BlinkCircularGeofencingRegion.instance.radius_Getter_(this);
-
+ double get radius => _blink.BlinkCircularGeofencingRegion.instance.radius_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3434,16 +3444,16 @@
@DomName('CloseEvent.code')
@DocsEditable()
- int get code => _blink.BlinkCloseEvent.instance.code_Getter_(this);
-
+ int get code => _blink.BlinkCloseEvent.instance.code_Getter_(unwrap_jso(this));
+
@DomName('CloseEvent.reason')
@DocsEditable()
- String get reason => _blink.BlinkCloseEvent.instance.reason_Getter_(this);
-
+ String get reason => _blink.BlinkCloseEvent.instance.reason_Getter_(unwrap_jso(this));
+
@DomName('CloseEvent.wasClean')
@DocsEditable()
- bool get wasClean => _blink.BlinkCloseEvent.instance.wasClean_Getter_(this);
-
+ bool get wasClean => _blink.BlinkCloseEvent.instance.wasClean_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3493,26 +3503,26 @@
@DomName('CompositionEvent.activeSegmentEnd')
@DocsEditable()
@Experimental() // untriaged
- int get activeSegmentEnd => _blink.BlinkCompositionEvent.instance.activeSegmentEnd_Getter_(this);
-
+ int get activeSegmentEnd => _blink.BlinkCompositionEvent.instance.activeSegmentEnd_Getter_(unwrap_jso(this));
+
@DomName('CompositionEvent.activeSegmentStart')
@DocsEditable()
@Experimental() // untriaged
- int get activeSegmentStart => _blink.BlinkCompositionEvent.instance.activeSegmentStart_Getter_(this);
-
+ int get activeSegmentStart => _blink.BlinkCompositionEvent.instance.activeSegmentStart_Getter_(unwrap_jso(this));
+
@DomName('CompositionEvent.data')
@DocsEditable()
- String get data => _blink.BlinkCompositionEvent.instance.data_Getter_(this);
-
+ String get data => _blink.BlinkCompositionEvent.instance.data_Getter_(unwrap_jso(this));
+
@DomName('CompositionEvent.getSegments')
@DocsEditable()
@Experimental() // untriaged
- List<int> getSegments() => _blink.BlinkCompositionEvent.instance.getSegments_Callback_0_(this);
-
+ List<int> getSegments() => _blink.BlinkCompositionEvent.instance.getSegments_Callback_0_(unwrap_jso(this));
+
@DomName('CompositionEvent.initCompositionEvent')
@DocsEditable()
- void _initCompositionEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Window viewArg, String dataArg) => _blink.BlinkCompositionEvent.instance.initCompositionEvent_Callback_5_(this, typeArg, canBubbleArg, cancelableArg, viewArg, dataArg);
-
+ void _initCompositionEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Window viewArg, String dataArg) => _blink.BlinkCompositionEvent.instance.initCompositionEvent_Callback_5_(unwrap_jso(this), typeArg, canBubbleArg, cancelableArg, unwrap_jso(viewArg), dataArg);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3530,8 +3540,8 @@
@DomName('Console.memory')
@DocsEditable()
@Experimental()
- MemoryInfo get memory => _blink.BlinkConsole.instance.memory_Getter_(this);
-
+ MemoryInfo get memory => wrap_jso(_blink.BlinkConsole.instance.memory_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3550,118 +3560,118 @@
@DomName('ConsoleBase.assertCondition')
@DocsEditable()
@Experimental() // untriaged
- void assertCondition(bool condition, Object arg) => _blink.BlinkConsoleBase.instance.assert_Callback_2_(this, condition, arg);
-
+ void assertCondition(bool condition, Object arg) => _blink.BlinkConsoleBase.instance.assert_Callback_2_(unwrap_jso(this), condition, arg);
+
@DomName('ConsoleBase.clear')
@DocsEditable()
@Experimental() // untriaged
- void clear(Object arg) => _blink.BlinkConsoleBase.instance.clear_Callback_1_(this, arg);
-
+ void clear(Object arg) => _blink.BlinkConsoleBase.instance.clear_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.count')
@DocsEditable()
@Experimental() // untriaged
- void count(Object arg) => _blink.BlinkConsoleBase.instance.count_Callback_1_(this, arg);
-
+ void count(Object arg) => _blink.BlinkConsoleBase.instance.count_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.debug')
@DocsEditable()
@Experimental() // untriaged
- void debug(Object arg) => _blink.BlinkConsoleBase.instance.debug_Callback_1_(this, arg);
-
+ void debug(Object arg) => _blink.BlinkConsoleBase.instance.debug_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.dir')
@DocsEditable()
@Experimental() // untriaged
- void dir(Object arg) => _blink.BlinkConsoleBase.instance.dir_Callback_1_(this, arg);
-
+ void dir(Object arg) => _blink.BlinkConsoleBase.instance.dir_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.dirxml')
@DocsEditable()
@Experimental() // untriaged
- void dirxml(Object arg) => _blink.BlinkConsoleBase.instance.dirxml_Callback_1_(this, arg);
-
+ void dirxml(Object arg) => _blink.BlinkConsoleBase.instance.dirxml_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.error')
@DocsEditable()
@Experimental() // untriaged
- void error(Object arg) => _blink.BlinkConsoleBase.instance.error_Callback_1_(this, arg);
-
+ void error(Object arg) => _blink.BlinkConsoleBase.instance.error_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.group')
@DocsEditable()
@Experimental() // untriaged
- void group(Object arg) => _blink.BlinkConsoleBase.instance.group_Callback_1_(this, arg);
-
+ void group(Object arg) => _blink.BlinkConsoleBase.instance.group_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.groupCollapsed')
@DocsEditable()
@Experimental() // untriaged
- void groupCollapsed(Object arg) => _blink.BlinkConsoleBase.instance.groupCollapsed_Callback_1_(this, arg);
-
+ void groupCollapsed(Object arg) => _blink.BlinkConsoleBase.instance.groupCollapsed_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.groupEnd')
@DocsEditable()
@Experimental() // untriaged
- void groupEnd() => _blink.BlinkConsoleBase.instance.groupEnd_Callback_0_(this);
-
+ void groupEnd() => _blink.BlinkConsoleBase.instance.groupEnd_Callback_0_(unwrap_jso(this));
+
@DomName('ConsoleBase.info')
@DocsEditable()
@Experimental() // untriaged
- void info(Object arg) => _blink.BlinkConsoleBase.instance.info_Callback_1_(this, arg);
-
+ void info(Object arg) => _blink.BlinkConsoleBase.instance.info_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.log')
@DocsEditable()
@Experimental() // untriaged
- void log(Object arg) => _blink.BlinkConsoleBase.instance.log_Callback_1_(this, arg);
-
+ void log(Object arg) => _blink.BlinkConsoleBase.instance.log_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.markTimeline')
@DocsEditable()
@Experimental() // untriaged
- void markTimeline(String title) => _blink.BlinkConsoleBase.instance.markTimeline_Callback_1_(this, title);
-
+ void markTimeline(String title) => _blink.BlinkConsoleBase.instance.markTimeline_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.profile')
@DocsEditable()
@Experimental() // untriaged
- void profile(String title) => _blink.BlinkConsoleBase.instance.profile_Callback_1_(this, title);
-
+ void profile(String title) => _blink.BlinkConsoleBase.instance.profile_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.profileEnd')
@DocsEditable()
@Experimental() // untriaged
- void profileEnd(String title) => _blink.BlinkConsoleBase.instance.profileEnd_Callback_1_(this, title);
-
+ void profileEnd(String title) => _blink.BlinkConsoleBase.instance.profileEnd_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.table')
@DocsEditable()
@Experimental() // untriaged
- void table(Object arg) => _blink.BlinkConsoleBase.instance.table_Callback_1_(this, arg);
-
+ void table(Object arg) => _blink.BlinkConsoleBase.instance.table_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.time')
@DocsEditable()
@Experimental() // untriaged
- void time(String title) => _blink.BlinkConsoleBase.instance.time_Callback_1_(this, title);
-
+ void time(String title) => _blink.BlinkConsoleBase.instance.time_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.timeEnd')
@DocsEditable()
@Experimental() // untriaged
- void timeEnd(String title) => _blink.BlinkConsoleBase.instance.timeEnd_Callback_1_(this, title);
-
+ void timeEnd(String title) => _blink.BlinkConsoleBase.instance.timeEnd_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.timeStamp')
@DocsEditable()
@Experimental() // untriaged
- void timeStamp(String title) => _blink.BlinkConsoleBase.instance.timeStamp_Callback_1_(this, title);
-
+ void timeStamp(String title) => _blink.BlinkConsoleBase.instance.timeStamp_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.timeline')
@DocsEditable()
@Experimental() // untriaged
- void timeline(String title) => _blink.BlinkConsoleBase.instance.timeline_Callback_1_(this, title);
-
+ void timeline(String title) => _blink.BlinkConsoleBase.instance.timeline_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.timelineEnd')
@DocsEditable()
@Experimental() // untriaged
- void timelineEnd(String title) => _blink.BlinkConsoleBase.instance.timelineEnd_Callback_1_(this, title);
-
+ void timelineEnd(String title) => _blink.BlinkConsoleBase.instance.timelineEnd_Callback_1_(unwrap_jso(this), title);
+
@DomName('ConsoleBase.trace')
@DocsEditable()
@Experimental() // untriaged
- void trace(Object arg) => _blink.BlinkConsoleBase.instance.trace_Callback_1_(this, arg);
-
+ void trace(Object arg) => _blink.BlinkConsoleBase.instance.trace_Callback_1_(unwrap_jso(this), arg);
+
@DomName('ConsoleBase.warn')
@DocsEditable()
@Experimental() // untriaged
- void warn(Object arg) => _blink.BlinkConsoleBase.instance.warn_Callback_1_(this, arg);
-
+ void warn(Object arg) => _blink.BlinkConsoleBase.instance.warn_Callback_1_(unwrap_jso(this), arg);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3694,16 +3704,16 @@
@DomName('HTMLContentElement.select')
@DocsEditable()
- String get select => _blink.BlinkHTMLContentElement.instance.select_Getter_(this);
-
+ String get select => _blink.BlinkHTMLContentElement.instance.select_Getter_(unwrap_jso(this));
+
@DomName('HTMLContentElement.select')
@DocsEditable()
- void set select(String value) => _blink.BlinkHTMLContentElement.instance.select_Setter_(this, value);
-
+ void set select(String value) => _blink.BlinkHTMLContentElement.instance.select_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLContentElement.getDistributedNodes')
@DocsEditable()
- List<Node> getDistributedNodes() => _blink.BlinkHTMLContentElement.instance.getDistributedNodes_Callback_0_(this);
-
+ List<Node> getDistributedNodes() => wrap_jso_list(_blink.BlinkHTMLContentElement.instance.getDistributedNodes_Callback_0_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3720,32 +3730,32 @@
@DomName('Coordinates.accuracy')
@DocsEditable()
- double get accuracy => _blink.BlinkCoordinates.instance.accuracy_Getter_(this);
-
+ double get accuracy => _blink.BlinkCoordinates.instance.accuracy_Getter_(unwrap_jso(this));
+
@DomName('Coordinates.altitude')
@DocsEditable()
- double get altitude => _blink.BlinkCoordinates.instance.altitude_Getter_(this);
-
+ double get altitude => _blink.BlinkCoordinates.instance.altitude_Getter_(unwrap_jso(this));
+
@DomName('Coordinates.altitudeAccuracy')
@DocsEditable()
- double get altitudeAccuracy => _blink.BlinkCoordinates.instance.altitudeAccuracy_Getter_(this);
-
+ double get altitudeAccuracy => _blink.BlinkCoordinates.instance.altitudeAccuracy_Getter_(unwrap_jso(this));
+
@DomName('Coordinates.heading')
@DocsEditable()
- double get heading => _blink.BlinkCoordinates.instance.heading_Getter_(this);
-
+ double get heading => _blink.BlinkCoordinates.instance.heading_Getter_(unwrap_jso(this));
+
@DomName('Coordinates.latitude')
@DocsEditable()
- double get latitude => _blink.BlinkCoordinates.instance.latitude_Getter_(this);
-
+ double get latitude => _blink.BlinkCoordinates.instance.latitude_Getter_(unwrap_jso(this));
+
@DomName('Coordinates.longitude')
@DocsEditable()
- double get longitude => _blink.BlinkCoordinates.instance.longitude_Getter_(this);
-
+ double get longitude => _blink.BlinkCoordinates.instance.longitude_Getter_(unwrap_jso(this));
+
@DomName('Coordinates.speed')
@DocsEditable()
- double get speed => _blink.BlinkCoordinates.instance.speed_Getter_(this);
-
+ double get speed => _blink.BlinkCoordinates.instance.speed_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3764,18 +3774,18 @@
@DomName('Credential.avatarURL')
@DocsEditable()
@Experimental() // untriaged
- String get avatarUrl => _blink.BlinkCredential.instance.avatarURL_Getter_(this);
-
+ String get avatarUrl => _blink.BlinkCredential.instance.avatarURL_Getter_(unwrap_jso(this));
+
@DomName('Credential.id')
@DocsEditable()
@Experimental() // untriaged
- String get id => _blink.BlinkCredential.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkCredential.instance.id_Getter_(unwrap_jso(this));
+
@DomName('Credential.name')
@DocsEditable()
@Experimental() // untriaged
- String get name => _blink.BlinkCredential.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkCredential.instance.name_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3794,23 +3804,23 @@
@DomName('CredentialsContainer.notifyFailedSignIn')
@DocsEditable()
@Experimental() // untriaged
- Future notifyFailedSignIn(Credential credential) => _blink.BlinkCredentialsContainer.instance.notifyFailedSignIn_Callback_1_(this, credential);
-
+ Future notifyFailedSignIn(Credential credential) => _blink.BlinkCredentialsContainer.instance.notifyFailedSignIn_Callback_1_(unwrap_jso(this), unwrap_jso(credential));
+
@DomName('CredentialsContainer.notifySignedIn')
@DocsEditable()
@Experimental() // untriaged
- Future notifySignedIn(Credential credential) => _blink.BlinkCredentialsContainer.instance.notifySignedIn_Callback_1_(this, credential);
-
+ Future notifySignedIn(Credential credential) => _blink.BlinkCredentialsContainer.instance.notifySignedIn_Callback_1_(unwrap_jso(this), unwrap_jso(credential));
+
@DomName('CredentialsContainer.notifySignedOut')
@DocsEditable()
@Experimental() // untriaged
- Future notifySignedOut() => _blink.BlinkCredentialsContainer.instance.notifySignedOut_Callback_0_(this);
-
+ Future notifySignedOut() => _blink.BlinkCredentialsContainer.instance.notifySignedOut_Callback_0_(unwrap_jso(this));
+
Future request([Map options]) {
if (options != null) {
- return _blink.BlinkCredentialsContainer.instance.request_Callback_1_(this, options);
+ return _blink.BlinkCredentialsContainer.instance.request_Callback_1_(unwrap_jso(this), options);
}
- return _blink.BlinkCredentialsContainer.instance.request_Callback_0_(this);
+ return _blink.BlinkCredentialsContainer.instance.request_Callback_0_(unwrap_jso(this));
}
}
@@ -3837,12 +3847,12 @@
@DomName('Crypto.subtle')
@DocsEditable()
@Experimental() // untriaged
- _SubtleCrypto get subtle => _blink.BlinkCrypto.instance.subtle_Getter_(this);
-
+ _SubtleCrypto get subtle => wrap_jso(_blink.BlinkCrypto.instance.subtle_Getter_(unwrap_jso(this)));
+
@DomName('Crypto.getRandomValues')
@DocsEditable()
- TypedData getRandomValues(TypedData array) => _blink.BlinkCrypto.instance.getRandomValues_Callback_1_(this, array);
-
+ TypedData getRandomValues(TypedData array) => _blink.BlinkCrypto.instance.getRandomValues_Callback_1_(unwrap_jso(this), unwrap_jso(array));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3861,23 +3871,23 @@
@DomName('CryptoKey.algorithm')
@DocsEditable()
@Experimental() // untriaged
- Object get algorithm => _blink.BlinkCryptoKey.instance.algorithm_Getter_(this);
-
+ Object get algorithm => _blink.BlinkCryptoKey.instance.algorithm_Getter_(unwrap_jso(this));
+
@DomName('CryptoKey.extractable')
@DocsEditable()
@Experimental() // untriaged
- bool get extractable => _blink.BlinkCryptoKey.instance.extractable_Getter_(this);
-
+ bool get extractable => _blink.BlinkCryptoKey.instance.extractable_Getter_(unwrap_jso(this));
+
@DomName('CryptoKey.type')
@DocsEditable()
@Experimental() // untriaged
- String get type => _blink.BlinkCryptoKey.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkCryptoKey.instance.type_Getter_(unwrap_jso(this));
+
@DomName('CryptoKey.usages')
@DocsEditable()
@Experimental() // untriaged
- List<String> get usages => _blink.BlinkCryptoKey.instance.usages_Getter_(this);
-
+ List<String> get usages => _blink.BlinkCryptoKey.instance.usages_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3896,12 +3906,12 @@
@DomName('CSS.supports')
@DocsEditable()
- bool supports(String property, String value) => _blink.BlinkCSS.instance.supports_Callback_2_(this, property, value);
-
+ bool supports(String property, String value) => _blink.BlinkCSS.instance.supports_Callback_2_(unwrap_jso(this), property, value);
+
@DomName('CSS.supportsCondition')
@DocsEditable()
- bool supportsCondition(String conditionText) => _blink.BlinkCSS.instance.supports_Callback_1_(this, conditionText);
-
+ bool supportsCondition(String conditionText) => _blink.BlinkCSS.instance.supports_Callback_1_(unwrap_jso(this), conditionText);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3920,12 +3930,12 @@
@DomName('CSSCharsetRule.encoding')
@DocsEditable()
- String get encoding => _blink.BlinkCSSCharsetRule.instance.encoding_Getter_(this);
-
+ String get encoding => _blink.BlinkCSSCharsetRule.instance.encoding_Getter_(unwrap_jso(this));
+
@DomName('CSSCharsetRule.encoding')
@DocsEditable()
- void set encoding(String value) => _blink.BlinkCSSCharsetRule.instance.encoding_Setter_(this, value);
-
+ void set encoding(String value) => _blink.BlinkCSSCharsetRule.instance.encoding_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3946,8 +3956,8 @@
@DomName('WebKitCSSFilterRule.style')
@DocsEditable()
- CssStyleDeclaration get style => _blink.BlinkWebKitCSSFilterRule.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkWebKitCSSFilterRule.instance.style_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3964,8 +3974,8 @@
@DomName('CSSFontFaceRule.style')
@DocsEditable()
- CssStyleDeclaration get style => _blink.BlinkCSSFontFaceRule.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkCSSFontFaceRule.instance.style_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3982,16 +3992,16 @@
@DomName('CSSImportRule.href')
@DocsEditable()
- String get href => _blink.BlinkCSSImportRule.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkCSSImportRule.instance.href_Getter_(unwrap_jso(this));
+
@DomName('CSSImportRule.media')
@DocsEditable()
- MediaList get media => _blink.BlinkCSSImportRule.instance.media_Getter_(this);
-
+ MediaList get media => wrap_jso(_blink.BlinkCSSImportRule.instance.media_Getter_(unwrap_jso(this)));
+
@DomName('CSSImportRule.styleSheet')
@DocsEditable()
- CssStyleSheet get styleSheet => _blink.BlinkCSSImportRule.instance.styleSheet_Getter_(this);
-
+ CssStyleSheet get styleSheet => wrap_jso(_blink.BlinkCSSImportRule.instance.styleSheet_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4010,18 +4020,18 @@
@DomName('CSSKeyframeRule.keyText')
@DocsEditable()
@Experimental() // untriaged
- String get keyText => _blink.BlinkCSSKeyframeRule.instance.keyText_Getter_(this);
-
+ String get keyText => _blink.BlinkCSSKeyframeRule.instance.keyText_Getter_(unwrap_jso(this));
+
@DomName('CSSKeyframeRule.keyText')
@DocsEditable()
@Experimental() // untriaged
- void set keyText(String value) => _blink.BlinkCSSKeyframeRule.instance.keyText_Setter_(this, value);
-
+ void set keyText(String value) => _blink.BlinkCSSKeyframeRule.instance.keyText_Setter_(unwrap_jso(this), value);
+
@DomName('CSSKeyframeRule.style')
@DocsEditable()
@Experimental() // untriaged
- CssStyleDeclaration get style => _blink.BlinkCSSKeyframeRule.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkCSSKeyframeRule.instance.style_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4040,38 +4050,38 @@
@DomName('CSSKeyframesRule.cssRules')
@DocsEditable()
@Experimental() // untriaged
- List<CssRule> get cssRules => _blink.BlinkCSSKeyframesRule.instance.cssRules_Getter_(this);
-
+ List<CssRule> get cssRules => wrap_jso_list(_blink.BlinkCSSKeyframesRule.instance.cssRules_Getter_(unwrap_jso(this)));
+
@DomName('CSSKeyframesRule.name')
@DocsEditable()
@Experimental() // untriaged
- String get name => _blink.BlinkCSSKeyframesRule.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkCSSKeyframesRule.instance.name_Getter_(unwrap_jso(this));
+
@DomName('CSSKeyframesRule.name')
@DocsEditable()
@Experimental() // untriaged
- void set name(String value) => _blink.BlinkCSSKeyframesRule.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkCSSKeyframesRule.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('CSSKeyframesRule.__getter__')
@DocsEditable()
@Experimental() // untriaged
- CssKeyframeRule __getter__(int index) => _blink.BlinkCSSKeyframesRule.instance.$__getter___Callback_1_(this, index);
-
+ CssKeyframeRule __getter__(int index) => _blink.BlinkCSSKeyframesRule.instance.$__getter___Callback_1_(unwrap_jso(this), index);
+
@DomName('CSSKeyframesRule.deleteRule')
@DocsEditable()
@Experimental() // untriaged
- void deleteRule(String key) => _blink.BlinkCSSKeyframesRule.instance.deleteRule_Callback_1_(this, key);
-
+ void deleteRule(String key) => _blink.BlinkCSSKeyframesRule.instance.deleteRule_Callback_1_(unwrap_jso(this), key);
+
@DomName('CSSKeyframesRule.findRule')
@DocsEditable()
@Experimental() // untriaged
- CssKeyframeRule findRule(String key) => _blink.BlinkCSSKeyframesRule.instance.findRule_Callback_1_(this, key);
-
+ CssKeyframeRule findRule(String key) => _blink.BlinkCSSKeyframesRule.instance.findRule_Callback_1_(unwrap_jso(this), key);
+
@DomName('CSSKeyframesRule.insertRule')
@DocsEditable()
@Experimental() // untriaged
- void appendRule(String rule) => _blink.BlinkCSSKeyframesRule.instance.insertRule_Callback_1_(this, rule);
-
+ void appendRule(String rule) => _blink.BlinkCSSKeyframesRule.instance.insertRule_Callback_1_(unwrap_jso(this), rule);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4088,20 +4098,20 @@
@DomName('CSSMediaRule.cssRules')
@DocsEditable()
- List<CssRule> get cssRules => _blink.BlinkCSSMediaRule.instance.cssRules_Getter_(this);
-
+ List<CssRule> get cssRules => wrap_jso_list(_blink.BlinkCSSMediaRule.instance.cssRules_Getter_(unwrap_jso(this)));
+
@DomName('CSSMediaRule.media')
@DocsEditable()
- MediaList get media => _blink.BlinkCSSMediaRule.instance.media_Getter_(this);
-
+ MediaList get media => wrap_jso(_blink.BlinkCSSMediaRule.instance.media_Getter_(unwrap_jso(this)));
+
@DomName('CSSMediaRule.deleteRule')
@DocsEditable()
- void deleteRule(int index) => _blink.BlinkCSSMediaRule.instance.deleteRule_Callback_1_(this, index);
-
+ void deleteRule(int index) => _blink.BlinkCSSMediaRule.instance.deleteRule_Callback_1_(unwrap_jso(this), index);
+
@DomName('CSSMediaRule.insertRule')
@DocsEditable()
- int insertRule(String rule, int index) => _blink.BlinkCSSMediaRule.instance.insertRule_Callback_2_(this, rule, index);
-
+ int insertRule(String rule, int index) => _blink.BlinkCSSMediaRule.instance.insertRule_Callback_2_(unwrap_jso(this), rule, index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4118,16 +4128,16 @@
@DomName('CSSPageRule.selectorText')
@DocsEditable()
- String get selectorText => _blink.BlinkCSSPageRule.instance.selectorText_Getter_(this);
-
+ String get selectorText => _blink.BlinkCSSPageRule.instance.selectorText_Getter_(unwrap_jso(this));
+
@DomName('CSSPageRule.selectorText')
@DocsEditable()
- void set selectorText(String value) => _blink.BlinkCSSPageRule.instance.selectorText_Setter_(this, value);
-
+ void set selectorText(String value) => _blink.BlinkCSSPageRule.instance.selectorText_Setter_(unwrap_jso(this), value);
+
@DomName('CSSPageRule.style')
@DocsEditable()
- CssStyleDeclaration get style => _blink.BlinkCSSPageRule.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkCSSPageRule.instance.style_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4205,24 +4215,24 @@
@DomName('CSSRule.cssText')
@DocsEditable()
- String get cssText => _blink.BlinkCSSRule.instance.cssText_Getter_(this);
-
+ String get cssText => _blink.BlinkCSSRule.instance.cssText_Getter_(unwrap_jso(this));
+
@DomName('CSSRule.cssText')
@DocsEditable()
- void set cssText(String value) => _blink.BlinkCSSRule.instance.cssText_Setter_(this, value);
-
+ void set cssText(String value) => _blink.BlinkCSSRule.instance.cssText_Setter_(unwrap_jso(this), value);
+
@DomName('CSSRule.parentRule')
@DocsEditable()
- CssRule get parentRule => _blink.BlinkCSSRule.instance.parentRule_Getter_(this);
-
+ CssRule get parentRule => wrap_jso(_blink.BlinkCSSRule.instance.parentRule_Getter_(unwrap_jso(this)));
+
@DomName('CSSRule.parentStyleSheet')
@DocsEditable()
- CssStyleSheet get parentStyleSheet => _blink.BlinkCSSRule.instance.parentStyleSheet_Getter_(this);
-
+ CssStyleSheet get parentStyleSheet => wrap_jso(_blink.BlinkCSSRule.instance.parentStyleSheet_Getter_(unwrap_jso(this)));
+
@DomName('CSSRule.type')
@DocsEditable()
- int get type => _blink.BlinkCSSRule.instance.type_Getter_(this);
-
+ int get type => _blink.BlinkCSSRule.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
@@ -4329,54 +4339,54 @@
@DomName('CSSStyleDeclaration.cssText')
@DocsEditable()
- String get cssText => _blink.BlinkCSSStyleDeclaration.instance.cssText_Getter_(this);
-
+ String get cssText => _blink.BlinkCSSStyleDeclaration.instance.cssText_Getter_(unwrap_jso(this));
+
@DomName('CSSStyleDeclaration.cssText')
@DocsEditable()
- void set cssText(String value) => _blink.BlinkCSSStyleDeclaration.instance.cssText_Setter_(this, value);
-
+ void set cssText(String value) => _blink.BlinkCSSStyleDeclaration.instance.cssText_Setter_(unwrap_jso(this), value);
+
@DomName('CSSStyleDeclaration.length')
@DocsEditable()
- int get length => _blink.BlinkCSSStyleDeclaration.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkCSSStyleDeclaration.instance.length_Getter_(unwrap_jso(this));
+
@DomName('CSSStyleDeclaration.parentRule')
@DocsEditable()
- CssRule get parentRule => _blink.BlinkCSSStyleDeclaration.instance.parentRule_Getter_(this);
-
+ CssRule get parentRule => wrap_jso(_blink.BlinkCSSStyleDeclaration.instance.parentRule_Getter_(unwrap_jso(this)));
+
@DomName('CSSStyleDeclaration.__getter__')
@DocsEditable()
@Experimental() // untriaged
- Object __getter__(String name) => _blink.BlinkCSSStyleDeclaration.instance.$__getter___Callback_1_(this, name);
-
+ Object __getter__(String name) => wrap_jso(_blink.BlinkCSSStyleDeclaration.instance.$__getter___Callback_1_(unwrap_jso(this), name));
+
@DomName('CSSStyleDeclaration.__propertyQuery__')
@DocsEditable()
@Experimental() // untriaged
- bool __propertyQuery__(String name) => _blink.BlinkCSSStyleDeclaration.instance.$__propertyQuery___Callback_1_(this, name);
-
+ bool __propertyQuery__(String name) => _blink.BlinkCSSStyleDeclaration.instance.$__propertyQuery___Callback_1_(unwrap_jso(this), name);
+
@DomName('CSSStyleDeclaration.__setter__')
@DocsEditable()
- void __setter__(String propertyName, String propertyValue) => _blink.BlinkCSSStyleDeclaration.instance.$__setter___Callback_2_(this, propertyName, propertyValue);
-
+ void __setter__(String propertyName, String propertyValue) => _blink.BlinkCSSStyleDeclaration.instance.$__setter___Callback_2_(unwrap_jso(this), propertyName, propertyValue);
+
@DomName('CSSStyleDeclaration.getPropertyPriority')
@DocsEditable()
- String getPropertyPriority(String propertyName) => _blink.BlinkCSSStyleDeclaration.instance.getPropertyPriority_Callback_1_(this, propertyName);
-
+ String getPropertyPriority(String propertyName) => _blink.BlinkCSSStyleDeclaration.instance.getPropertyPriority_Callback_1_(unwrap_jso(this), propertyName);
+
@DomName('CSSStyleDeclaration.getPropertyValue')
@DocsEditable()
- String _getPropertyValue(String propertyName) => _blink.BlinkCSSStyleDeclaration.instance.getPropertyValue_Callback_1_(this, propertyName);
-
+ String _getPropertyValue(String propertyName) => _blink.BlinkCSSStyleDeclaration.instance.getPropertyValue_Callback_1_(unwrap_jso(this), propertyName);
+
@DomName('CSSStyleDeclaration.item')
@DocsEditable()
- String item(int index) => _blink.BlinkCSSStyleDeclaration.instance.item_Callback_1_(this, index);
-
+ String item(int index) => _blink.BlinkCSSStyleDeclaration.instance.item_Callback_1_(unwrap_jso(this), index);
+
@DomName('CSSStyleDeclaration.removeProperty')
@DocsEditable()
- String removeProperty(String propertyName) => _blink.BlinkCSSStyleDeclaration.instance.removeProperty_Callback_1_(this, propertyName);
-
+ String removeProperty(String propertyName) => _blink.BlinkCSSStyleDeclaration.instance.removeProperty_Callback_1_(unwrap_jso(this), propertyName);
+
@DomName('CSSStyleDeclaration.setProperty')
@DocsEditable()
- void _setProperty(String propertyName, String value, String priority) => _blink.BlinkCSSStyleDeclaration.instance.setProperty_Callback_3_(this, propertyName, value, priority);
-
+ void _setProperty(String propertyName, String value, String priority) => _blink.BlinkCSSStyleDeclaration.instance.setProperty_Callback_3_(unwrap_jso(this), propertyName, value, priority);
+
}
class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
@@ -7509,16 +7519,16 @@
@DomName('CSSStyleRule.selectorText')
@DocsEditable()
- String get selectorText => _blink.BlinkCSSStyleRule.instance.selectorText_Getter_(this);
-
+ String get selectorText => _blink.BlinkCSSStyleRule.instance.selectorText_Getter_(unwrap_jso(this));
+
@DomName('CSSStyleRule.selectorText')
@DocsEditable()
- void set selectorText(String value) => _blink.BlinkCSSStyleRule.instance.selectorText_Setter_(this, value);
-
+ void set selectorText(String value) => _blink.BlinkCSSStyleRule.instance.selectorText_Setter_(unwrap_jso(this), value);
+
@DomName('CSSStyleRule.style')
@DocsEditable()
- CssStyleDeclaration get style => _blink.BlinkCSSStyleRule.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkCSSStyleRule.instance.style_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7535,40 +7545,40 @@
@DomName('CSSStyleSheet.cssRules')
@DocsEditable()
- List<CssRule> get cssRules => _blink.BlinkCSSStyleSheet.instance.cssRules_Getter_(this);
-
+ List<CssRule> get cssRules => wrap_jso_list(_blink.BlinkCSSStyleSheet.instance.cssRules_Getter_(unwrap_jso(this)));
+
@DomName('CSSStyleSheet.ownerRule')
@DocsEditable()
- CssRule get ownerRule => _blink.BlinkCSSStyleSheet.instance.ownerRule_Getter_(this);
-
+ CssRule get ownerRule => wrap_jso(_blink.BlinkCSSStyleSheet.instance.ownerRule_Getter_(unwrap_jso(this)));
+
@DomName('CSSStyleSheet.rules')
@DocsEditable()
@Experimental() // non-standard
- List<CssRule> get rules => _blink.BlinkCSSStyleSheet.instance.rules_Getter_(this);
-
+ List<CssRule> get rules => wrap_jso_list(_blink.BlinkCSSStyleSheet.instance.rules_Getter_(unwrap_jso(this)));
+
int addRule(String selector, String style, [int index]) {
if (index != null) {
- return _blink.BlinkCSSStyleSheet.instance.addRule_Callback_3_(this, selector, style, index);
+ return _blink.BlinkCSSStyleSheet.instance.addRule_Callback_3_(unwrap_jso(this), selector, style, index);
}
- return _blink.BlinkCSSStyleSheet.instance.addRule_Callback_2_(this, selector, style);
+ return _blink.BlinkCSSStyleSheet.instance.addRule_Callback_2_(unwrap_jso(this), selector, style);
}
@DomName('CSSStyleSheet.deleteRule')
@DocsEditable()
- void deleteRule(int index) => _blink.BlinkCSSStyleSheet.instance.deleteRule_Callback_1_(this, index);
-
+ void deleteRule(int index) => _blink.BlinkCSSStyleSheet.instance.deleteRule_Callback_1_(unwrap_jso(this), index);
+
int insertRule(String rule, [int index]) {
if (index != null) {
- return _blink.BlinkCSSStyleSheet.instance.insertRule_Callback_2_(this, rule, index);
+ return _blink.BlinkCSSStyleSheet.instance.insertRule_Callback_2_(unwrap_jso(this), rule, index);
}
- return _blink.BlinkCSSStyleSheet.instance.insertRule_Callback_1_(this, rule);
+ return _blink.BlinkCSSStyleSheet.instance.insertRule_Callback_1_(unwrap_jso(this), rule);
}
@DomName('CSSStyleSheet.removeRule')
@DocsEditable()
@Experimental() // non-standard
- void removeRule(int index) => _blink.BlinkCSSStyleSheet.instance.removeRule_Callback_1_(this, index);
-
+ void removeRule(int index) => _blink.BlinkCSSStyleSheet.instance.removeRule_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7585,20 +7595,20 @@
@DomName('CSSSupportsRule.conditionText')
@DocsEditable()
- String get conditionText => _blink.BlinkCSSSupportsRule.instance.conditionText_Getter_(this);
-
+ String get conditionText => _blink.BlinkCSSSupportsRule.instance.conditionText_Getter_(unwrap_jso(this));
+
@DomName('CSSSupportsRule.cssRules')
@DocsEditable()
- List<CssRule> get cssRules => _blink.BlinkCSSSupportsRule.instance.cssRules_Getter_(this);
-
+ List<CssRule> get cssRules => wrap_jso_list(_blink.BlinkCSSSupportsRule.instance.cssRules_Getter_(unwrap_jso(this)));
+
@DomName('CSSSupportsRule.deleteRule')
@DocsEditable()
- void deleteRule(int index) => _blink.BlinkCSSSupportsRule.instance.deleteRule_Callback_1_(this, index);
-
+ void deleteRule(int index) => _blink.BlinkCSSSupportsRule.instance.deleteRule_Callback_1_(unwrap_jso(this), index);
+
@DomName('CSSSupportsRule.insertRule')
@DocsEditable()
- int insertRule(String rule, int index) => _blink.BlinkCSSSupportsRule.instance.insertRule_Callback_2_(this, rule, index);
-
+ int insertRule(String rule, int index) => _blink.BlinkCSSSupportsRule.instance.insertRule_Callback_2_(unwrap_jso(this), rule, index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7617,8 +7627,8 @@
@DomName('CSSViewportRule.style')
@DocsEditable()
@Experimental() // untriaged
- CssStyleDeclaration get style => _blink.BlinkCSSViewportRule.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkCSSViewportRule.instance.style_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7665,12 +7675,12 @@
@DomName('CustomEvent.detail')
@DocsEditable()
- Object get _detail => _blink.BlinkCustomEvent.instance.detail_Getter_(this);
-
+ Object get _detail => _blink.BlinkCustomEvent.instance.detail_Getter_(unwrap_jso(this));
+
@DomName('CustomEvent.initCustomEvent')
@DocsEditable()
- void _initCustomEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object detailArg) => _blink.BlinkCustomEvent.instance.initCustomEvent_Callback_4_(this, typeArg, canBubbleArg, cancelableArg, detailArg);
-
+ void _initCustomEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object detailArg) => _blink.BlinkCustomEvent.instance.initCustomEvent_Callback_4_(unwrap_jso(this), typeArg, canBubbleArg, cancelableArg, detailArg);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7728,8 +7738,8 @@
@DomName('HTMLDataListElement.options')
@DocsEditable()
- List<Node> get options => _blink.BlinkHTMLDataListElement.instance.options_Getter_(this);
-
+ List<Node> get options => wrap_jso_list(_blink.BlinkHTMLDataListElement.instance.options_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7748,62 +7758,62 @@
@DomName('DataTransfer.dropEffect')
@DocsEditable()
@Experimental() // untriaged
- String get dropEffect => _blink.BlinkDataTransfer.instance.dropEffect_Getter_(this);
-
+ String get dropEffect => _blink.BlinkDataTransfer.instance.dropEffect_Getter_(unwrap_jso(this));
+
@DomName('DataTransfer.dropEffect')
@DocsEditable()
@Experimental() // untriaged
- void set dropEffect(String value) => _blink.BlinkDataTransfer.instance.dropEffect_Setter_(this, value);
-
+ void set dropEffect(String value) => _blink.BlinkDataTransfer.instance.dropEffect_Setter_(unwrap_jso(this), value);
+
@DomName('DataTransfer.effectAllowed')
@DocsEditable()
@Experimental() // untriaged
- String get effectAllowed => _blink.BlinkDataTransfer.instance.effectAllowed_Getter_(this);
-
+ String get effectAllowed => _blink.BlinkDataTransfer.instance.effectAllowed_Getter_(unwrap_jso(this));
+
@DomName('DataTransfer.effectAllowed')
@DocsEditable()
@Experimental() // untriaged
- void set effectAllowed(String value) => _blink.BlinkDataTransfer.instance.effectAllowed_Setter_(this, value);
-
+ void set effectAllowed(String value) => _blink.BlinkDataTransfer.instance.effectAllowed_Setter_(unwrap_jso(this), value);
+
@DomName('DataTransfer.files')
@DocsEditable()
@Experimental() // untriaged
- List<File> get files => _blink.BlinkDataTransfer.instance.files_Getter_(this);
-
+ List<File> get files => wrap_jso_list(_blink.BlinkDataTransfer.instance.files_Getter_(unwrap_jso(this)));
+
@DomName('DataTransfer.items')
@DocsEditable()
@Experimental() // untriaged
- DataTransferItemList get items => _blink.BlinkDataTransfer.instance.items_Getter_(this);
-
+ DataTransferItemList get items => wrap_jso(_blink.BlinkDataTransfer.instance.items_Getter_(unwrap_jso(this)));
+
@DomName('DataTransfer.types')
@DocsEditable()
@Experimental() // untriaged
- List<String> get types => _blink.BlinkDataTransfer.instance.types_Getter_(this);
-
+ List<String> get types => _blink.BlinkDataTransfer.instance.types_Getter_(unwrap_jso(this));
+
void clearData([String type]) {
if (type != null) {
- _blink.BlinkDataTransfer.instance.clearData_Callback_1_(this, type);
+ _blink.BlinkDataTransfer.instance.clearData_Callback_1_(unwrap_jso(this), type);
return;
}
- _blink.BlinkDataTransfer.instance.clearData_Callback_0_(this);
+ _blink.BlinkDataTransfer.instance.clearData_Callback_0_(unwrap_jso(this));
return;
}
@DomName('DataTransfer.getData')
@DocsEditable()
@Experimental() // untriaged
- String getData(String type) => _blink.BlinkDataTransfer.instance.getData_Callback_1_(this, type);
-
+ String getData(String type) => _blink.BlinkDataTransfer.instance.getData_Callback_1_(unwrap_jso(this), type);
+
@DomName('DataTransfer.setData')
@DocsEditable()
@Experimental() // untriaged
- void setData(String type, String data) => _blink.BlinkDataTransfer.instance.setData_Callback_2_(this, type, data);
-
+ void setData(String type, String data) => _blink.BlinkDataTransfer.instance.setData_Callback_2_(unwrap_jso(this), type, data);
+
@DomName('DataTransfer.setDragImage')
@DocsEditable()
@Experimental() // untriaged
- void setDragImage(Element image, int x, int y) => _blink.BlinkDataTransfer.instance.setDragImage_Callback_3_(this, image, x, y);
-
+ void setDragImage(Element image, int x, int y) => _blink.BlinkDataTransfer.instance.setDragImage_Callback_3_(unwrap_jso(this), unwrap_jso(image), x, y);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7822,20 +7832,20 @@
@DomName('DataTransferItem.kind')
@DocsEditable()
- String get kind => _blink.BlinkDataTransferItem.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkDataTransferItem.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('DataTransferItem.type')
@DocsEditable()
- String get type => _blink.BlinkDataTransferItem.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkDataTransferItem.instance.type_Getter_(unwrap_jso(this));
+
@DomName('DataTransferItem.getAsFile')
@DocsEditable()
- Blob getAsFile() => _blink.BlinkDataTransferItem.instance.getAsFile_Callback_0_(this);
-
+ Blob getAsFile() => wrap_jso(_blink.BlinkDataTransferItem.instance.getAsFile_Callback_0_(unwrap_jso(this)));
+
@DomName('DataTransferItem.getAsString')
@DocsEditable()
- void _getAsString(_StringCallback callback) => _blink.BlinkDataTransferItem.instance.getAsString_Callback_1_(this, callback);
-
+ void _getAsString(_StringCallback callback) => _blink.BlinkDataTransferItem.instance.getAsString_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
+
Future<String> getAsString() {
var completer = new Completer<String>();
_getAsString(
@@ -7848,8 +7858,8 @@
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
- Entry getAsEntry() => _blink.BlinkDataTransferItem.instance.webkitGetAsEntry_Callback_0_(this);
-
+ Entry getAsEntry() => wrap_jso(_blink.BlinkDataTransferItem.instance.webkitGetAsEntry_Callback_0_(unwrap_jso(this)));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7866,40 +7876,40 @@
@DomName('DataTransferItemList.length')
@DocsEditable()
- int get length => _blink.BlinkDataTransferItemList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkDataTransferItemList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('DataTransferItemList.__getter__')
@DocsEditable()
@Experimental() // untriaged
- DataTransferItem __getter__(int index) => _blink.BlinkDataTransferItemList.instance.$__getter___Callback_1_(this, index);
-
+ DataTransferItem __getter__(int index) => wrap_jso(_blink.BlinkDataTransferItemList.instance.$__getter___Callback_1_(unwrap_jso(this), index));
+
DataTransferItem add(data_OR_file, [String type]) {
if ((type is String) && (data_OR_file is String)) {
- return _blink.BlinkDataTransferItemList.instance.add_Callback_2_(this, data_OR_file, type);
+ return wrap_jso(_blink.BlinkDataTransferItemList.instance.add_Callback_2_(unwrap_jso(this), unwrap_jso(data_OR_file), type));
}
if ((data_OR_file is File || data_OR_file == null) && type == null) {
- return _blink.BlinkDataTransferItemList.instance.add_Callback_1_(this, data_OR_file);
+ return wrap_jso(_blink.BlinkDataTransferItemList.instance.add_Callback_1_(unwrap_jso(this), unwrap_jso(data_OR_file)));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@DomName('DataTransferItemList.addData')
@DocsEditable()
- DataTransferItem addData(String data, String type) => _blink.BlinkDataTransferItemList.instance.add_Callback_2_(this, data, type);
-
+ DataTransferItem addData(String data, String type) => wrap_jso(_blink.BlinkDataTransferItemList.instance.add_Callback_2_(unwrap_jso(this), data, type));
+
@DomName('DataTransferItemList.addFile')
@DocsEditable()
- DataTransferItem addFile(File file) => _blink.BlinkDataTransferItemList.instance.add_Callback_1_(this, file);
-
+ DataTransferItem addFile(File file) => wrap_jso(_blink.BlinkDataTransferItemList.instance.add_Callback_1_(unwrap_jso(this), unwrap_jso(file)));
+
@DomName('DataTransferItemList.clear')
@DocsEditable()
- void clear() => _blink.BlinkDataTransferItemList.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkDataTransferItemList.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('DataTransferItemList.remove')
@DocsEditable()
@Experimental() // untriaged
- void remove(int index) => _blink.BlinkDataTransferItemList.instance.remove_Callback_1_(this, index);
-
+ void remove(int index) => _blink.BlinkDataTransferItemList.instance.remove_Callback_1_(unwrap_jso(this), index);
+
DataTransferItem operator[] (int index) {
return __getter__(index);
@@ -7945,8 +7955,8 @@
@DomName('DedicatedWorkerGlobalScope.postMessage')
@DocsEditable()
@Experimental() // untriaged
- void postMessage(Object message, [List<MessagePort> transfer]) => _blink.BlinkDedicatedWorkerGlobalScope.instance.postMessage_Callback_2_(this, message, transfer);
-
+ void postMessage(Object message, [List<MessagePort> transfer]) => _blink.BlinkDedicatedWorkerGlobalScope.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer);
+
/// Stream of `message` events handled by this [DedicatedWorkerGlobalScope].
@DomName('DedicatedWorkerGlobalScope.onmessage')
@DocsEditable()
@@ -7980,27 +7990,27 @@
void queryUsageAndQuota(int storageType, [StorageUsageCallback usageCallback, StorageErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkDeprecatedStorageInfo.instance.queryUsageAndQuota_Callback_3_(this, storageType, usageCallback, errorCallback);
+ _blink.BlinkDeprecatedStorageInfo.instance.queryUsageAndQuota_Callback_3_(unwrap_jso(this), storageType, unwrap_jso(usageCallback), unwrap_jso(errorCallback));
return;
}
if (usageCallback != null) {
- _blink.BlinkDeprecatedStorageInfo.instance.queryUsageAndQuota_Callback_2_(this, storageType, usageCallback);
+ _blink.BlinkDeprecatedStorageInfo.instance.queryUsageAndQuota_Callback_2_(unwrap_jso(this), storageType, unwrap_jso(usageCallback));
return;
}
- _blink.BlinkDeprecatedStorageInfo.instance.queryUsageAndQuota_Callback_1_(this, storageType);
+ _blink.BlinkDeprecatedStorageInfo.instance.queryUsageAndQuota_Callback_1_(unwrap_jso(this), storageType);
return;
}
void requestQuota(int storageType, int newQuotaInBytes, [StorageQuotaCallback quotaCallback, StorageErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkDeprecatedStorageInfo.instance.requestQuota_Callback_4_(this, storageType, newQuotaInBytes, quotaCallback, errorCallback);
+ _blink.BlinkDeprecatedStorageInfo.instance.requestQuota_Callback_4_(unwrap_jso(this), storageType, newQuotaInBytes, unwrap_jso(quotaCallback), unwrap_jso(errorCallback));
return;
}
if (quotaCallback != null) {
- _blink.BlinkDeprecatedStorageInfo.instance.requestQuota_Callback_3_(this, storageType, newQuotaInBytes, quotaCallback);
+ _blink.BlinkDeprecatedStorageInfo.instance.requestQuota_Callback_3_(unwrap_jso(this), storageType, newQuotaInBytes, unwrap_jso(quotaCallback));
return;
}
- _blink.BlinkDeprecatedStorageInfo.instance.requestQuota_Callback_2_(this, storageType, newQuotaInBytes);
+ _blink.BlinkDeprecatedStorageInfo.instance.requestQuota_Callback_2_(unwrap_jso(this), storageType, newQuotaInBytes);
return;
}
@@ -8021,23 +8031,23 @@
void queryUsageAndQuota(StorageUsageCallback usageCallback, [StorageErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkDeprecatedStorageQuota.instance.queryUsageAndQuota_Callback_2_(this, usageCallback, errorCallback);
+ _blink.BlinkDeprecatedStorageQuota.instance.queryUsageAndQuota_Callback_2_(unwrap_jso(this), unwrap_jso(usageCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkDeprecatedStorageQuota.instance.queryUsageAndQuota_Callback_1_(this, usageCallback);
+ _blink.BlinkDeprecatedStorageQuota.instance.queryUsageAndQuota_Callback_1_(unwrap_jso(this), unwrap_jso(usageCallback));
return;
}
void requestQuota(int newQuotaInBytes, [StorageQuotaCallback quotaCallback, StorageErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkDeprecatedStorageQuota.instance.requestQuota_Callback_3_(this, newQuotaInBytes, quotaCallback, errorCallback);
+ _blink.BlinkDeprecatedStorageQuota.instance.requestQuota_Callback_3_(unwrap_jso(this), newQuotaInBytes, unwrap_jso(quotaCallback), unwrap_jso(errorCallback));
return;
}
if (quotaCallback != null) {
- _blink.BlinkDeprecatedStorageQuota.instance.requestQuota_Callback_2_(this, newQuotaInBytes, quotaCallback);
+ _blink.BlinkDeprecatedStorageQuota.instance.requestQuota_Callback_2_(unwrap_jso(this), newQuotaInBytes, unwrap_jso(quotaCallback));
return;
}
- _blink.BlinkDeprecatedStorageQuota.instance.requestQuota_Callback_1_(this, newQuotaInBytes);
+ _blink.BlinkDeprecatedStorageQuota.instance.requestQuota_Callback_1_(unwrap_jso(this), newQuotaInBytes);
return;
}
@@ -8073,12 +8083,12 @@
@DomName('HTMLDetailsElement.open')
@DocsEditable()
- bool get open => _blink.BlinkHTMLDetailsElement.instance.open_Getter_(this);
-
+ bool get open => _blink.BlinkHTMLDetailsElement.instance.open_Getter_(unwrap_jso(this));
+
@DomName('HTMLDetailsElement.open')
@DocsEditable()
- void set open(bool value) => _blink.BlinkHTMLDetailsElement.instance.open_Setter_(this, value);
-
+ void set open(bool value) => _blink.BlinkHTMLDetailsElement.instance.open_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -8097,16 +8107,16 @@
@DomName('DeviceAcceleration.x')
@DocsEditable()
- double get x => _blink.BlinkDeviceAcceleration.instance.x_Getter_(this);
-
+ double get x => _blink.BlinkDeviceAcceleration.instance.x_Getter_(unwrap_jso(this));
+
@DomName('DeviceAcceleration.y')
@DocsEditable()
- double get y => _blink.BlinkDeviceAcceleration.instance.y_Getter_(this);
-
+ double get y => _blink.BlinkDeviceAcceleration.instance.y_Getter_(unwrap_jso(this));
+
@DomName('DeviceAcceleration.z')
@DocsEditable()
- double get z => _blink.BlinkDeviceAcceleration.instance.z_Getter_(this);
-
+ double get z => _blink.BlinkDeviceAcceleration.instance.z_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -8125,8 +8135,8 @@
@DomName('DeviceLightEvent.value')
@DocsEditable()
@Experimental() // untriaged
- double get value => _blink.BlinkDeviceLightEvent.instance.value_Getter_(this);
-
+ double get value => _blink.BlinkDeviceLightEvent.instance.value_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -8145,25 +8155,25 @@
@DomName('DeviceMotionEvent.acceleration')
@DocsEditable()
- DeviceAcceleration get acceleration => _blink.BlinkDeviceMotionEvent.instance.acceleration_Getter_(this);
-
+ DeviceAcceleration get acceleration => wrap_jso(_blink.BlinkDeviceMotionEvent.instance.acceleration_Getter_(unwrap_jso(this)));
+
@DomName('DeviceMotionEvent.accelerationIncludingGravity')
@DocsEditable()
- DeviceAcceleration get accelerationIncludingGravity => _blink.BlinkDeviceMotionEvent.instance.accelerationIncludingGravity_Getter_(this);
-
+ DeviceAcceleration get accelerationIncludingGravity => wrap_jso(_blink.BlinkDeviceMotionEvent.instance.accelerationIncludingGravity_Getter_(unwrap_jso(this)));
+
@DomName('DeviceMotionEvent.interval')
@DocsEditable()
- double get interval => _blink.BlinkDeviceMotionEvent.instance.interval_Getter_(this);
-
+ double get interval => _blink.BlinkDeviceMotionEvent.instance.interval_Getter_(unwrap_jso(this));
+
@DomName('DeviceMotionEvent.rotationRate')
@DocsEditable()
- DeviceRotationRate get rotationRate => _blink.BlinkDeviceMotionEvent.instance.rotationRate_Getter_(this);
-
+ DeviceRotationRate get rotationRate => wrap_jso(_blink.BlinkDeviceMotionEvent.instance.rotationRate_Getter_(unwrap_jso(this)));
+
@DomName('DeviceMotionEvent.initDeviceMotionEvent')
@DocsEditable()
@Experimental() // untriaged
- void initDeviceMotionEvent(String type, bool bubbles, bool cancelable, DeviceAcceleration acceleration, DeviceAcceleration accelerationIncludingGravity, DeviceRotationRate rotationRate, num interval) => _blink.BlinkDeviceMotionEvent.instance.initDeviceMotionEvent_Callback_7_(this, type, bubbles, cancelable, acceleration, accelerationIncludingGravity, rotationRate, interval);
-
+ void initDeviceMotionEvent(String type, bool bubbles, bool cancelable, DeviceAcceleration acceleration, DeviceAcceleration accelerationIncludingGravity, DeviceRotationRate rotationRate, num interval) => _blink.BlinkDeviceMotionEvent.instance.initDeviceMotionEvent_Callback_7_(unwrap_jso(this), type, bubbles, cancelable, unwrap_jso(acceleration), unwrap_jso(accelerationIncludingGravity), unwrap_jso(rotationRate), interval);
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -8188,24 +8198,24 @@
@DomName('DeviceOrientationEvent.absolute')
@DocsEditable()
- bool get absolute => _blink.BlinkDeviceOrientationEvent.instance.absolute_Getter_(this);
-
+ bool get absolute => _blink.BlinkDeviceOrientationEvent.instance.absolute_Getter_(unwrap_jso(this));
+
@DomName('DeviceOrientationEvent.alpha')
@DocsEditable()
- double get alpha => _blink.BlinkDeviceOrientationEvent.instance.alpha_Getter_(this);
-
+ double get alpha => _blink.BlinkDeviceOrientationEvent.instance.alpha_Getter_(unwrap_jso(this));
+
@DomName('DeviceOrientationEvent.beta')
@DocsEditable()
- double get beta => _blink.BlinkDeviceOrientationEvent.instance.beta_Getter_(this);
-
+ double get beta => _blink.BlinkDeviceOrientationEvent.instance.beta_Getter_(unwrap_jso(this));
+
@DomName('DeviceOrientationEvent.gamma')
@DocsEditable()
- double get gamma => _blink.BlinkDeviceOrientationEvent.instance.gamma_Getter_(this);
-
+ double get gamma => _blink.BlinkDeviceOrientationEvent.instance.gamma_Getter_(unwrap_jso(this));
+
@DomName('DeviceOrientationEvent.initDeviceOrientationEvent')
@DocsEditable()
- void _initDeviceOrientationEvent(String type, bool bubbles, bool cancelable, num alpha, num beta, num gamma, bool absolute) => _blink.BlinkDeviceOrientationEvent.instance.initDeviceOrientationEvent_Callback_7_(this, type, bubbles, cancelable, alpha, beta, gamma, absolute);
-
+ void _initDeviceOrientationEvent(String type, bool bubbles, bool cancelable, num alpha, num beta, num gamma, bool absolute) => _blink.BlinkDeviceOrientationEvent.instance.initDeviceOrientationEvent_Callback_7_(unwrap_jso(this), type, bubbles, cancelable, alpha, beta, gamma, absolute);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -8224,16 +8234,16 @@
@DomName('DeviceRotationRate.alpha')
@DocsEditable()
- double get alpha => _blink.BlinkDeviceRotationRate.instance.alpha_Getter_(this);
-
+ double get alpha => _blink.BlinkDeviceRotationRate.instance.alpha_Getter_(unwrap_jso(this));
+
@DomName('DeviceRotationRate.beta')
@DocsEditable()
- double get beta => _blink.BlinkDeviceRotationRate.instance.beta_Getter_(this);
-
+ double get beta => _blink.BlinkDeviceRotationRate.instance.beta_Getter_(unwrap_jso(this));
+
@DomName('DeviceRotationRate.gamma')
@DocsEditable()
- double get gamma => _blink.BlinkDeviceRotationRate.instance.gamma_Getter_(this);
-
+ double get gamma => _blink.BlinkDeviceRotationRate.instance.gamma_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -8257,34 +8267,34 @@
@DomName('HTMLDialogElement.open')
@DocsEditable()
- bool get open => _blink.BlinkHTMLDialogElement.instance.open_Getter_(this);
-
+ bool get open => _blink.BlinkHTMLDialogElement.instance.open_Getter_(unwrap_jso(this));
+
@DomName('HTMLDialogElement.open')
@DocsEditable()
- void set open(bool value) => _blink.BlinkHTMLDialogElement.instance.open_Setter_(this, value);
-
+ void set open(bool value) => _blink.BlinkHTMLDialogElement.instance.open_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLDialogElement.returnValue')
@DocsEditable()
@Experimental() // untriaged
- String get returnValue => _blink.BlinkHTMLDialogElement.instance.returnValue_Getter_(this);
-
+ String get returnValue => _blink.BlinkHTMLDialogElement.instance.returnValue_Getter_(unwrap_jso(this));
+
@DomName('HTMLDialogElement.returnValue')
@DocsEditable()
@Experimental() // untriaged
- void set returnValue(String value) => _blink.BlinkHTMLDialogElement.instance.returnValue_Setter_(this, value);
-
+ void set returnValue(String value) => _blink.BlinkHTMLDialogElement.instance.returnValue_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLDialogElement.close')
@DocsEditable()
- void close(String returnValue) => _blink.BlinkHTMLDialogElement.instance.close_Callback_1_(this, returnValue);
-
+ void close(String returnValue) => _blink.BlinkHTMLDialogElement.instance.close_Callback_1_(unwrap_jso(this), returnValue);
+
@DomName('HTMLDialogElement.show')
@DocsEditable()
- void show() => _blink.BlinkHTMLDialogElement.instance.show_Callback_0_(this);
-
+ void show() => _blink.BlinkHTMLDialogElement.instance.show_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLDialogElement.showModal')
@DocsEditable()
- void showModal() => _blink.BlinkHTMLDialogElement.instance.showModal_Callback_0_(this);
-
+ void showModal() => _blink.BlinkHTMLDialogElement.instance.showModal_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -8337,22 +8347,22 @@
@DomName('DirectoryEntry.createReader')
@DocsEditable()
- DirectoryReader createReader() => _blink.BlinkDirectoryEntry.instance.createReader_Callback_0_(this);
-
+ DirectoryReader createReader() => wrap_jso(_blink.BlinkDirectoryEntry.instance.createReader_Callback_0_(unwrap_jso(this)));
+
void __getDirectory(String path, {Map options, _EntryCallback successCallback, _ErrorCallback errorCallback}) {
if (errorCallback != null) {
- _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_4_(this, path, options, successCallback, errorCallback);
+ _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_4_(unwrap_jso(this), path, options, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
if (successCallback != null) {
- _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_3_(this, path, options, successCallback);
+ _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_3_(unwrap_jso(this), path, options, unwrap_jso(successCallback));
return;
}
if (options != null) {
- _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_2_(this, path, options);
+ _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_2_(unwrap_jso(this), path, options);
return;
}
- _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_1_(this, path);
+ _blink.BlinkDirectoryEntry.instance.getDirectory_Callback_1_(unwrap_jso(this), path);
return;
}
@@ -8366,18 +8376,18 @@
void __getFile(String path, {Map options, _EntryCallback successCallback, _ErrorCallback errorCallback}) {
if (errorCallback != null) {
- _blink.BlinkDirectoryEntry.instance.getFile_Callback_4_(this, path, options, successCallback, errorCallback);
+ _blink.BlinkDirectoryEntry.instance.getFile_Callback_4_(unwrap_jso(this), path, options, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
if (successCallback != null) {
- _blink.BlinkDirectoryEntry.instance.getFile_Callback_3_(this, path, options, successCallback);
+ _blink.BlinkDirectoryEntry.instance.getFile_Callback_3_(unwrap_jso(this), path, options, unwrap_jso(successCallback));
return;
}
if (options != null) {
- _blink.BlinkDirectoryEntry.instance.getFile_Callback_2_(this, path, options);
+ _blink.BlinkDirectoryEntry.instance.getFile_Callback_2_(unwrap_jso(this), path, options);
return;
}
- _blink.BlinkDirectoryEntry.instance.getFile_Callback_1_(this, path);
+ _blink.BlinkDirectoryEntry.instance.getFile_Callback_1_(unwrap_jso(this), path);
return;
}
@@ -8391,10 +8401,10 @@
void _removeRecursively(VoidCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkDirectoryEntry.instance.removeRecursively_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkDirectoryEntry.instance.removeRecursively_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkDirectoryEntry.instance.removeRecursively_Callback_1_(this, successCallback);
+ _blink.BlinkDirectoryEntry.instance.removeRecursively_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
@@ -8424,10 +8434,10 @@
void _readEntries(_EntriesCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkDirectoryReader.instance.readEntries_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkDirectoryReader.instance.readEntries_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkDirectoryReader.instance.readEntries_Callback_1_(this, successCallback);
+ _blink.BlinkDirectoryReader.instance.readEntries_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
@@ -8553,318 +8563,318 @@
@DomName('Document.activeElement')
@DocsEditable()
@Experimental() // untriaged
- Element get activeElement => _blink.BlinkDocument.instance.activeElement_Getter_(this);
-
+ Element get activeElement => wrap_jso(_blink.BlinkDocument.instance.activeElement_Getter_(unwrap_jso(this)));
+
@DomName('Document.body')
@DocsEditable()
- HtmlElement get _body => _blink.BlinkDocument.instance.body_Getter_(this);
-
+ HtmlElement get _body => wrap_jso(_blink.BlinkDocument.instance.body_Getter_(unwrap_jso(this)));
+
@DomName('Document.body')
@DocsEditable()
- void set _body(HtmlElement value) => _blink.BlinkDocument.instance.body_Setter_(this, value);
-
+ void set _body(HtmlElement value) => _blink.BlinkDocument.instance.body_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('Document.contentType')
@DocsEditable()
@Experimental() // untriaged
- String get contentType => _blink.BlinkDocument.instance.contentType_Getter_(this);
-
+ String get contentType => _blink.BlinkDocument.instance.contentType_Getter_(unwrap_jso(this));
+
@DomName('Document.cookie')
@DocsEditable()
- String get cookie => _blink.BlinkDocument.instance.cookie_Getter_(this);
-
+ String get cookie => _blink.BlinkDocument.instance.cookie_Getter_(unwrap_jso(this));
+
@DomName('Document.cookie')
@DocsEditable()
- void set cookie(String value) => _blink.BlinkDocument.instance.cookie_Setter_(this, value);
-
+ void set cookie(String value) => _blink.BlinkDocument.instance.cookie_Setter_(unwrap_jso(this), value);
+
@DomName('Document.currentScript')
@DocsEditable()
@Experimental() // untriaged
- ScriptElement get currentScript => _blink.BlinkDocument.instance.currentScript_Getter_(this);
-
+ ScriptElement get currentScript => wrap_jso(_blink.BlinkDocument.instance.currentScript_Getter_(unwrap_jso(this)));
+
@DomName('Document.defaultView')
@DocsEditable()
- WindowBase get window => _blink.BlinkDocument.instance.defaultView_Getter_(this);
-
+ WindowBase get window => wrap_jso(_blink.BlinkDocument.instance.defaultView_Getter_(unwrap_jso(this)));
+
@DomName('Document.documentElement')
@DocsEditable()
- Element get documentElement => _blink.BlinkDocument.instance.documentElement_Getter_(this);
-
+ Element get documentElement => wrap_jso(_blink.BlinkDocument.instance.documentElement_Getter_(unwrap_jso(this)));
+
@DomName('Document.domain')
@DocsEditable()
- String get domain => _blink.BlinkDocument.instance.domain_Getter_(this);
-
+ String get domain => _blink.BlinkDocument.instance.domain_Getter_(unwrap_jso(this));
+
@DomName('Document.fonts')
@DocsEditable()
@Experimental() // untriaged
- FontFaceSet get fonts => _blink.BlinkDocument.instance.fonts_Getter_(this);
-
+ FontFaceSet get fonts => wrap_jso(_blink.BlinkDocument.instance.fonts_Getter_(unwrap_jso(this)));
+
@DomName('Document.fullscreenElement')
@DocsEditable()
@Experimental() // untriaged
- Element get fullscreenElement => _blink.BlinkDocument.instance.fullscreenElement_Getter_(this);
-
+ Element get fullscreenElement => wrap_jso(_blink.BlinkDocument.instance.fullscreenElement_Getter_(unwrap_jso(this)));
+
@DomName('Document.fullscreenEnabled')
@DocsEditable()
@Experimental() // untriaged
- bool get fullscreenEnabled => _blink.BlinkDocument.instance.fullscreenEnabled_Getter_(this);
-
+ bool get fullscreenEnabled => _blink.BlinkDocument.instance.fullscreenEnabled_Getter_(unwrap_jso(this));
+
@DomName('Document.head')
@DocsEditable()
- HeadElement get _head => _blink.BlinkDocument.instance.head_Getter_(this);
-
+ HeadElement get _head => wrap_jso(_blink.BlinkDocument.instance.head_Getter_(unwrap_jso(this)));
+
@DomName('Document.hidden')
@DocsEditable()
@Experimental() // untriaged
- bool get hidden => _blink.BlinkDocument.instance.hidden_Getter_(this);
-
+ bool get hidden => _blink.BlinkDocument.instance.hidden_Getter_(unwrap_jso(this));
+
@DomName('Document.implementation')
@DocsEditable()
- DomImplementation get implementation => _blink.BlinkDocument.instance.implementation_Getter_(this);
-
+ DomImplementation get implementation => wrap_jso(_blink.BlinkDocument.instance.implementation_Getter_(unwrap_jso(this)));
+
@DomName('Document.lastModified')
@DocsEditable()
- String get _lastModified => _blink.BlinkDocument.instance.lastModified_Getter_(this);
-
+ String get _lastModified => _blink.BlinkDocument.instance.lastModified_Getter_(unwrap_jso(this));
+
@DomName('Document.pointerLockElement')
@DocsEditable()
@Experimental() // untriaged
- Element get pointerLockElement => _blink.BlinkDocument.instance.pointerLockElement_Getter_(this);
-
+ Element get pointerLockElement => wrap_jso(_blink.BlinkDocument.instance.pointerLockElement_Getter_(unwrap_jso(this)));
+
@DomName('Document.preferredStylesheetSet')
@DocsEditable()
- String get _preferredStylesheetSet => _blink.BlinkDocument.instance.preferredStylesheetSet_Getter_(this);
-
+ String get _preferredStylesheetSet => _blink.BlinkDocument.instance.preferredStylesheetSet_Getter_(unwrap_jso(this));
+
@DomName('Document.readyState')
@DocsEditable()
- String get readyState => _blink.BlinkDocument.instance.readyState_Getter_(this);
-
+ String get readyState => _blink.BlinkDocument.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('Document.referrer')
@DocsEditable()
- String get _referrer => _blink.BlinkDocument.instance.referrer_Getter_(this);
-
+ String get _referrer => _blink.BlinkDocument.instance.referrer_Getter_(unwrap_jso(this));
+
@DomName('Document.rootElement')
@DocsEditable()
@Experimental() // untriaged
- SvgSvgElement get rootElement => _blink.BlinkDocument.instance.rootElement_Getter_(this);
-
+ SvgSvgElement get rootElement => wrap_jso(_blink.BlinkDocument.instance.rootElement_Getter_(unwrap_jso(this)));
+
@DomName('Document.selectedStylesheetSet')
@DocsEditable()
- String get _selectedStylesheetSet => _blink.BlinkDocument.instance.selectedStylesheetSet_Getter_(this);
-
+ String get _selectedStylesheetSet => _blink.BlinkDocument.instance.selectedStylesheetSet_Getter_(unwrap_jso(this));
+
@DomName('Document.selectedStylesheetSet')
@DocsEditable()
- void set _selectedStylesheetSet(String value) => _blink.BlinkDocument.instance.selectedStylesheetSet_Setter_(this, value);
-
+ void set _selectedStylesheetSet(String value) => _blink.BlinkDocument.instance.selectedStylesheetSet_Setter_(unwrap_jso(this), value);
+
@DomName('Document.styleSheets')
@DocsEditable()
- List<StyleSheet> get _styleSheets => _blink.BlinkDocument.instance.styleSheets_Getter_(this);
-
+ List<StyleSheet> get _styleSheets => wrap_jso_list(_blink.BlinkDocument.instance.styleSheets_Getter_(unwrap_jso(this)));
+
@DomName('Document.timeline')
@DocsEditable()
@Experimental() // untriaged
- AnimationTimeline get timeline => _blink.BlinkDocument.instance.timeline_Getter_(this);
-
+ AnimationTimeline get timeline => wrap_jso(_blink.BlinkDocument.instance.timeline_Getter_(unwrap_jso(this)));
+
@DomName('Document.title')
@DocsEditable()
- String get _title => _blink.BlinkDocument.instance.title_Getter_(this);
-
+ String get _title => _blink.BlinkDocument.instance.title_Getter_(unwrap_jso(this));
+
@DomName('Document.title')
@DocsEditable()
- void set _title(String value) => _blink.BlinkDocument.instance.title_Setter_(this, value);
-
+ void set _title(String value) => _blink.BlinkDocument.instance.title_Setter_(unwrap_jso(this), value);
+
@DomName('Document.visibilityState')
@DocsEditable()
@Experimental() // untriaged
- String get visibilityState => _blink.BlinkDocument.instance.visibilityState_Getter_(this);
-
+ String get visibilityState => _blink.BlinkDocument.instance.visibilityState_Getter_(unwrap_jso(this));
+
@DomName('Document.webkitFullscreenElement')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-fullscreenelement
- Element get _webkitFullscreenElement => _blink.BlinkDocument.instance.webkitFullscreenElement_Getter_(this);
-
+ Element get _webkitFullscreenElement => wrap_jso(_blink.BlinkDocument.instance.webkitFullscreenElement_Getter_(unwrap_jso(this)));
+
@DomName('Document.webkitFullscreenEnabled')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-fullscreenenabled
- bool get _webkitFullscreenEnabled => _blink.BlinkDocument.instance.webkitFullscreenEnabled_Getter_(this);
-
+ bool get _webkitFullscreenEnabled => _blink.BlinkDocument.instance.webkitFullscreenEnabled_Getter_(unwrap_jso(this));
+
@DomName('Document.webkitHidden')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#document
- bool get _webkitHidden => _blink.BlinkDocument.instance.webkitHidden_Getter_(this);
-
+ bool get _webkitHidden => _blink.BlinkDocument.instance.webkitHidden_Getter_(unwrap_jso(this));
+
@DomName('Document.webkitVisibilityState')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#dom-document-visibilitystate
- String get _webkitVisibilityState => _blink.BlinkDocument.instance.webkitVisibilityState_Getter_(this);
-
+ String get _webkitVisibilityState => _blink.BlinkDocument.instance.webkitVisibilityState_Getter_(unwrap_jso(this));
+
@DomName('Document.adoptNode')
@DocsEditable()
- Node adoptNode(Node node) => _blink.BlinkDocument.instance.adoptNode_Callback_1_(this, node);
-
+ Node adoptNode(Node node) => wrap_jso(_blink.BlinkDocument.instance.adoptNode_Callback_1_(unwrap_jso(this), unwrap_jso(node)));
+
@DomName('Document.caretRangeFromPoint')
@DocsEditable()
// http://www.w3.org/TR/2009/WD-cssom-view-20090804/#dom-documentview-caretrangefrompoint
@Experimental()
- Range _caretRangeFromPoint(int x, int y) => _blink.BlinkDocument.instance.caretRangeFromPoint_Callback_2_(this, x, y);
-
+ Range _caretRangeFromPoint(int x, int y) => wrap_jso(_blink.BlinkDocument.instance.caretRangeFromPoint_Callback_2_(unwrap_jso(this), x, y));
+
@DomName('Document.createDocumentFragment')
@DocsEditable()
- DocumentFragment createDocumentFragment() => _blink.BlinkDocument.instance.createDocumentFragment_Callback_0_(this);
-
+ DocumentFragment createDocumentFragment() => wrap_jso(_blink.BlinkDocument.instance.createDocumentFragment_Callback_0_(unwrap_jso(this)));
+
@DomName('Document.createElement')
@DocsEditable()
- Element _createElement(String localName_OR_tagName, [String typeExtension]) => _blink.BlinkDocument.instance.createElement_Callback_2_(this, localName_OR_tagName, typeExtension);
-
+ Element _createElement(String localName_OR_tagName, [String typeExtension]) => wrap_jso(_blink.BlinkDocument.instance.createElement_Callback_2_(unwrap_jso(this), localName_OR_tagName, typeExtension));
+
@DomName('Document.createElementNS')
@DocsEditable()
- Element createElementNS(String namespaceURI, String qualifiedName, [String typeExtension]) => _blink.BlinkDocument.instance.createElementNS_Callback_3_(this, namespaceURI, qualifiedName, typeExtension);
-
+ Element createElementNS(String namespaceURI, String qualifiedName, [String typeExtension]) => wrap_jso(_blink.BlinkDocument.instance.createElementNS_Callback_3_(unwrap_jso(this), namespaceURI, qualifiedName, typeExtension));
+
@DomName('Document.createEvent')
@DocsEditable()
- Event _createEvent(String eventType) => _blink.BlinkDocument.instance.createEvent_Callback_1_(this, eventType);
-
+ Event _createEvent(String eventType) => wrap_jso(_blink.BlinkDocument.instance.createEvent_Callback_1_(unwrap_jso(this), eventType));
+
NodeIterator _createNodeIterator(Node root, [int whatToShow, NodeFilter filter]) {
if (whatToShow != null) {
- return _blink.BlinkDocument.instance.createNodeIterator_Callback_3_(this, root, whatToShow, filter);
+ return wrap_jso(_blink.BlinkDocument.instance.createNodeIterator_Callback_3_(unwrap_jso(this), unwrap_jso(root), whatToShow, unwrap_jso(filter)));
}
- return _blink.BlinkDocument.instance.createNodeIterator_Callback_1_(this, root);
+ return wrap_jso(_blink.BlinkDocument.instance.createNodeIterator_Callback_1_(unwrap_jso(this), unwrap_jso(root)));
}
@DomName('Document.createRange')
@DocsEditable()
- Range createRange() => _blink.BlinkDocument.instance.createRange_Callback_0_(this);
-
+ Range createRange() => wrap_jso(_blink.BlinkDocument.instance.createRange_Callback_0_(unwrap_jso(this)));
+
@DomName('Document.createTextNode')
@DocsEditable()
- Text _createTextNode(String data) => _blink.BlinkDocument.instance.createTextNode_Callback_1_(this, data);
-
+ Text _createTextNode(String data) => wrap_jso(_blink.BlinkDocument.instance.createTextNode_Callback_1_(unwrap_jso(this), data));
+
@DomName('Document.createTouch')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
- Touch _createTouch(Window window, EventTarget target, int identifier, num pageX, num pageY, num screenX, num screenY, num webkitRadiusX, num webkitRadiusY, num webkitRotationAngle, num webkitForce) => _blink.BlinkDocument.instance.createTouch_Callback_11_(this, window, target, identifier, pageX, pageY, screenX, screenY, webkitRadiusX, webkitRadiusY, webkitRotationAngle, webkitForce);
-
+ Touch _createTouch(Window window, EventTarget target, int identifier, num pageX, num pageY, num screenX, num screenY, num webkitRadiusX, num webkitRadiusY, num webkitRotationAngle, num webkitForce) => wrap_jso(_blink.BlinkDocument.instance.createTouch_Callback_11_(unwrap_jso(this), unwrap_jso(window), unwrap_jso(target), identifier, pageX, pageY, screenX, screenY, webkitRadiusX, webkitRadiusY, webkitRotationAngle, webkitForce));
+
@DomName('Document.createTouchList')
@DocsEditable()
// http://www.w3.org/TR/touch-events/, http://www.chromestatus.com/features
@Experimental()
- TouchList _createTouchList(Touch touches) => _blink.BlinkDocument.instance.createTouchList_Callback_1_(this, touches);
-
+ TouchList _createTouchList(Touch touches) => wrap_jso(_blink.BlinkDocument.instance.createTouchList_Callback_1_(unwrap_jso(this), unwrap_jso(touches)));
+
TreeWalker _createTreeWalker(Node root, [int whatToShow, NodeFilter filter]) {
if (whatToShow != null) {
- return _blink.BlinkDocument.instance.createTreeWalker_Callback_3_(this, root, whatToShow, filter);
+ return wrap_jso(_blink.BlinkDocument.instance.createTreeWalker_Callback_3_(unwrap_jso(this), unwrap_jso(root), whatToShow, unwrap_jso(filter)));
}
- return _blink.BlinkDocument.instance.createTreeWalker_Callback_1_(this, root);
+ return wrap_jso(_blink.BlinkDocument.instance.createTreeWalker_Callback_1_(unwrap_jso(this), unwrap_jso(root)));
}
@DomName('Document.elementFromPoint')
@DocsEditable()
- Element _elementFromPoint(int x, int y) => _blink.BlinkDocument.instance.elementFromPoint_Callback_2_(this, x, y);
-
+ Element _elementFromPoint(int x, int y) => wrap_jso(_blink.BlinkDocument.instance.elementFromPoint_Callback_2_(unwrap_jso(this), x, y));
+
@DomName('Document.execCommand')
@DocsEditable()
- bool execCommand(String command, bool userInterface, String value) => _blink.BlinkDocument.instance.execCommand_Callback_3_(this, command, userInterface, value);
-
+ bool execCommand(String command, bool userInterface, String value) => _blink.BlinkDocument.instance.execCommand_Callback_3_(unwrap_jso(this), command, userInterface, value);
+
@DomName('Document.exitFullscreen')
@DocsEditable()
@Experimental() // untriaged
- void exitFullscreen() => _blink.BlinkDocument.instance.exitFullscreen_Callback_0_(this);
-
+ void exitFullscreen() => _blink.BlinkDocument.instance.exitFullscreen_Callback_0_(unwrap_jso(this));
+
@DomName('Document.exitPointerLock')
@DocsEditable()
@Experimental() // untriaged
- void exitPointerLock() => _blink.BlinkDocument.instance.exitPointerLock_Callback_0_(this);
-
+ void exitPointerLock() => _blink.BlinkDocument.instance.exitPointerLock_Callback_0_(unwrap_jso(this));
+
@DomName('Document.getCSSCanvasContext')
@DocsEditable()
// https://developer.apple.com/library/safari/#documentation/AppleApplications/Reference/SafariCSSRef/Articles/Functions.html
@Experimental() // non-standard
- Object _getCssCanvasContext(String contextId, String name, int width, int height) => _blink.BlinkDocument.instance.getCSSCanvasContext_Callback_4_(this, contextId, name, width, height);
-
+ Object _getCssCanvasContext(String contextId, String name, int width, int height) => wrap_jso(_blink.BlinkDocument.instance.getCSSCanvasContext_Callback_4_(unwrap_jso(this), contextId, name, width, height));
+
@DomName('Document.getElementById')
@DocsEditable()
- Element getElementById(String elementId) => _blink.BlinkDocument.instance.getElementById_Callback_1_(this, elementId);
-
+ Element getElementById(String elementId) => wrap_jso(_blink.BlinkDocument.instance.getElementById_Callback_1_(unwrap_jso(this), elementId));
+
@DomName('Document.getElementsByClassName')
@DocsEditable()
- List<Node> getElementsByClassName(String classNames) => _blink.BlinkDocument.instance.getElementsByClassName_Callback_1_(this, classNames);
-
+ List<Node> getElementsByClassName(String classNames) => wrap_jso_list(_blink.BlinkDocument.instance.getElementsByClassName_Callback_1_(unwrap_jso(this), classNames));
+
@DomName('Document.getElementsByName')
@DocsEditable()
- List<Node> getElementsByName(String elementName) => _blink.BlinkDocument.instance.getElementsByName_Callback_1_(this, elementName);
-
+ List<Node> getElementsByName(String elementName) => wrap_jso_list(_blink.BlinkDocument.instance.getElementsByName_Callback_1_(unwrap_jso(this), elementName));
+
@DomName('Document.getElementsByTagName')
@DocsEditable()
- List<Node> getElementsByTagName(String localName) => _blink.BlinkDocument.instance.getElementsByTagName_Callback_1_(this, localName);
-
+ List<Node> getElementsByTagName(String localName) => wrap_jso_list(_blink.BlinkDocument.instance.getElementsByTagName_Callback_1_(unwrap_jso(this), localName));
+
Node importNode(Node node, [bool deep]) {
if (deep != null) {
- return _blink.BlinkDocument.instance.importNode_Callback_2_(this, node, deep);
+ return wrap_jso(_blink.BlinkDocument.instance.importNode_Callback_2_(unwrap_jso(this), unwrap_jso(node), deep));
}
- return _blink.BlinkDocument.instance.importNode_Callback_1_(this, node);
+ return wrap_jso(_blink.BlinkDocument.instance.importNode_Callback_1_(unwrap_jso(this), unwrap_jso(node)));
}
@DomName('Document.queryCommandEnabled')
@DocsEditable()
- bool queryCommandEnabled(String command) => _blink.BlinkDocument.instance.queryCommandEnabled_Callback_1_(this, command);
-
+ bool queryCommandEnabled(String command) => _blink.BlinkDocument.instance.queryCommandEnabled_Callback_1_(unwrap_jso(this), command);
+
@DomName('Document.queryCommandIndeterm')
@DocsEditable()
- bool queryCommandIndeterm(String command) => _blink.BlinkDocument.instance.queryCommandIndeterm_Callback_1_(this, command);
-
+ bool queryCommandIndeterm(String command) => _blink.BlinkDocument.instance.queryCommandIndeterm_Callback_1_(unwrap_jso(this), command);
+
@DomName('Document.queryCommandState')
@DocsEditable()
- bool queryCommandState(String command) => _blink.BlinkDocument.instance.queryCommandState_Callback_1_(this, command);
-
+ bool queryCommandState(String command) => _blink.BlinkDocument.instance.queryCommandState_Callback_1_(unwrap_jso(this), command);
+
@DomName('Document.queryCommandSupported')
@DocsEditable()
- bool queryCommandSupported(String command) => _blink.BlinkDocument.instance.queryCommandSupported_Callback_1_(this, command);
-
+ bool queryCommandSupported(String command) => _blink.BlinkDocument.instance.queryCommandSupported_Callback_1_(unwrap_jso(this), command);
+
@DomName('Document.queryCommandValue')
@DocsEditable()
- String queryCommandValue(String command) => _blink.BlinkDocument.instance.queryCommandValue_Callback_1_(this, command);
-
+ String queryCommandValue(String command) => _blink.BlinkDocument.instance.queryCommandValue_Callback_1_(unwrap_jso(this), command);
+
@DomName('Document.transformDocumentToTreeView')
@DocsEditable()
@Experimental() // untriaged
- void transformDocumentToTreeView(String noStyleMessage) => _blink.BlinkDocument.instance.transformDocumentToTreeView_Callback_1_(this, noStyleMessage);
-
+ void transformDocumentToTreeView(String noStyleMessage) => _blink.BlinkDocument.instance.transformDocumentToTreeView_Callback_1_(unwrap_jso(this), noStyleMessage);
+
@DomName('Document.webkitExitFullscreen')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-exitfullscreen
- void _webkitExitFullscreen() => _blink.BlinkDocument.instance.webkitExitFullscreen_Callback_0_(this);
-
+ void _webkitExitFullscreen() => _blink.BlinkDocument.instance.webkitExitFullscreen_Callback_0_(unwrap_jso(this));
+
@DomName('Document.childElementCount')
@DocsEditable()
- int get _childElementCount => _blink.BlinkDocument.instance.childElementCount_Getter_(this);
-
+ int get _childElementCount => _blink.BlinkDocument.instance.childElementCount_Getter_(unwrap_jso(this));
+
@DomName('Document.children')
@DocsEditable()
- List<Node> get _children => _blink.BlinkDocument.instance.children_Getter_(this);
-
+ List<Node> get _children => wrap_jso_list(_blink.BlinkDocument.instance.children_Getter_(unwrap_jso(this)));
+
@DomName('Document.firstElementChild')
@DocsEditable()
- Element get _firstElementChild => _blink.BlinkDocument.instance.firstElementChild_Getter_(this);
-
+ Element get _firstElementChild => wrap_jso(_blink.BlinkDocument.instance.firstElementChild_Getter_(unwrap_jso(this)));
+
@DomName('Document.lastElementChild')
@DocsEditable()
- Element get _lastElementChild => _blink.BlinkDocument.instance.lastElementChild_Getter_(this);
-
+ Element get _lastElementChild => wrap_jso(_blink.BlinkDocument.instance.lastElementChild_Getter_(unwrap_jso(this)));
+
/**
* Finds the first descendant element of this document that matches the
* specified group of selectors.
@@ -8884,12 +8894,12 @@
*/
@DomName('Document.querySelector')
@DocsEditable()
- Element querySelector(String selectors) => _blink.BlinkDocument.instance.querySelector_Callback_1_(this, selectors);
-
+ Element querySelector(String selectors) => wrap_jso(_blink.BlinkDocument.instance.querySelector_Callback_1_(unwrap_jso(this), selectors));
+
@DomName('Document.querySelectorAll')
@DocsEditable()
- List<Node> _querySelectorAll(String selectors) => _blink.BlinkDocument.instance.querySelectorAll_Callback_1_(this, selectors);
-
+ List<Node> _querySelectorAll(String selectors) => wrap_jso_list(_blink.BlinkDocument.instance.querySelectorAll_Callback_1_(unwrap_jso(this), selectors));
+
/// Stream of `abort` events handled by this [Document].
@DomName('Document.onabort')
@DocsEditable()
@@ -9313,12 +9323,12 @@
@DomName('Document.createElement')
Element createElement(String tagName, [String typeExtension]) {
- if (typeExtension != null) {
- return _createElement(tagName, typeExtension);
- } else {
- // Fast-path for Dartium when typeExtension is not needed.
- return _Utils.createElement(this, tagName);
- }
+ if (typeExtension != null) {
+ return _createElement(tagName, typeExtension);
+ } else {
+ // Fast-path for Dartium when typeExtension is not needed.
+ return _Utils.createElement(this, tagName);
+ }
}
}
@@ -9380,7 +9390,6 @@
new _FrozenElementList._wrap(_querySelectorAll(selectors));
-
String get innerHtml {
final e = new Element.tag("div");
e.append(this.clone(true));
@@ -9445,20 +9454,20 @@
@DomName('DocumentFragment.getElementById')
@DocsEditable()
@Experimental() // untriaged
- Element getElementById(String elementId) => _blink.BlinkDocumentFragment.instance.getElementById_Callback_1_(this, elementId);
-
+ Element getElementById(String elementId) => wrap_jso(_blink.BlinkDocumentFragment.instance.getElementById_Callback_1_(unwrap_jso(this), elementId));
+
@DomName('DocumentFragment.childElementCount')
@DocsEditable()
- int get _childElementCount => _blink.BlinkDocumentFragment.instance.childElementCount_Getter_(this);
-
+ int get _childElementCount => _blink.BlinkDocumentFragment.instance.childElementCount_Getter_(unwrap_jso(this));
+
@DomName('DocumentFragment.firstElementChild')
@DocsEditable()
- Element get _firstElementChild => _blink.BlinkDocumentFragment.instance.firstElementChild_Getter_(this);
-
+ Element get _firstElementChild => wrap_jso(_blink.BlinkDocumentFragment.instance.firstElementChild_Getter_(unwrap_jso(this)));
+
@DomName('DocumentFragment.lastElementChild')
@DocsEditable()
- Element get _lastElementChild => _blink.BlinkDocumentFragment.instance.lastElementChild_Getter_(this);
-
+ Element get _lastElementChild => wrap_jso(_blink.BlinkDocumentFragment.instance.lastElementChild_Getter_(unwrap_jso(this)));
+
/**
* Finds the first descendant element of this document fragment that matches
* the specified group of selectors.
@@ -9473,12 +9482,12 @@
*/
@DomName('DocumentFragment.querySelector')
@DocsEditable()
- Element querySelector(String selectors) => _blink.BlinkDocumentFragment.instance.querySelector_Callback_1_(this, selectors);
-
+ Element querySelector(String selectors) => wrap_jso(_blink.BlinkDocumentFragment.instance.querySelector_Callback_1_(unwrap_jso(this), selectors));
+
@DomName('DocumentFragment.querySelectorAll')
@DocsEditable()
- List<Node> _querySelectorAll(String selectors) => _blink.BlinkDocumentFragment.instance.querySelectorAll_Callback_1_(this, selectors);
-
+ List<Node> _querySelectorAll(String selectors) => wrap_jso_list(_blink.BlinkDocumentFragment.instance.querySelectorAll_Callback_1_(unwrap_jso(this), selectors));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -9502,12 +9511,12 @@
@DomName('DOMError.message')
@DocsEditable()
@Experimental() // untriaged
- String get message => _blink.BlinkDOMError.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkDOMError.instance.message_Getter_(unwrap_jso(this));
+
@DomName('DOMError.name')
@DocsEditable()
- String get name => _blink.BlinkDOMError.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkDOMError.instance.name_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -9545,16 +9554,16 @@
@DomName('DOMException.message')
@DocsEditable()
- String get message => _blink.BlinkDOMException.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkDOMException.instance.message_Getter_(unwrap_jso(this));
+
@DomName('DOMException.name')
@DocsEditable()
- String get name => _blink.BlinkDOMException.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkDOMException.instance.name_Getter_(unwrap_jso(this));
+
@DomName('DOMException.toString')
@DocsEditable()
- String toString() => _blink.BlinkDOMException.instance.toString_Callback_0_(this);
-
+ String toString() => _blink.BlinkDOMException.instance.toString_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -9571,20 +9580,20 @@
@DomName('DOMImplementation.createDocument')
@DocsEditable()
- XmlDocument createDocument(String namespaceURI, String qualifiedName, _DocumentType doctype) => _blink.BlinkDOMImplementation.instance.createDocument_Callback_3_(this, namespaceURI, qualifiedName, doctype);
-
+ XmlDocument createDocument(String namespaceURI, String qualifiedName, _DocumentType doctype) => _blink.BlinkDOMImplementation.instance.createDocument_Callback_3_(unwrap_jso(this), namespaceURI, qualifiedName, unwrap_jso(doctype));
+
@DomName('DOMImplementation.createDocumentType')
@DocsEditable()
- _DocumentType createDocumentType(String qualifiedName, String publicId, String systemId) => _blink.BlinkDOMImplementation.instance.createDocumentType_Callback_3_(this, qualifiedName, publicId, systemId);
-
+ _DocumentType createDocumentType(String qualifiedName, String publicId, String systemId) => _blink.BlinkDOMImplementation.instance.createDocumentType_Callback_3_(unwrap_jso(this), qualifiedName, publicId, systemId);
+
@DomName('DOMImplementation.createHTMLDocument')
@DocsEditable()
- HtmlDocument createHtmlDocument(String title) => _blink.BlinkDOMImplementation.instance.createHTMLDocument_Callback_1_(this, title);
-
+ HtmlDocument createHtmlDocument(String title) => wrap_jso(_blink.BlinkDOMImplementation.instance.createHTMLDocument_Callback_1_(unwrap_jso(this), title));
+
@DomName('DOMImplementation.hasFeature')
@DocsEditable()
- bool hasFeature(String feature, String version) => _blink.BlinkDOMImplementation.instance.hasFeature_Callback_2_(this, feature, version);
-
+ bool hasFeature(String feature, String version) => _blink.BlinkDOMImplementation.instance.hasFeature_Callback_2_(unwrap_jso(this), feature, version);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -9602,9 +9611,9 @@
Object next([Object value]) {
if (value != null) {
- return _blink.BlinkIterator.instance.next_Callback_1_(this, value);
+ return _blink.BlinkIterator.instance.next_Callback_1_(unwrap_jso(this), value);
}
- return _blink.BlinkIterator.instance.next_Callback_0_(this);
+ return _blink.BlinkIterator.instance.next_Callback_0_(unwrap_jso(this));
}
}
@@ -9637,280 +9646,280 @@
@DomName('DOMMatrix.a')
@DocsEditable()
@Experimental() // untriaged
- num get a => _blink.BlinkDOMMatrix.instance.a_Getter_(this);
-
+ num get a => _blink.BlinkDOMMatrix.instance.a_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.a')
@DocsEditable()
@Experimental() // untriaged
- void set a(num value) => _blink.BlinkDOMMatrix.instance.a_Setter_(this, value);
-
+ void set a(num value) => _blink.BlinkDOMMatrix.instance.a_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.b')
@DocsEditable()
@Experimental() // untriaged
- num get b => _blink.BlinkDOMMatrix.instance.b_Getter_(this);
-
+ num get b => _blink.BlinkDOMMatrix.instance.b_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.b')
@DocsEditable()
@Experimental() // untriaged
- void set b(num value) => _blink.BlinkDOMMatrix.instance.b_Setter_(this, value);
-
+ void set b(num value) => _blink.BlinkDOMMatrix.instance.b_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.c')
@DocsEditable()
@Experimental() // untriaged
- num get c => _blink.BlinkDOMMatrix.instance.c_Getter_(this);
-
+ num get c => _blink.BlinkDOMMatrix.instance.c_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.c')
@DocsEditable()
@Experimental() // untriaged
- void set c(num value) => _blink.BlinkDOMMatrix.instance.c_Setter_(this, value);
-
+ void set c(num value) => _blink.BlinkDOMMatrix.instance.c_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.d')
@DocsEditable()
@Experimental() // untriaged
- num get d => _blink.BlinkDOMMatrix.instance.d_Getter_(this);
-
+ num get d => _blink.BlinkDOMMatrix.instance.d_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.d')
@DocsEditable()
@Experimental() // untriaged
- void set d(num value) => _blink.BlinkDOMMatrix.instance.d_Setter_(this, value);
-
+ void set d(num value) => _blink.BlinkDOMMatrix.instance.d_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.e')
@DocsEditable()
@Experimental() // untriaged
- num get e => _blink.BlinkDOMMatrix.instance.e_Getter_(this);
-
+ num get e => _blink.BlinkDOMMatrix.instance.e_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.e')
@DocsEditable()
@Experimental() // untriaged
- void set e(num value) => _blink.BlinkDOMMatrix.instance.e_Setter_(this, value);
-
+ void set e(num value) => _blink.BlinkDOMMatrix.instance.e_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.f')
@DocsEditable()
@Experimental() // untriaged
- num get f => _blink.BlinkDOMMatrix.instance.f_Getter_(this);
-
+ num get f => _blink.BlinkDOMMatrix.instance.f_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.f')
@DocsEditable()
@Experimental() // untriaged
- void set f(num value) => _blink.BlinkDOMMatrix.instance.f_Setter_(this, value);
-
+ void set f(num value) => _blink.BlinkDOMMatrix.instance.f_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m11')
@DocsEditable()
@Experimental() // untriaged
- num get m11 => _blink.BlinkDOMMatrix.instance.m11_Getter_(this);
-
+ num get m11 => _blink.BlinkDOMMatrix.instance.m11_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m11')
@DocsEditable()
@Experimental() // untriaged
- void set m11(num value) => _blink.BlinkDOMMatrix.instance.m11_Setter_(this, value);
-
+ void set m11(num value) => _blink.BlinkDOMMatrix.instance.m11_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m12')
@DocsEditable()
@Experimental() // untriaged
- num get m12 => _blink.BlinkDOMMatrix.instance.m12_Getter_(this);
-
+ num get m12 => _blink.BlinkDOMMatrix.instance.m12_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m12')
@DocsEditable()
@Experimental() // untriaged
- void set m12(num value) => _blink.BlinkDOMMatrix.instance.m12_Setter_(this, value);
-
+ void set m12(num value) => _blink.BlinkDOMMatrix.instance.m12_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m13')
@DocsEditable()
@Experimental() // untriaged
- num get m13 => _blink.BlinkDOMMatrix.instance.m13_Getter_(this);
-
+ num get m13 => _blink.BlinkDOMMatrix.instance.m13_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m13')
@DocsEditable()
@Experimental() // untriaged
- void set m13(num value) => _blink.BlinkDOMMatrix.instance.m13_Setter_(this, value);
-
+ void set m13(num value) => _blink.BlinkDOMMatrix.instance.m13_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m14')
@DocsEditable()
@Experimental() // untriaged
- num get m14 => _blink.BlinkDOMMatrix.instance.m14_Getter_(this);
-
+ num get m14 => _blink.BlinkDOMMatrix.instance.m14_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m14')
@DocsEditable()
@Experimental() // untriaged
- void set m14(num value) => _blink.BlinkDOMMatrix.instance.m14_Setter_(this, value);
-
+ void set m14(num value) => _blink.BlinkDOMMatrix.instance.m14_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m21')
@DocsEditable()
@Experimental() // untriaged
- num get m21 => _blink.BlinkDOMMatrix.instance.m21_Getter_(this);
-
+ num get m21 => _blink.BlinkDOMMatrix.instance.m21_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m21')
@DocsEditable()
@Experimental() // untriaged
- void set m21(num value) => _blink.BlinkDOMMatrix.instance.m21_Setter_(this, value);
-
+ void set m21(num value) => _blink.BlinkDOMMatrix.instance.m21_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m22')
@DocsEditable()
@Experimental() // untriaged
- num get m22 => _blink.BlinkDOMMatrix.instance.m22_Getter_(this);
-
+ num get m22 => _blink.BlinkDOMMatrix.instance.m22_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m22')
@DocsEditable()
@Experimental() // untriaged
- void set m22(num value) => _blink.BlinkDOMMatrix.instance.m22_Setter_(this, value);
-
+ void set m22(num value) => _blink.BlinkDOMMatrix.instance.m22_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m23')
@DocsEditable()
@Experimental() // untriaged
- num get m23 => _blink.BlinkDOMMatrix.instance.m23_Getter_(this);
-
+ num get m23 => _blink.BlinkDOMMatrix.instance.m23_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m23')
@DocsEditable()
@Experimental() // untriaged
- void set m23(num value) => _blink.BlinkDOMMatrix.instance.m23_Setter_(this, value);
-
+ void set m23(num value) => _blink.BlinkDOMMatrix.instance.m23_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m24')
@DocsEditable()
@Experimental() // untriaged
- num get m24 => _blink.BlinkDOMMatrix.instance.m24_Getter_(this);
-
+ num get m24 => _blink.BlinkDOMMatrix.instance.m24_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m24')
@DocsEditable()
@Experimental() // untriaged
- void set m24(num value) => _blink.BlinkDOMMatrix.instance.m24_Setter_(this, value);
-
+ void set m24(num value) => _blink.BlinkDOMMatrix.instance.m24_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m31')
@DocsEditable()
@Experimental() // untriaged
- num get m31 => _blink.BlinkDOMMatrix.instance.m31_Getter_(this);
-
+ num get m31 => _blink.BlinkDOMMatrix.instance.m31_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m31')
@DocsEditable()
@Experimental() // untriaged
- void set m31(num value) => _blink.BlinkDOMMatrix.instance.m31_Setter_(this, value);
-
+ void set m31(num value) => _blink.BlinkDOMMatrix.instance.m31_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m32')
@DocsEditable()
@Experimental() // untriaged
- num get m32 => _blink.BlinkDOMMatrix.instance.m32_Getter_(this);
-
+ num get m32 => _blink.BlinkDOMMatrix.instance.m32_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m32')
@DocsEditable()
@Experimental() // untriaged
- void set m32(num value) => _blink.BlinkDOMMatrix.instance.m32_Setter_(this, value);
-
+ void set m32(num value) => _blink.BlinkDOMMatrix.instance.m32_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m33')
@DocsEditable()
@Experimental() // untriaged
- num get m33 => _blink.BlinkDOMMatrix.instance.m33_Getter_(this);
-
+ num get m33 => _blink.BlinkDOMMatrix.instance.m33_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m33')
@DocsEditable()
@Experimental() // untriaged
- void set m33(num value) => _blink.BlinkDOMMatrix.instance.m33_Setter_(this, value);
-
+ void set m33(num value) => _blink.BlinkDOMMatrix.instance.m33_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m34')
@DocsEditable()
@Experimental() // untriaged
- num get m34 => _blink.BlinkDOMMatrix.instance.m34_Getter_(this);
-
+ num get m34 => _blink.BlinkDOMMatrix.instance.m34_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m34')
@DocsEditable()
@Experimental() // untriaged
- void set m34(num value) => _blink.BlinkDOMMatrix.instance.m34_Setter_(this, value);
-
+ void set m34(num value) => _blink.BlinkDOMMatrix.instance.m34_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m41')
@DocsEditable()
@Experimental() // untriaged
- num get m41 => _blink.BlinkDOMMatrix.instance.m41_Getter_(this);
-
+ num get m41 => _blink.BlinkDOMMatrix.instance.m41_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m41')
@DocsEditable()
@Experimental() // untriaged
- void set m41(num value) => _blink.BlinkDOMMatrix.instance.m41_Setter_(this, value);
-
+ void set m41(num value) => _blink.BlinkDOMMatrix.instance.m41_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m42')
@DocsEditable()
@Experimental() // untriaged
- num get m42 => _blink.BlinkDOMMatrix.instance.m42_Getter_(this);
-
+ num get m42 => _blink.BlinkDOMMatrix.instance.m42_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m42')
@DocsEditable()
@Experimental() // untriaged
- void set m42(num value) => _blink.BlinkDOMMatrix.instance.m42_Setter_(this, value);
-
+ void set m42(num value) => _blink.BlinkDOMMatrix.instance.m42_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m43')
@DocsEditable()
@Experimental() // untriaged
- num get m43 => _blink.BlinkDOMMatrix.instance.m43_Getter_(this);
-
+ num get m43 => _blink.BlinkDOMMatrix.instance.m43_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m43')
@DocsEditable()
@Experimental() // untriaged
- void set m43(num value) => _blink.BlinkDOMMatrix.instance.m43_Setter_(this, value);
-
+ void set m43(num value) => _blink.BlinkDOMMatrix.instance.m43_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.m44')
@DocsEditable()
@Experimental() // untriaged
- num get m44 => _blink.BlinkDOMMatrix.instance.m44_Getter_(this);
-
+ num get m44 => _blink.BlinkDOMMatrix.instance.m44_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrix.m44')
@DocsEditable()
@Experimental() // untriaged
- void set m44(num value) => _blink.BlinkDOMMatrix.instance.m44_Setter_(this, value);
-
+ void set m44(num value) => _blink.BlinkDOMMatrix.instance.m44_Setter_(unwrap_jso(this), value);
+
@DomName('DOMMatrix.multiplySelf')
@DocsEditable()
@Experimental() // untriaged
- DomMatrix multiplySelf(DomMatrix other) => _blink.BlinkDOMMatrix.instance.multiplySelf_Callback_1_(this, other);
-
+ DomMatrix multiplySelf(DomMatrix other) => _blink.BlinkDOMMatrix.instance.multiplySelf_Callback_1_(unwrap_jso(this), unwrap_jso(other));
+
@DomName('DOMMatrix.preMultiplySelf')
@DocsEditable()
@Experimental() // untriaged
- DomMatrix preMultiplySelf(DomMatrix other) => _blink.BlinkDOMMatrix.instance.preMultiplySelf_Callback_1_(this, other);
-
+ DomMatrix preMultiplySelf(DomMatrix other) => _blink.BlinkDOMMatrix.instance.preMultiplySelf_Callback_1_(unwrap_jso(this), unwrap_jso(other));
+
DomMatrix scale3dSelf(num scale, [num ox, num oy, num oz]) {
if (oz != null) {
- return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_4_(this, scale, ox, oy, oz);
+ return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_4_(unwrap_jso(this), scale, ox, oy, oz);
}
if (oy != null) {
- return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_3_(this, scale, ox, oy);
+ return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_3_(unwrap_jso(this), scale, ox, oy);
}
if (ox != null) {
- return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_2_(this, scale, ox);
+ return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_2_(unwrap_jso(this), scale, ox);
}
- return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_1_(this, scale);
+ return _blink.BlinkDOMMatrix.instance.scale3dSelf_Callback_1_(unwrap_jso(this), scale);
}
DomMatrix scaleNonUniformSelf(num sx, [num sy, num sz, num ox, num oy, num oz]) {
if (oz != null) {
- return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_6_(this, sx, sy, sz, ox, oy, oz);
+ return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_6_(unwrap_jso(this), sx, sy, sz, ox, oy, oz);
}
if (oy != null) {
- return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_5_(this, sx, sy, sz, ox, oy);
+ return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_5_(unwrap_jso(this), sx, sy, sz, ox, oy);
}
if (ox != null) {
- return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_4_(this, sx, sy, sz, ox);
+ return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_4_(unwrap_jso(this), sx, sy, sz, ox);
}
if (sz != null) {
- return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_3_(this, sx, sy, sz);
+ return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_3_(unwrap_jso(this), sx, sy, sz);
}
if (sy != null) {
- return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_2_(this, sx, sy);
+ return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_2_(unwrap_jso(this), sx, sy);
}
- return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_1_(this, sx);
+ return _blink.BlinkDOMMatrix.instance.scaleNonUniformSelf_Callback_1_(unwrap_jso(this), sx);
}
DomMatrix scaleSelf(num scale, [num ox, num oy]) {
if (oy != null) {
- return _blink.BlinkDOMMatrix.instance.scaleSelf_Callback_3_(this, scale, ox, oy);
+ return _blink.BlinkDOMMatrix.instance.scaleSelf_Callback_3_(unwrap_jso(this), scale, ox, oy);
}
if (ox != null) {
- return _blink.BlinkDOMMatrix.instance.scaleSelf_Callback_2_(this, scale, ox);
+ return _blink.BlinkDOMMatrix.instance.scaleSelf_Callback_2_(unwrap_jso(this), scale, ox);
}
- return _blink.BlinkDOMMatrix.instance.scaleSelf_Callback_1_(this, scale);
+ return _blink.BlinkDOMMatrix.instance.scaleSelf_Callback_1_(unwrap_jso(this), scale);
}
DomMatrix translateSelf(num tx, num ty, [num tz]) {
if (tz != null) {
- return _blink.BlinkDOMMatrix.instance.translateSelf_Callback_3_(this, tx, ty, tz);
+ return _blink.BlinkDOMMatrix.instance.translateSelf_Callback_3_(unwrap_jso(this), tx, ty, tz);
}
- return _blink.BlinkDOMMatrix.instance.translateSelf_Callback_2_(this, tx, ty);
+ return _blink.BlinkDOMMatrix.instance.translateSelf_Callback_2_(unwrap_jso(this), tx, ty);
}
}
@@ -9931,185 +9940,185 @@
@DomName('DOMMatrixReadOnly.a')
@DocsEditable()
@Experimental() // untriaged
- double get a => _blink.BlinkDOMMatrixReadOnly.instance.a_Getter_(this);
-
+ double get a => _blink.BlinkDOMMatrixReadOnly.instance.a_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.b')
@DocsEditable()
@Experimental() // untriaged
- double get b => _blink.BlinkDOMMatrixReadOnly.instance.b_Getter_(this);
-
+ double get b => _blink.BlinkDOMMatrixReadOnly.instance.b_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.c')
@DocsEditable()
@Experimental() // untriaged
- double get c => _blink.BlinkDOMMatrixReadOnly.instance.c_Getter_(this);
-
+ double get c => _blink.BlinkDOMMatrixReadOnly.instance.c_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.d')
@DocsEditable()
@Experimental() // untriaged
- double get d => _blink.BlinkDOMMatrixReadOnly.instance.d_Getter_(this);
-
+ double get d => _blink.BlinkDOMMatrixReadOnly.instance.d_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.e')
@DocsEditable()
@Experimental() // untriaged
- double get e => _blink.BlinkDOMMatrixReadOnly.instance.e_Getter_(this);
-
+ double get e => _blink.BlinkDOMMatrixReadOnly.instance.e_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.f')
@DocsEditable()
@Experimental() // untriaged
- double get f => _blink.BlinkDOMMatrixReadOnly.instance.f_Getter_(this);
-
+ double get f => _blink.BlinkDOMMatrixReadOnly.instance.f_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.is2D')
@DocsEditable()
@Experimental() // untriaged
- bool get is2D => _blink.BlinkDOMMatrixReadOnly.instance.is2D_Getter_(this);
-
+ bool get is2D => _blink.BlinkDOMMatrixReadOnly.instance.is2D_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.isIdentity')
@DocsEditable()
@Experimental() // untriaged
- bool get isIdentity => _blink.BlinkDOMMatrixReadOnly.instance.isIdentity_Getter_(this);
-
+ bool get isIdentity => _blink.BlinkDOMMatrixReadOnly.instance.isIdentity_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m11')
@DocsEditable()
@Experimental() // untriaged
- double get m11 => _blink.BlinkDOMMatrixReadOnly.instance.m11_Getter_(this);
-
+ double get m11 => _blink.BlinkDOMMatrixReadOnly.instance.m11_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m12')
@DocsEditable()
@Experimental() // untriaged
- double get m12 => _blink.BlinkDOMMatrixReadOnly.instance.m12_Getter_(this);
-
+ double get m12 => _blink.BlinkDOMMatrixReadOnly.instance.m12_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m13')
@DocsEditable()
@Experimental() // untriaged
- double get m13 => _blink.BlinkDOMMatrixReadOnly.instance.m13_Getter_(this);
-
+ double get m13 => _blink.BlinkDOMMatrixReadOnly.instance.m13_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m14')
@DocsEditable()
@Experimental() // untriaged
- double get m14 => _blink.BlinkDOMMatrixReadOnly.instance.m14_Getter_(this);
-
+ double get m14 => _blink.BlinkDOMMatrixReadOnly.instance.m14_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m21')
@DocsEditable()
@Experimental() // untriaged
- double get m21 => _blink.BlinkDOMMatrixReadOnly.instance.m21_Getter_(this);
-
+ double get m21 => _blink.BlinkDOMMatrixReadOnly.instance.m21_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m22')
@DocsEditable()
@Experimental() // untriaged
- double get m22 => _blink.BlinkDOMMatrixReadOnly.instance.m22_Getter_(this);
-
+ double get m22 => _blink.BlinkDOMMatrixReadOnly.instance.m22_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m23')
@DocsEditable()
@Experimental() // untriaged
- double get m23 => _blink.BlinkDOMMatrixReadOnly.instance.m23_Getter_(this);
-
+ double get m23 => _blink.BlinkDOMMatrixReadOnly.instance.m23_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m24')
@DocsEditable()
@Experimental() // untriaged
- double get m24 => _blink.BlinkDOMMatrixReadOnly.instance.m24_Getter_(this);
-
+ double get m24 => _blink.BlinkDOMMatrixReadOnly.instance.m24_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m31')
@DocsEditable()
@Experimental() // untriaged
- double get m31 => _blink.BlinkDOMMatrixReadOnly.instance.m31_Getter_(this);
-
+ double get m31 => _blink.BlinkDOMMatrixReadOnly.instance.m31_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m32')
@DocsEditable()
@Experimental() // untriaged
- double get m32 => _blink.BlinkDOMMatrixReadOnly.instance.m32_Getter_(this);
-
+ double get m32 => _blink.BlinkDOMMatrixReadOnly.instance.m32_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m33')
@DocsEditable()
@Experimental() // untriaged
- double get m33 => _blink.BlinkDOMMatrixReadOnly.instance.m33_Getter_(this);
-
+ double get m33 => _blink.BlinkDOMMatrixReadOnly.instance.m33_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m34')
@DocsEditable()
@Experimental() // untriaged
- double get m34 => _blink.BlinkDOMMatrixReadOnly.instance.m34_Getter_(this);
-
+ double get m34 => _blink.BlinkDOMMatrixReadOnly.instance.m34_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m41')
@DocsEditable()
@Experimental() // untriaged
- double get m41 => _blink.BlinkDOMMatrixReadOnly.instance.m41_Getter_(this);
-
+ double get m41 => _blink.BlinkDOMMatrixReadOnly.instance.m41_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m42')
@DocsEditable()
@Experimental() // untriaged
- double get m42 => _blink.BlinkDOMMatrixReadOnly.instance.m42_Getter_(this);
-
+ double get m42 => _blink.BlinkDOMMatrixReadOnly.instance.m42_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m43')
@DocsEditable()
@Experimental() // untriaged
- double get m43 => _blink.BlinkDOMMatrixReadOnly.instance.m43_Getter_(this);
-
+ double get m43 => _blink.BlinkDOMMatrixReadOnly.instance.m43_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.m44')
@DocsEditable()
@Experimental() // untriaged
- double get m44 => _blink.BlinkDOMMatrixReadOnly.instance.m44_Getter_(this);
-
+ double get m44 => _blink.BlinkDOMMatrixReadOnly.instance.m44_Getter_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.multiply')
@DocsEditable()
@Experimental() // untriaged
- DomMatrix multiply(DomMatrix other) => _blink.BlinkDOMMatrixReadOnly.instance.multiply_Callback_1_(this, other);
-
+ DomMatrix multiply(DomMatrix other) => _blink.BlinkDOMMatrixReadOnly.instance.multiply_Callback_1_(unwrap_jso(this), unwrap_jso(other));
+
DomMatrix scale(num scale, [num ox, num oy]) {
if (oy != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scale_Callback_3_(this, scale, ox, oy);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scale_Callback_3_(unwrap_jso(this), scale, ox, oy);
}
if (ox != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scale_Callback_2_(this, scale, ox);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scale_Callback_2_(unwrap_jso(this), scale, ox);
}
- return _blink.BlinkDOMMatrixReadOnly.instance.scale_Callback_1_(this, scale);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scale_Callback_1_(unwrap_jso(this), scale);
}
DomMatrix scale3d(num scale, [num ox, num oy, num oz]) {
if (oz != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_4_(this, scale, ox, oy, oz);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_4_(unwrap_jso(this), scale, ox, oy, oz);
}
if (oy != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_3_(this, scale, ox, oy);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_3_(unwrap_jso(this), scale, ox, oy);
}
if (ox != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_2_(this, scale, ox);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_2_(unwrap_jso(this), scale, ox);
}
- return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_1_(this, scale);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scale3d_Callback_1_(unwrap_jso(this), scale);
}
DomMatrix scaleNonUniform(num sx, [num sy, num sz, num ox, num oy, num oz]) {
if (oz != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_6_(this, sx, sy, sz, ox, oy, oz);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_6_(unwrap_jso(this), sx, sy, sz, ox, oy, oz);
}
if (oy != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_5_(this, sx, sy, sz, ox, oy);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_5_(unwrap_jso(this), sx, sy, sz, ox, oy);
}
if (ox != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_4_(this, sx, sy, sz, ox);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_4_(unwrap_jso(this), sx, sy, sz, ox);
}
if (sz != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_3_(this, sx, sy, sz);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_3_(unwrap_jso(this), sx, sy, sz);
}
if (sy != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_2_(this, sx, sy);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_2_(unwrap_jso(this), sx, sy);
}
- return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_1_(this, sx);
+ return _blink.BlinkDOMMatrixReadOnly.instance.scaleNonUniform_Callback_1_(unwrap_jso(this), sx);
}
@DomName('DOMMatrixReadOnly.toFloat32Array')
@DocsEditable()
@Experimental() // untriaged
- Float32List toFloat32Array() => _blink.BlinkDOMMatrixReadOnly.instance.toFloat32Array_Callback_0_(this);
-
+ Float32List toFloat32Array() => _blink.BlinkDOMMatrixReadOnly.instance.toFloat32Array_Callback_0_(unwrap_jso(this));
+
@DomName('DOMMatrixReadOnly.toFloat64Array')
@DocsEditable()
@Experimental() // untriaged
- Float64List toFloat64Array() => _blink.BlinkDOMMatrixReadOnly.instance.toFloat64Array_Callback_0_(this);
-
+ Float64List toFloat64Array() => _blink.BlinkDOMMatrixReadOnly.instance.toFloat64Array_Callback_0_(unwrap_jso(this));
+
DomMatrix translate(num tx, num ty, [num tz]) {
if (tz != null) {
- return _blink.BlinkDOMMatrixReadOnly.instance.translate_Callback_3_(this, tx, ty, tz);
+ return _blink.BlinkDOMMatrixReadOnly.instance.translate_Callback_3_(unwrap_jso(this), tx, ty, tz);
}
- return _blink.BlinkDOMMatrixReadOnly.instance.translate_Callback_2_(this, tx, ty);
+ return _blink.BlinkDOMMatrixReadOnly.instance.translate_Callback_2_(unwrap_jso(this), tx, ty);
}
}
@@ -10134,8 +10143,8 @@
@DomName('DOMParser.parseFromString')
@DocsEditable()
- Document parseFromString(String str, String contentType) => _blink.BlinkDOMParser.instance.parseFromString_Callback_2_(this, str, contentType);
-
+ Document parseFromString(String str, String contentType) => wrap_jso(_blink.BlinkDOMParser.instance.parseFromString_Callback_2_(unwrap_jso(this), str, contentType));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -10178,43 +10187,43 @@
@DomName('DOMPoint.w')
@DocsEditable()
@Experimental() // untriaged
- num get w => _blink.BlinkDOMPoint.instance.w_Getter_(this);
-
+ num get w => _blink.BlinkDOMPoint.instance.w_Getter_(unwrap_jso(this));
+
@DomName('DOMPoint.w')
@DocsEditable()
@Experimental() // untriaged
- void set w(num value) => _blink.BlinkDOMPoint.instance.w_Setter_(this, value);
-
+ void set w(num value) => _blink.BlinkDOMPoint.instance.w_Setter_(unwrap_jso(this), value);
+
@DomName('DOMPoint.x')
@DocsEditable()
@Experimental() // untriaged
- num get x => _blink.BlinkDOMPoint.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkDOMPoint.instance.x_Getter_(unwrap_jso(this));
+
@DomName('DOMPoint.x')
@DocsEditable()
@Experimental() // untriaged
- void set x(num value) => _blink.BlinkDOMPoint.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkDOMPoint.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('DOMPoint.y')
@DocsEditable()
@Experimental() // untriaged
- num get y => _blink.BlinkDOMPoint.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkDOMPoint.instance.y_Getter_(unwrap_jso(this));
+
@DomName('DOMPoint.y')
@DocsEditable()
@Experimental() // untriaged
- void set y(num value) => _blink.BlinkDOMPoint.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkDOMPoint.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('DOMPoint.z')
@DocsEditable()
@Experimental() // untriaged
- num get z => _blink.BlinkDOMPoint.instance.z_Getter_(this);
-
+ num get z => _blink.BlinkDOMPoint.instance.z_Getter_(unwrap_jso(this));
+
@DomName('DOMPoint.z')
@DocsEditable()
@Experimental() // untriaged
- void set z(num value) => _blink.BlinkDOMPoint.instance.z_Setter_(this, value);
-
+ void set z(num value) => _blink.BlinkDOMPoint.instance.z_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -10239,23 +10248,23 @@
@DomName('DOMPointReadOnly.w')
@DocsEditable()
@Experimental() // untriaged
- double get w => _blink.BlinkDOMPointReadOnly.instance.w_Getter_(this);
-
+ double get w => _blink.BlinkDOMPointReadOnly.instance.w_Getter_(unwrap_jso(this));
+
@DomName('DOMPointReadOnly.x')
@DocsEditable()
@Experimental() // untriaged
- double get x => _blink.BlinkDOMPointReadOnly.instance.x_Getter_(this);
-
+ double get x => _blink.BlinkDOMPointReadOnly.instance.x_Getter_(unwrap_jso(this));
+
@DomName('DOMPointReadOnly.y')
@DocsEditable()
@Experimental() // untriaged
- double get y => _blink.BlinkDOMPointReadOnly.instance.y_Getter_(this);
-
+ double get y => _blink.BlinkDOMPointReadOnly.instance.y_Getter_(unwrap_jso(this));
+
@DomName('DOMPointReadOnly.z')
@DocsEditable()
@Experimental() // untriaged
- double get z => _blink.BlinkDOMPointReadOnly.instance.z_Getter_(this);
-
+ double get z => _blink.BlinkDOMPointReadOnly.instance.z_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -10368,43 +10377,43 @@
@DomName('DOMRectReadOnly.bottom')
@DocsEditable()
@Experimental() // untriaged
- double get bottom => _blink.BlinkDOMRectReadOnly.instance.bottom_Getter_(this);
-
+ double get bottom => _blink.BlinkDOMRectReadOnly.instance.bottom_Getter_(unwrap_jso(this));
+
@DomName('DOMRectReadOnly.height')
@DocsEditable()
@Experimental() // untriaged
- double get height => _blink.BlinkDOMRectReadOnly.instance.height_Getter_(this);
-
+ double get height => _blink.BlinkDOMRectReadOnly.instance.height_Getter_(unwrap_jso(this));
+
@DomName('DOMRectReadOnly.left')
@DocsEditable()
@Experimental() // untriaged
- double get left => _blink.BlinkDOMRectReadOnly.instance.left_Getter_(this);
-
+ double get left => _blink.BlinkDOMRectReadOnly.instance.left_Getter_(unwrap_jso(this));
+
@DomName('DOMRectReadOnly.right')
@DocsEditable()
@Experimental() // untriaged
- double get right => _blink.BlinkDOMRectReadOnly.instance.right_Getter_(this);
-
+ double get right => _blink.BlinkDOMRectReadOnly.instance.right_Getter_(unwrap_jso(this));
+
@DomName('DOMRectReadOnly.top')
@DocsEditable()
@Experimental() // untriaged
- double get top => _blink.BlinkDOMRectReadOnly.instance.top_Getter_(this);
-
+ double get top => _blink.BlinkDOMRectReadOnly.instance.top_Getter_(unwrap_jso(this));
+
@DomName('DOMRectReadOnly.width')
@DocsEditable()
@Experimental() // untriaged
- double get width => _blink.BlinkDOMRectReadOnly.instance.width_Getter_(this);
-
+ double get width => _blink.BlinkDOMRectReadOnly.instance.width_Getter_(unwrap_jso(this));
+
@DomName('DOMRectReadOnly.x')
@DocsEditable()
@Experimental() // untriaged
- double get x => _blink.BlinkDOMRectReadOnly.instance.x_Getter_(this);
-
+ double get x => _blink.BlinkDOMRectReadOnly.instance.x_Getter_(unwrap_jso(this));
+
@DomName('DOMRectReadOnly.y')
@DocsEditable()
@Experimental() // untriaged
- double get y => _blink.BlinkDOMRectReadOnly.instance.y_Getter_(this);
-}
+ double get y => _blink.BlinkDOMRectReadOnly.instance.y_Getter_(unwrap_jso(this));
+ }
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -10421,16 +10430,16 @@
@DomName('DOMSettableTokenList.value')
@DocsEditable()
- String get value => _blink.BlinkDOMSettableTokenList.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkDOMSettableTokenList.instance.value_Getter_(unwrap_jso(this));
+
@DomName('DOMSettableTokenList.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkDOMSettableTokenList.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkDOMSettableTokenList.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('DOMSettableTokenList.__getter__')
@DocsEditable()
- String __getter__(int index) => _blink.BlinkDOMSettableTokenList.instance.$__getter___Callback_1_(this, index);
-
+ String __getter__(int index) => _blink.BlinkDOMSettableTokenList.instance.$__getter___Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -10447,16 +10456,16 @@
@DomName('DOMStringList.length')
@DocsEditable()
- int get length => _blink.BlinkDOMStringList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkDOMStringList.instance.length_Getter_(unwrap_jso(this));
+
String operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkDOMStringList.instance.item_Callback_1_(this, index);
+ return _blink.BlinkDOMStringList.instance.item_Callback_1_(unwrap_jso(this), index);
}
- String _nativeIndexedGetter(int index) => _blink.BlinkDOMStringList.instance.item_Callback_1_(this, index);
-
+ String _nativeIndexedGetter(int index) => _blink.BlinkDOMStringList.instance.item_Callback_1_(unwrap_jso(this), index);
+
void operator[]=(int index, String value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -10497,12 +10506,12 @@
@DomName('DOMStringList.contains')
@DocsEditable()
- bool contains(String string) => _blink.BlinkDOMStringList.instance.contains_Callback_1_(this, string);
-
+ bool contains(String string) => _blink.BlinkDOMStringList.instance.contains_Callback_1_(unwrap_jso(this), string);
+
@DomName('DOMStringList.item')
@DocsEditable()
- String item(int index) => _blink.BlinkDOMStringList.instance.item_Callback_1_(this, index);
-
+ String item(int index) => _blink.BlinkDOMStringList.instance.item_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -10519,31 +10528,31 @@
bool __delete__(index_OR_name) {
if ((index_OR_name is int || index_OR_name == null)) {
- return _blink.BlinkDOMStringMap.instance.$__delete___Callback_1_(this, index_OR_name);
+ return _blink.BlinkDOMStringMap.instance.$__delete___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
if ((index_OR_name is String || index_OR_name == null)) {
- return _blink.BlinkDOMStringMap.instance.$__delete___Callback_1_(this, index_OR_name);
+ return _blink.BlinkDOMStringMap.instance.$__delete___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
String __getter__(index_OR_name) {
if ((index_OR_name is int || index_OR_name == null)) {
- return _blink.BlinkDOMStringMap.instance.$__getter___Callback_1_(this, index_OR_name);
+ return _blink.BlinkDOMStringMap.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
if ((index_OR_name is String || index_OR_name == null)) {
- return _blink.BlinkDOMStringMap.instance.$__getter___Callback_1_(this, index_OR_name);
+ return _blink.BlinkDOMStringMap.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
void __setter__(index_OR_name, String value) {
if ((value is String || value == null) && (index_OR_name is int || index_OR_name == null)) {
- _blink.BlinkDOMStringMap.instance.$__setter___Callback_2_(this, index_OR_name, value);
+ _blink.BlinkDOMStringMap.instance.$__setter___Callback_2_(unwrap_jso(this), unwrap_jso(index_OR_name), value);
return;
}
if ((value is String || value == null) && (index_OR_name is String || index_OR_name == null)) {
- _blink.BlinkDOMStringMap.instance.$__setter___Callback_2_(this, index_OR_name, value);
+ _blink.BlinkDOMStringMap.instance.$__setter___Callback_2_(unwrap_jso(this), unwrap_jso(index_OR_name), value);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -10565,31 +10574,31 @@
@DomName('DOMTokenList.length')
@DocsEditable()
- int get length => _blink.BlinkDOMTokenList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkDOMTokenList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('DOMTokenList.add')
@DocsEditable()
@Experimental() // untriaged
- void add(String tokens) => _blink.BlinkDOMTokenList.instance.add_Callback_1_(this, tokens);
-
+ void add(String tokens) => _blink.BlinkDOMTokenList.instance.add_Callback_1_(unwrap_jso(this), tokens);
+
@DomName('DOMTokenList.contains')
@DocsEditable()
- bool contains(String token) => _blink.BlinkDOMTokenList.instance.contains_Callback_1_(this, token);
-
+ bool contains(String token) => _blink.BlinkDOMTokenList.instance.contains_Callback_1_(unwrap_jso(this), token);
+
@DomName('DOMTokenList.item')
@DocsEditable()
- String item(int index) => _blink.BlinkDOMTokenList.instance.item_Callback_1_(this, index);
-
+ String item(int index) => _blink.BlinkDOMTokenList.instance.item_Callback_1_(unwrap_jso(this), index);
+
@DomName('DOMTokenList.remove')
@DocsEditable()
@Experimental() // untriaged
- void remove(String tokens) => _blink.BlinkDOMTokenList.instance.remove_Callback_1_(this, tokens);
-
+ void remove(String tokens) => _blink.BlinkDOMTokenList.instance.remove_Callback_1_(unwrap_jso(this), tokens);
+
bool toggle(String token, [bool force]) {
if (force != null) {
- return _blink.BlinkDOMTokenList.instance.toggle_Callback_2_(this, token, force);
+ return _blink.BlinkDOMTokenList.instance.toggle_Callback_2_(unwrap_jso(this), token, force);
}
- return _blink.BlinkDOMTokenList.instance.toggle_Callback_1_(this, token);
+ return _blink.BlinkDOMTokenList.instance.toggle_Callback_1_(unwrap_jso(this), token);
}
}
@@ -12426,7 +12435,7 @@
if (treeSanitizer is _TrustedHtmlTreeSanitizer) {
_insertAdjacentHtml(where, html);
} else {
- _insertAdjacentNode(where, new DocumentFragment.html(html,
+ _insertAdjacentNode(where, createFragment(html,
validator: validator, treeSanitizer: treeSanitizer));
}
}
@@ -12629,10 +12638,11 @@
if (_parseDocument == null) {
_parseDocument = document.implementation.createHtmlDocument('');
_parseRange = _parseDocument.createRange();
-
- // Workaround for Chrome bug 229142- URIs are not resolved in new doc.
- var base = _parseDocument.createElement('base');
- base.href = document.baseUri;
+
+ // Workaround for Safari bug. Was also previously Chrome bug 229142
+ // - URIs are not resolved in new doc.
+ var base = _parseDocument.createElement('base');
+ base.href = document.baseUri;
_parseDocument.head.append(base);
}
var contextElement;
@@ -12643,7 +12653,8 @@
_parseDocument.body.append(contextElement);
}
var fragment;
- if (Range.supportsCreateContextualFragment) {
+ if (Range.supportsCreateContextualFragment &&
+ _canBeUsedToCreateContextualFragment) {
_parseRange.selectNodeContents(contextElement);
fragment = _parseRange.createContextualFragment(html);
} else {
@@ -12665,6 +12676,24 @@
return fragment;
}
+ /** Test if createContextualFragment is supported for this element type */
+ bool get _canBeUsedToCreateContextualFragment =>
+ !_cannotBeUsedToCreateContextualFragment;
+
+ /** Test if createContextualFragment is NOT supported for this element type */
+ bool get _cannotBeUsedToCreateContextualFragment =>
+ _tagsForWhichCreateContextualFragmentIsNotSupported.contains(tagName);
+
+ /**
+ * A hard-coded list of the tag names for which createContextualFragment
+ * isn't supported.
+ */
+ static const _tagsForWhichCreateContextualFragmentIsNotSupported =
+ const ['HEAD', 'AREA',
+ 'BASE', 'BASEFONT', 'BR', 'COL', 'COLGROUP', 'EMBED', 'FRAME', 'FRAMESET',
+ 'HR', 'IMAGE', 'IMG', 'INPUT', 'ISINDEX', 'LINK', 'META', 'PARAM',
+ 'SOURCE', 'STYLE', 'TITLE', 'WBR'];
+
/**
* Parses the HTML fragment and sets it as the contents of this element.
*
@@ -13478,155 +13507,155 @@
@DomName('Element.attributes')
@DocsEditable()
- _NamedNodeMap get _attributes => _blink.BlinkElement.instance.attributes_Getter_(this);
-
+ _NamedNodeMap get _attributes => wrap_jso(_blink.BlinkElement.instance.attributes_Getter_(unwrap_jso(this)));
+
@DomName('Element.className')
@DocsEditable()
- String get className => _blink.BlinkElement.instance.className_Getter_(this);
-
+ String get className => _blink.BlinkElement.instance.className_Getter_(unwrap_jso(this));
+
@DomName('Element.className')
@DocsEditable()
- void set className(String value) => _blink.BlinkElement.instance.className_Setter_(this, value);
-
+ void set className(String value) => _blink.BlinkElement.instance.className_Setter_(unwrap_jso(this), value);
+
@DomName('Element.clientHeight')
@DocsEditable()
- int get _clientHeight => _blink.BlinkElement.instance.clientHeight_Getter_(this);
-
+ int get _clientHeight => _blink.BlinkElement.instance.clientHeight_Getter_(unwrap_jso(this));
+
@DomName('Element.clientLeft')
@DocsEditable()
- int get _clientLeft => _blink.BlinkElement.instance.clientLeft_Getter_(this);
-
+ int get _clientLeft => _blink.BlinkElement.instance.clientLeft_Getter_(unwrap_jso(this));
+
@DomName('Element.clientTop')
@DocsEditable()
- int get _clientTop => _blink.BlinkElement.instance.clientTop_Getter_(this);
-
+ int get _clientTop => _blink.BlinkElement.instance.clientTop_Getter_(unwrap_jso(this));
+
@DomName('Element.clientWidth')
@DocsEditable()
- int get _clientWidth => _blink.BlinkElement.instance.clientWidth_Getter_(this);
-
+ int get _clientWidth => _blink.BlinkElement.instance.clientWidth_Getter_(unwrap_jso(this));
+
@DomName('Element.id')
@DocsEditable()
- String get id => _blink.BlinkElement.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkElement.instance.id_Getter_(unwrap_jso(this));
+
@DomName('Element.id')
@DocsEditable()
- void set id(String value) => _blink.BlinkElement.instance.id_Setter_(this, value);
-
+ void set id(String value) => _blink.BlinkElement.instance.id_Setter_(unwrap_jso(this), value);
+
@DomName('Element.innerHTML')
@DocsEditable()
- String get _innerHtml => _blink.BlinkElement.instance.innerHTML_Getter_(this);
-
+ String get _innerHtml => _blink.BlinkElement.instance.innerHTML_Getter_(unwrap_jso(this));
+
@DomName('Element.innerHTML')
@DocsEditable()
- void set _innerHtml(String value) => _blink.BlinkElement.instance.innerHTML_Setter_(this, value);
-
+ void set _innerHtml(String value) => _blink.BlinkElement.instance.innerHTML_Setter_(unwrap_jso(this), value);
+
@DomName('Element.localName')
@DocsEditable()
@Experimental() // untriaged
- String get _localName => _blink.BlinkElement.instance.localName_Getter_(this);
-
+ String get _localName => _blink.BlinkElement.instance.localName_Getter_(unwrap_jso(this));
+
@DomName('Element.namespaceURI')
@DocsEditable()
@Experimental() // untriaged
- String get _namespaceUri => _blink.BlinkElement.instance.namespaceURI_Getter_(this);
-
+ String get _namespaceUri => _blink.BlinkElement.instance.namespaceURI_Getter_(unwrap_jso(this));
+
@DomName('Element.offsetHeight')
@DocsEditable()
- int get _offsetHeight => _blink.BlinkElement.instance.offsetHeight_Getter_(this);
-
+ int get _offsetHeight => _blink.BlinkElement.instance.offsetHeight_Getter_(unwrap_jso(this));
+
@DomName('Element.offsetLeft')
@DocsEditable()
- int get _offsetLeft => _blink.BlinkElement.instance.offsetLeft_Getter_(this);
-
+ int get _offsetLeft => _blink.BlinkElement.instance.offsetLeft_Getter_(unwrap_jso(this));
+
@DomName('Element.offsetParent')
@DocsEditable()
- Element get offsetParent => _blink.BlinkElement.instance.offsetParent_Getter_(this);
-
+ Element get offsetParent => wrap_jso(_blink.BlinkElement.instance.offsetParent_Getter_(unwrap_jso(this)));
+
@DomName('Element.offsetTop')
@DocsEditable()
- int get _offsetTop => _blink.BlinkElement.instance.offsetTop_Getter_(this);
-
+ int get _offsetTop => _blink.BlinkElement.instance.offsetTop_Getter_(unwrap_jso(this));
+
@DomName('Element.offsetWidth')
@DocsEditable()
- int get _offsetWidth => _blink.BlinkElement.instance.offsetWidth_Getter_(this);
-
+ int get _offsetWidth => _blink.BlinkElement.instance.offsetWidth_Getter_(unwrap_jso(this));
+
@DomName('Element.outerHTML')
@DocsEditable()
- String get outerHtml => _blink.BlinkElement.instance.outerHTML_Getter_(this);
-
+ String get outerHtml => _blink.BlinkElement.instance.outerHTML_Getter_(unwrap_jso(this));
+
@DomName('Element.scrollHeight')
@DocsEditable()
- int get _scrollHeight => _blink.BlinkElement.instance.scrollHeight_Getter_(this);
-
+ int get _scrollHeight => _blink.BlinkElement.instance.scrollHeight_Getter_(unwrap_jso(this));
+
@DomName('Element.scrollLeft')
@DocsEditable()
- num get _scrollLeft => _blink.BlinkElement.instance.scrollLeft_Getter_(this);
-
+ num get _scrollLeft => _blink.BlinkElement.instance.scrollLeft_Getter_(unwrap_jso(this));
+
@DomName('Element.scrollLeft')
@DocsEditable()
- void set _scrollLeft(num value) => _blink.BlinkElement.instance.scrollLeft_Setter_(this, value);
-
+ void set _scrollLeft(num value) => _blink.BlinkElement.instance.scrollLeft_Setter_(unwrap_jso(this), value);
+
@DomName('Element.scrollTop')
@DocsEditable()
- num get _scrollTop => _blink.BlinkElement.instance.scrollTop_Getter_(this);
-
+ num get _scrollTop => _blink.BlinkElement.instance.scrollTop_Getter_(unwrap_jso(this));
+
@DomName('Element.scrollTop')
@DocsEditable()
- void set _scrollTop(num value) => _blink.BlinkElement.instance.scrollTop_Setter_(this, value);
-
+ void set _scrollTop(num value) => _blink.BlinkElement.instance.scrollTop_Setter_(unwrap_jso(this), value);
+
@DomName('Element.scrollWidth')
@DocsEditable()
- int get _scrollWidth => _blink.BlinkElement.instance.scrollWidth_Getter_(this);
-
+ int get _scrollWidth => _blink.BlinkElement.instance.scrollWidth_Getter_(unwrap_jso(this));
+
@DomName('Element.shadowRoot')
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-aware-create-shadow-root
@Experimental()
- ShadowRoot get shadowRoot => _blink.BlinkElement.instance.shadowRoot_Getter_(this);
-
+ ShadowRoot get shadowRoot => wrap_jso(_blink.BlinkElement.instance.shadowRoot_Getter_(unwrap_jso(this)));
+
@DomName('Element.style')
@DocsEditable()
- CssStyleDeclaration get style => _blink.BlinkElement.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkElement.instance.style_Getter_(unwrap_jso(this)));
+
@DomName('Element.tagName')
@DocsEditable()
- String get tagName => _blink.BlinkElement.instance.tagName_Getter_(this);
-
+ String get tagName => _blink.BlinkElement.instance.tagName_Getter_(unwrap_jso(this));
+
@DomName('Element.animate')
@DocsEditable()
@Experimental() // untriaged
- AnimationPlayer animate(Object effect, [Object timing]) => _blink.BlinkElement.instance.animate_Callback_2_(this, effect, timing);
-
+ AnimationPlayer animate(Object effect, [Object timing]) => wrap_jso(_blink.BlinkElement.instance.animate_Callback_2_(unwrap_jso(this), effect, timing));
+
@DomName('Element.blur')
@DocsEditable()
- void blur() => _blink.BlinkElement.instance.blur_Callback_0_(this);
-
+ void blur() => _blink.BlinkElement.instance.blur_Callback_0_(unwrap_jso(this));
+
@DomName('Element.createShadowRoot')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME, '25')
@Experimental()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#api-shadow-aware-create-shadow-root
- ShadowRoot createShadowRoot() => _blink.BlinkElement.instance.createShadowRoot_Callback_0_(this);
-
+ ShadowRoot createShadowRoot() => wrap_jso(_blink.BlinkElement.instance.createShadowRoot_Callback_0_(unwrap_jso(this)));
+
@DomName('Element.focus')
@DocsEditable()
- void focus() => _blink.BlinkElement.instance.focus_Callback_0_(this);
-
+ void focus() => _blink.BlinkElement.instance.focus_Callback_0_(unwrap_jso(this));
+
@DomName('Element.getAnimationPlayers')
@DocsEditable()
@Experimental() // untriaged
- List<AnimationPlayer> getAnimationPlayers() => _blink.BlinkElement.instance.getAnimationPlayers_Callback_0_(this);
-
+ List<AnimationPlayer> getAnimationPlayers() => _blink.BlinkElement.instance.getAnimationPlayers_Callback_0_(unwrap_jso(this));
+
@DomName('Element.getAttribute')
@DocsEditable()
@Experimental() // untriaged
- String getAttribute(String name) => _blink.BlinkElement.instance.getAttribute_Callback_1_(this, name);
-
+ String getAttribute(String name) => _blink.BlinkElement.instance.getAttribute_Callback_1_(unwrap_jso(this), name);
+
@DomName('Element.getAttributeNS')
@DocsEditable()
@Experimental() // untriaged
- String getAttributeNS(String namespaceURI, String localName) => _blink.BlinkElement.instance.getAttributeNS_Callback_2_(this, namespaceURI, localName);
-
+ String getAttributeNS(String namespaceURI, String localName) => _blink.BlinkElement.instance.getAttributeNS_Callback_2_(unwrap_jso(this), namespaceURI, localName);
+
/**
* Returns the smallest bounding rectangle that encompasses this element's
* padding, scrollbar, and border.
@@ -13642,8 +13671,8 @@
*/
@DomName('Element.getBoundingClientRect')
@DocsEditable()
- Rectangle getBoundingClientRect() => _blink.BlinkElement.instance.getBoundingClientRect_Callback_0_(this);
-
+ Rectangle getBoundingClientRect() => make_dart_rectangle(_blink.BlinkElement.instance.getBoundingClientRect_Callback_0_(unwrap_jso(this)));
+
/**
* Returns a list of bounding rectangles for each box associated with this
* element.
@@ -13659,8 +13688,8 @@
*/
@DomName('Element.getClientRects')
@DocsEditable()
- List<Rectangle> getClientRects() => _blink.BlinkElement.instance.getClientRects_Callback_0_(this);
-
+ List<Rectangle> getClientRects() => _blink.BlinkElement.instance.getClientRects_Callback_0_(unwrap_jso(this));
+
/**
* Returns a list of shadow DOM insertion points to which this element is
* distributed.
@@ -13674,8 +13703,8 @@
@DomName('Element.getDestinationInsertionPoints')
@DocsEditable()
@Experimental() // untriaged
- List<Node> getDestinationInsertionPoints() => _blink.BlinkElement.instance.getDestinationInsertionPoints_Callback_0_(this);
-
+ List<Node> getDestinationInsertionPoints() => wrap_jso_list(_blink.BlinkElement.instance.getDestinationInsertionPoints_Callback_0_(unwrap_jso(this)));
+
/**
* Returns a list of nodes with the given class name inside this element.
*
@@ -13689,112 +13718,112 @@
*/
@DomName('Element.getElementsByClassName')
@DocsEditable()
- List<Node> getElementsByClassName(String classNames) => _blink.BlinkElement.instance.getElementsByClassName_Callback_1_(this, classNames);
-
+ List<Node> getElementsByClassName(String classNames) => wrap_jso_list(_blink.BlinkElement.instance.getElementsByClassName_Callback_1_(unwrap_jso(this), classNames));
+
@DomName('Element.getElementsByTagName')
@DocsEditable()
- List<Node> _getElementsByTagName(String name) => _blink.BlinkElement.instance.getElementsByTagName_Callback_1_(this, name);
-
+ List<Node> _getElementsByTagName(String name) => wrap_jso_list(_blink.BlinkElement.instance.getElementsByTagName_Callback_1_(unwrap_jso(this), name));
+
@DomName('Element.hasAttribute')
@DocsEditable()
- bool _hasAttribute(String name) => _blink.BlinkElement.instance.hasAttribute_Callback_1_(this, name);
-
+ bool _hasAttribute(String name) => _blink.BlinkElement.instance.hasAttribute_Callback_1_(unwrap_jso(this), name);
+
@DomName('Element.hasAttributeNS')
@DocsEditable()
- bool _hasAttributeNS(String namespaceURI, String localName) => _blink.BlinkElement.instance.hasAttributeNS_Callback_2_(this, namespaceURI, localName);
-
+ bool _hasAttributeNS(String namespaceURI, String localName) => _blink.BlinkElement.instance.hasAttributeNS_Callback_2_(unwrap_jso(this), namespaceURI, localName);
+
@DomName('Element.insertAdjacentElement')
@DocsEditable()
@Experimental() // untriaged
- Element insertAdjacentElement(String where, Element element) => _blink.BlinkElement.instance.insertAdjacentElement_Callback_2_(this, where, element);
-
+ Element insertAdjacentElement(String where, Element element) => wrap_jso(_blink.BlinkElement.instance.insertAdjacentElement_Callback_2_(unwrap_jso(this), where, unwrap_jso(element)));
+
@DomName('Element.insertAdjacentHTML')
@DocsEditable()
@Experimental() // untriaged
- void _insertAdjacentHtml(String where, String html) => _blink.BlinkElement.instance.insertAdjacentHTML_Callback_2_(this, where, html);
-
+ void _insertAdjacentHtml(String where, String html) => _blink.BlinkElement.instance.insertAdjacentHTML_Callback_2_(unwrap_jso(this), where, html);
+
@DomName('Element.insertAdjacentText')
@DocsEditable()
@Experimental() // untriaged
- void insertAdjacentText(String where, String text) => _blink.BlinkElement.instance.insertAdjacentText_Callback_2_(this, where, text);
-
+ void insertAdjacentText(String where, String text) => _blink.BlinkElement.instance.insertAdjacentText_Callback_2_(unwrap_jso(this), where, text);
+
@DomName('Element.matches')
@DocsEditable()
@Experimental() // untriaged
- bool matches(String selectors) => _blink.BlinkElement.instance.matches_Callback_1_(this, selectors);
-
+ bool matches(String selectors) => _blink.BlinkElement.instance.matches_Callback_1_(unwrap_jso(this), selectors);
+
@DomName('Element.removeAttribute')
@DocsEditable()
- void _removeAttribute(String name) => _blink.BlinkElement.instance.removeAttribute_Callback_1_(this, name);
-
+ void _removeAttribute(String name) => _blink.BlinkElement.instance.removeAttribute_Callback_1_(unwrap_jso(this), name);
+
@DomName('Element.removeAttributeNS')
@DocsEditable()
- void _removeAttributeNS(String namespaceURI, String localName) => _blink.BlinkElement.instance.removeAttributeNS_Callback_2_(this, namespaceURI, localName);
-
+ void _removeAttributeNS(String namespaceURI, String localName) => _blink.BlinkElement.instance.removeAttributeNS_Callback_2_(unwrap_jso(this), namespaceURI, localName);
+
@DomName('Element.requestFullscreen')
@DocsEditable()
@Experimental() // untriaged
- void requestFullscreen() => _blink.BlinkElement.instance.requestFullscreen_Callback_0_(this);
-
+ void requestFullscreen() => _blink.BlinkElement.instance.requestFullscreen_Callback_0_(unwrap_jso(this));
+
@DomName('Element.requestPointerLock')
@DocsEditable()
@Experimental() // untriaged
- void requestPointerLock() => _blink.BlinkElement.instance.requestPointerLock_Callback_0_(this);
-
+ void requestPointerLock() => _blink.BlinkElement.instance.requestPointerLock_Callback_0_(unwrap_jso(this));
+
void _scrollIntoView([bool alignWithTop]) {
if (alignWithTop != null) {
- _blink.BlinkElement.instance.scrollIntoView_Callback_1_(this, alignWithTop);
+ _blink.BlinkElement.instance.scrollIntoView_Callback_1_(unwrap_jso(this), alignWithTop);
return;
}
- _blink.BlinkElement.instance.scrollIntoView_Callback_0_(this);
+ _blink.BlinkElement.instance.scrollIntoView_Callback_0_(unwrap_jso(this));
return;
}
void _scrollIntoViewIfNeeded([bool centerIfNeeded]) {
if (centerIfNeeded != null) {
- _blink.BlinkElement.instance.scrollIntoViewIfNeeded_Callback_1_(this, centerIfNeeded);
+ _blink.BlinkElement.instance.scrollIntoViewIfNeeded_Callback_1_(unwrap_jso(this), centerIfNeeded);
return;
}
- _blink.BlinkElement.instance.scrollIntoViewIfNeeded_Callback_0_(this);
+ _blink.BlinkElement.instance.scrollIntoViewIfNeeded_Callback_0_(unwrap_jso(this));
return;
}
@DomName('Element.setAttribute')
@DocsEditable()
- void setAttribute(String name, String value) => _blink.BlinkElement.instance.setAttribute_Callback_2_(this, name, value);
-
+ void setAttribute(String name, String value) => _blink.BlinkElement.instance.setAttribute_Callback_2_(unwrap_jso(this), name, value);
+
@DomName('Element.setAttributeNS')
@DocsEditable()
- void setAttributeNS(String namespaceURI, String qualifiedName, String value) => _blink.BlinkElement.instance.setAttributeNS_Callback_3_(this, namespaceURI, qualifiedName, value);
-
+ void setAttributeNS(String namespaceURI, String qualifiedName, String value) => _blink.BlinkElement.instance.setAttributeNS_Callback_3_(unwrap_jso(this), namespaceURI, qualifiedName, value);
+
@DomName('Element.nextElementSibling')
@DocsEditable()
- Element get nextElementSibling => _blink.BlinkElement.instance.nextElementSibling_Getter_(this);
-
+ Element get nextElementSibling => wrap_jso(_blink.BlinkElement.instance.nextElementSibling_Getter_(unwrap_jso(this)));
+
@DomName('Element.previousElementSibling')
@DocsEditable()
- Element get previousElementSibling => _blink.BlinkElement.instance.previousElementSibling_Getter_(this);
-
+ Element get previousElementSibling => wrap_jso(_blink.BlinkElement.instance.previousElementSibling_Getter_(unwrap_jso(this)));
+
@DomName('Element.remove')
@DocsEditable()
- void remove() => _blink.BlinkElement.instance.remove_Callback_0_(this);
-
+ void remove() => _blink.BlinkElement.instance.remove_Callback_0_(unwrap_jso(this));
+
@DomName('Element.childElementCount')
@DocsEditable()
- int get _childElementCount => _blink.BlinkElement.instance.childElementCount_Getter_(this);
-
+ int get _childElementCount => _blink.BlinkElement.instance.childElementCount_Getter_(unwrap_jso(this));
+
@DomName('Element.children')
@DocsEditable()
- List<Node> get _children => _blink.BlinkElement.instance.children_Getter_(this);
-
+ List<Node> get _children => wrap_jso_list(_blink.BlinkElement.instance.children_Getter_(unwrap_jso(this)));
+
@DomName('Element.firstElementChild')
@DocsEditable()
- Element get _firstElementChild => _blink.BlinkElement.instance.firstElementChild_Getter_(this);
-
+ Element get _firstElementChild => wrap_jso(_blink.BlinkElement.instance.firstElementChild_Getter_(unwrap_jso(this)));
+
@DomName('Element.lastElementChild')
@DocsEditable()
- Element get _lastElementChild => _blink.BlinkElement.instance.lastElementChild_Getter_(this);
-
+ Element get _lastElementChild => wrap_jso(_blink.BlinkElement.instance.lastElementChild_Getter_(unwrap_jso(this)));
+
/**
* Finds the first descendant element of this element that matches the
* specified group of selectors.
@@ -13813,12 +13842,12 @@
*/
@DomName('Element.querySelector')
@DocsEditable()
- Element querySelector(String selectors) => _blink.BlinkElement.instance.querySelector_Callback_1_(this, selectors);
-
+ Element querySelector(String selectors) => wrap_jso(_blink.BlinkElement.instance.querySelector_Callback_1_(unwrap_jso(this), selectors));
+
@DomName('Element.querySelectorAll')
@DocsEditable()
- List<Node> _querySelectorAll(String selectors) => _blink.BlinkElement.instance.querySelectorAll_Callback_1_(this, selectors);
-
+ List<Node> _querySelectorAll(String selectors) => wrap_jso_list(_blink.BlinkElement.instance.querySelectorAll_Callback_1_(unwrap_jso(this), selectors));
+
/// Stream of `abort` events handled by this [Element].
@DomName('Element.onabort')
@DocsEditable()
@@ -14343,62 +14372,62 @@
@DomName('HTMLEmbedElement.height')
@DocsEditable()
- String get height => _blink.BlinkHTMLEmbedElement.instance.height_Getter_(this);
-
+ String get height => _blink.BlinkHTMLEmbedElement.instance.height_Getter_(unwrap_jso(this));
+
@DomName('HTMLEmbedElement.height')
@DocsEditable()
- void set height(String value) => _blink.BlinkHTMLEmbedElement.instance.height_Setter_(this, value);
-
+ void set height(String value) => _blink.BlinkHTMLEmbedElement.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLEmbedElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLEmbedElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLEmbedElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLEmbedElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLEmbedElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLEmbedElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLEmbedElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLEmbedElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLEmbedElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLEmbedElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLEmbedElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLEmbedElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLEmbedElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLEmbedElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLEmbedElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLEmbedElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLEmbedElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLEmbedElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLEmbedElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLEmbedElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLEmbedElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLEmbedElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLEmbedElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLEmbedElement.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLEmbedElement.width')
@DocsEditable()
- String get width => _blink.BlinkHTMLEmbedElement.instance.width_Getter_(this);
-
+ String get width => _blink.BlinkHTMLEmbedElement.instance.width_Getter_(unwrap_jso(this));
+
@DomName('HTMLEmbedElement.width')
@DocsEditable()
- void set width(String value) => _blink.BlinkHTMLEmbedElement.instance.width_Setter_(this, value);
-
+ void set width(String value) => _blink.BlinkHTMLEmbedElement.instance.width_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLEmbedElement.__getter__')
@DocsEditable()
- bool __getter__(index_OR_name) => _blink.BlinkHTMLEmbedElement.instance.$__getter___Callback_1_(this, index_OR_name);
-
+ bool __getter__(index_OR_name) => _blink.BlinkHTMLEmbedElement.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
+
@DomName('HTMLEmbedElement.__setter__')
@DocsEditable()
- void __setter__(index_OR_name, Node value) => _blink.BlinkHTMLEmbedElement.instance.$__setter___Callback_2_(this, index_OR_name, value);
-
+ void __setter__(index_OR_name, Node value) => _blink.BlinkHTMLEmbedElement.instance.$__setter___Callback_2_(unwrap_jso(this), unwrap_jso(index_OR_name), unwrap_jso(value));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -14428,38 +14457,38 @@
@DomName('Entry.filesystem')
@DocsEditable()
- FileSystem get filesystem => _blink.BlinkEntry.instance.filesystem_Getter_(this);
-
+ FileSystem get filesystem => wrap_jso(_blink.BlinkEntry.instance.filesystem_Getter_(unwrap_jso(this)));
+
@DomName('Entry.fullPath')
@DocsEditable()
- String get fullPath => _blink.BlinkEntry.instance.fullPath_Getter_(this);
-
+ String get fullPath => _blink.BlinkEntry.instance.fullPath_Getter_(unwrap_jso(this));
+
@DomName('Entry.isDirectory')
@DocsEditable()
- bool get isDirectory => _blink.BlinkEntry.instance.isDirectory_Getter_(this);
-
+ bool get isDirectory => _blink.BlinkEntry.instance.isDirectory_Getter_(unwrap_jso(this));
+
@DomName('Entry.isFile')
@DocsEditable()
- bool get isFile => _blink.BlinkEntry.instance.isFile_Getter_(this);
-
+ bool get isFile => _blink.BlinkEntry.instance.isFile_Getter_(unwrap_jso(this));
+
@DomName('Entry.name')
@DocsEditable()
- String get name => _blink.BlinkEntry.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkEntry.instance.name_Getter_(unwrap_jso(this));
+
void _copyTo(DirectoryEntry parent, {String name, _EntryCallback successCallback, _ErrorCallback errorCallback}) {
if (errorCallback != null) {
- _blink.BlinkEntry.instance.copyTo_Callback_4_(this, parent, name, successCallback, errorCallback);
+ _blink.BlinkEntry.instance.copyTo_Callback_4_(unwrap_jso(this), unwrap_jso(parent), name, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
if (successCallback != null) {
- _blink.BlinkEntry.instance.copyTo_Callback_3_(this, parent, name, successCallback);
+ _blink.BlinkEntry.instance.copyTo_Callback_3_(unwrap_jso(this), unwrap_jso(parent), name, unwrap_jso(successCallback));
return;
}
if (name != null) {
- _blink.BlinkEntry.instance.copyTo_Callback_2_(this, parent, name);
+ _blink.BlinkEntry.instance.copyTo_Callback_2_(unwrap_jso(this), unwrap_jso(parent), name);
return;
}
- _blink.BlinkEntry.instance.copyTo_Callback_1_(this, parent);
+ _blink.BlinkEntry.instance.copyTo_Callback_1_(unwrap_jso(this), unwrap_jso(parent));
return;
}
@@ -14473,10 +14502,10 @@
void _getMetadata(MetadataCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkEntry.instance.getMetadata_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkEntry.instance.getMetadata_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkEntry.instance.getMetadata_Callback_1_(this, successCallback);
+ _blink.BlinkEntry.instance.getMetadata_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
@@ -14490,14 +14519,14 @@
void _getParent([_EntryCallback successCallback, _ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkEntry.instance.getParent_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkEntry.instance.getParent_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
if (successCallback != null) {
- _blink.BlinkEntry.instance.getParent_Callback_1_(this, successCallback);
+ _blink.BlinkEntry.instance.getParent_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
- _blink.BlinkEntry.instance.getParent_Callback_0_(this);
+ _blink.BlinkEntry.instance.getParent_Callback_0_(unwrap_jso(this));
return;
}
@@ -14511,18 +14540,18 @@
void _moveTo(DirectoryEntry parent, {String name, _EntryCallback successCallback, _ErrorCallback errorCallback}) {
if (errorCallback != null) {
- _blink.BlinkEntry.instance.moveTo_Callback_4_(this, parent, name, successCallback, errorCallback);
+ _blink.BlinkEntry.instance.moveTo_Callback_4_(unwrap_jso(this), unwrap_jso(parent), name, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
if (successCallback != null) {
- _blink.BlinkEntry.instance.moveTo_Callback_3_(this, parent, name, successCallback);
+ _blink.BlinkEntry.instance.moveTo_Callback_3_(unwrap_jso(this), unwrap_jso(parent), name, unwrap_jso(successCallback));
return;
}
if (name != null) {
- _blink.BlinkEntry.instance.moveTo_Callback_2_(this, parent, name);
+ _blink.BlinkEntry.instance.moveTo_Callback_2_(unwrap_jso(this), unwrap_jso(parent), name);
return;
}
- _blink.BlinkEntry.instance.moveTo_Callback_1_(this, parent);
+ _blink.BlinkEntry.instance.moveTo_Callback_1_(unwrap_jso(this), unwrap_jso(parent));
return;
}
@@ -14536,10 +14565,10 @@
void _remove(VoidCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkEntry.instance.remove_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkEntry.instance.remove_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkEntry.instance.remove_Callback_1_(this, successCallback);
+ _blink.BlinkEntry.instance.remove_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
@@ -14553,8 +14582,8 @@
@DomName('Entry.toURL')
@DocsEditable()
- String toUrl() => _blink.BlinkEntry.instance.toURL_Callback_0_(this);
-
+ String toUrl() => _blink.BlinkEntry.instance.toURL_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -14595,25 +14624,25 @@
@DomName('ErrorEvent.colno')
@DocsEditable()
@Experimental() // untriaged
- int get colno => _blink.BlinkErrorEvent.instance.colno_Getter_(this);
-
+ int get colno => _blink.BlinkErrorEvent.instance.colno_Getter_(unwrap_jso(this));
+
@DomName('ErrorEvent.error')
@DocsEditable()
@Experimental() // untriaged
- Object get error => _blink.BlinkErrorEvent.instance.error_Getter_(this);
-
+ Object get error => _blink.BlinkErrorEvent.instance.error_Getter_(unwrap_jso(this));
+
@DomName('ErrorEvent.filename')
@DocsEditable()
- String get filename => _blink.BlinkErrorEvent.instance.filename_Getter_(this);
-
+ String get filename => _blink.BlinkErrorEvent.instance.filename_Getter_(unwrap_jso(this));
+
@DomName('ErrorEvent.lineno')
@DocsEditable()
- int get lineno => _blink.BlinkErrorEvent.instance.lineno_Getter_(this);
-
+ int get lineno => _blink.BlinkErrorEvent.instance.lineno_Getter_(unwrap_jso(this));
+
@DomName('ErrorEvent.message')
@DocsEditable()
- String get message => _blink.BlinkErrorEvent.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkErrorEvent.instance.message_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -14715,12 +14744,12 @@
@DomName('Event.bubbles')
@DocsEditable()
- bool get bubbles => _blink.BlinkEvent.instance.bubbles_Getter_(this);
-
+ bool get bubbles => _blink.BlinkEvent.instance.bubbles_Getter_(unwrap_jso(this));
+
@DomName('Event.cancelable')
@DocsEditable()
- bool get cancelable => _blink.BlinkEvent.instance.cancelable_Getter_(this);
-
+ bool get cancelable => _blink.BlinkEvent.instance.cancelable_Getter_(unwrap_jso(this));
+
/**
* Access to the system's clipboard data during copy, cut, and paste events.
*
@@ -14737,20 +14766,20 @@
@Experimental()
// Part of copy/paste
@Experimental() // nonstandard
- DataTransfer get clipboardData => _blink.BlinkEvent.instance.clipboardData_Getter_(this);
-
+ DataTransfer get clipboardData => wrap_jso(_blink.BlinkEvent.instance.clipboardData_Getter_(unwrap_jso(this)));
+
@DomName('Event.currentTarget')
@DocsEditable()
- EventTarget get currentTarget => _blink.BlinkEvent.instance.currentTarget_Getter_(this);
-
+ EventTarget get currentTarget => wrap_jso(_blink.BlinkEvent.instance.currentTarget_Getter_(unwrap_jso(this)));
+
@DomName('Event.defaultPrevented')
@DocsEditable()
- bool get defaultPrevented => _blink.BlinkEvent.instance.defaultPrevented_Getter_(this);
-
+ bool get defaultPrevented => _blink.BlinkEvent.instance.defaultPrevented_Getter_(unwrap_jso(this));
+
@DomName('Event.eventPhase')
@DocsEditable()
- int get eventPhase => _blink.BlinkEvent.instance.eventPhase_Getter_(this);
-
+ int get eventPhase => _blink.BlinkEvent.instance.eventPhase_Getter_(unwrap_jso(this));
+
/**
* This event's path, taking into account shadow DOM.
*
@@ -14764,36 +14793,36 @@
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#extensions-to-event
@Experimental()
- List<Node> get path => _blink.BlinkEvent.instance.path_Getter_(this);
-
+ List<Node> get path => wrap_jso_list(_blink.BlinkEvent.instance.path_Getter_(unwrap_jso(this)));
+
@DomName('Event.target')
@DocsEditable()
- EventTarget get target => _blink.BlinkEvent.instance.target_Getter_(this);
-
+ EventTarget get target => wrap_jso(_blink.BlinkEvent.instance.target_Getter_(unwrap_jso(this)));
+
@DomName('Event.timeStamp')
@DocsEditable()
- int get timeStamp => _blink.BlinkEvent.instance.timeStamp_Getter_(this);
-
+ int get timeStamp => _blink.BlinkEvent.instance.timeStamp_Getter_(unwrap_jso(this));
+
@DomName('Event.type')
@DocsEditable()
- String get type => _blink.BlinkEvent.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkEvent.instance.type_Getter_(unwrap_jso(this));
+
@DomName('Event.initEvent')
@DocsEditable()
- void _initEvent(String eventTypeArg, bool canBubbleArg, bool cancelableArg) => _blink.BlinkEvent.instance.initEvent_Callback_3_(this, eventTypeArg, canBubbleArg, cancelableArg);
-
+ void _initEvent(String eventTypeArg, bool canBubbleArg, bool cancelableArg) => _blink.BlinkEvent.instance.initEvent_Callback_3_(unwrap_jso(this), eventTypeArg, canBubbleArg, cancelableArg);
+
@DomName('Event.preventDefault')
@DocsEditable()
- void preventDefault() => _blink.BlinkEvent.instance.preventDefault_Callback_0_(this);
-
+ void preventDefault() => _blink.BlinkEvent.instance.preventDefault_Callback_0_(unwrap_jso(this));
+
@DomName('Event.stopImmediatePropagation')
@DocsEditable()
- void stopImmediatePropagation() => _blink.BlinkEvent.instance.stopImmediatePropagation_Callback_0_(this);
-
+ void stopImmediatePropagation() => _blink.BlinkEvent.instance.stopImmediatePropagation_Callback_0_(unwrap_jso(this));
+
@DomName('Event.stopPropagation')
@DocsEditable()
- void stopPropagation() => _blink.BlinkEvent.instance.stopPropagation_Callback_0_(this);
-
+ void stopPropagation() => _blink.BlinkEvent.instance.stopPropagation_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -14866,20 +14895,20 @@
@DomName('EventSource.readyState')
@DocsEditable()
- int get readyState => _blink.BlinkEventSource.instance.readyState_Getter_(this);
-
+ int get readyState => _blink.BlinkEventSource.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('EventSource.url')
@DocsEditable()
- String get url => _blink.BlinkEventSource.instance.url_Getter_(this);
-
+ String get url => _blink.BlinkEventSource.instance.url_Getter_(unwrap_jso(this));
+
@DomName('EventSource.withCredentials')
@DocsEditable()
- bool get withCredentials => _blink.BlinkEventSource.instance.withCredentials_Getter_(this);
-
+ bool get withCredentials => _blink.BlinkEventSource.instance.withCredentials_Getter_(unwrap_jso(this));
+
@DomName('EventSource.close')
@DocsEditable()
- void close() => _blink.BlinkEventSource.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkEventSource.instance.close_Callback_0_(unwrap_jso(this));
+
/// Stream of `error` events handled by this [EventSource].
@DomName('EventSource.onerror')
@DocsEditable()
@@ -15022,39 +15051,39 @@
void _addEventListener([String type, EventListener listener, bool useCapture]) {
if (useCapture != null) {
- _blink.BlinkEventTarget.instance.addEventListener_Callback_3_(this, type, listener, useCapture);
+ _blink.BlinkEventTarget.instance.addEventListener_Callback_3_(unwrap_jso(this), type, unwrap_jso(listener), useCapture);
return;
}
if (listener != null) {
- _blink.BlinkEventTarget.instance.addEventListener_Callback_2_(this, type, listener);
+ _blink.BlinkEventTarget.instance.addEventListener_Callback_2_(unwrap_jso(this), type, unwrap_jso(listener));
return;
}
if (type != null) {
- _blink.BlinkEventTarget.instance.addEventListener_Callback_1_(this, type);
+ _blink.BlinkEventTarget.instance.addEventListener_Callback_1_(unwrap_jso(this), type);
return;
}
- _blink.BlinkEventTarget.instance.addEventListener_Callback_0_(this);
+ _blink.BlinkEventTarget.instance.addEventListener_Callback_0_(unwrap_jso(this));
return;
}
@DomName('EventTarget.dispatchEvent')
@DocsEditable()
- bool dispatchEvent(Event event) => _blink.BlinkEventTarget.instance.dispatchEvent_Callback_1_(this, event);
-
+ bool dispatchEvent(Event event) => _blink.BlinkEventTarget.instance.dispatchEvent_Callback_1_(unwrap_jso(this), unwrap_jso(event));
+
void _removeEventListener([String type, EventListener listener, bool useCapture]) {
if (useCapture != null) {
- _blink.BlinkEventTarget.instance.removeEventListener_Callback_3_(this, type, listener, useCapture);
+ _blink.BlinkEventTarget.instance.removeEventListener_Callback_3_(unwrap_jso(this), type, unwrap_jso(listener), useCapture);
return;
}
if (listener != null) {
- _blink.BlinkEventTarget.instance.removeEventListener_Callback_2_(this, type, listener);
+ _blink.BlinkEventTarget.instance.removeEventListener_Callback_2_(unwrap_jso(this), type, unwrap_jso(listener));
return;
}
if (type != null) {
- _blink.BlinkEventTarget.instance.removeEventListener_Callback_1_(this, type);
+ _blink.BlinkEventTarget.instance.removeEventListener_Callback_1_(unwrap_jso(this), type);
return;
}
- _blink.BlinkEventTarget.instance.removeEventListener_Callback_0_(this);
+ _blink.BlinkEventTarget.instance.removeEventListener_Callback_0_(unwrap_jso(this));
return;
}
@@ -15076,8 +15105,8 @@
@DomName('ExtendableEvent.waitUntil')
@DocsEditable()
@Experimental() // untriaged
- void waitUntil(Object value) => _blink.BlinkExtendableEvent.instance.waitUntil_Callback_1_(this, value);
-
+ void waitUntil(Object value) => _blink.BlinkExtendableEvent.instance.waitUntil_Callback_1_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15102,8 +15131,8 @@
@DomName('FederatedCredential.federation')
@DocsEditable()
@Experimental() // untriaged
- String get federation => _blink.BlinkFederatedCredential.instance.federation_Getter_(this);
-
+ String get federation => _blink.BlinkFederatedCredential.instance.federation_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15122,18 +15151,18 @@
@DomName('FetchEvent.isReload')
@DocsEditable()
@Experimental() // untriaged
- bool get isReload => _blink.BlinkFetchEvent.instance.isReload_Getter_(this);
-
+ bool get isReload => _blink.BlinkFetchEvent.instance.isReload_Getter_(unwrap_jso(this));
+
@DomName('FetchEvent.request')
@DocsEditable()
@Experimental() // untriaged
- _Request get request => _blink.BlinkFetchEvent.instance.request_Getter_(this);
-
+ _Request get request => wrap_jso(_blink.BlinkFetchEvent.instance.request_Getter_(unwrap_jso(this)));
+
@DomName('FetchEvent.respondWith')
@DocsEditable()
@Experimental() // untriaged
- void respondWith(Object value) => _blink.BlinkFetchEvent.instance.respondWith_Callback_1_(this, value);
-
+ void respondWith(Object value) => _blink.BlinkFetchEvent.instance.respondWith_Callback_1_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15161,52 +15190,52 @@
@DomName('HTMLFieldSetElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLFieldSetElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLFieldSetElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLFieldSetElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLFieldSetElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLFieldSetElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFieldSetElement.elements')
@DocsEditable()
- List<Node> get elements => _blink.BlinkHTMLFieldSetElement.instance.elements_Getter_(this);
-
+ List<Node> get elements => wrap_jso_list(_blink.BlinkHTMLFieldSetElement.instance.elements_Getter_(unwrap_jso(this)));
+
@DomName('HTMLFieldSetElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLFieldSetElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLFieldSetElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLFieldSetElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLFieldSetElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLFieldSetElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLFieldSetElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLFieldSetElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLFieldSetElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFieldSetElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLFieldSetElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLFieldSetElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLFieldSetElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLFieldSetElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLFieldSetElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLFieldSetElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLFieldSetElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLFieldSetElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLFieldSetElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLFieldSetElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLFieldSetElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLFieldSetElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLFieldSetElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLFieldSetElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLFieldSetElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLFieldSetElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLFieldSetElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15224,24 +15253,24 @@
@DomName('File.lastModified')
@DocsEditable()
@Experimental() // untriaged
- int get lastModified => _blink.BlinkFile.instance.lastModified_Getter_(this);
-
+ int get lastModified => _blink.BlinkFile.instance.lastModified_Getter_(unwrap_jso(this));
+
@DomName('File.lastModifiedDate')
@DocsEditable()
- DateTime get lastModifiedDate => _blink.BlinkFile.instance.lastModifiedDate_Getter_(this);
-
+ DateTime get lastModifiedDate => _blink.BlinkFile.instance.lastModifiedDate_Getter_(unwrap_jso(this));
+
@DomName('File.name')
@DocsEditable()
- String get name => _blink.BlinkFile.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkFile.instance.name_Getter_(unwrap_jso(this));
+
@DomName('File.webkitRelativePath')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
- String get relativePath => _blink.BlinkFile.instance.webkitRelativePath_Getter_(this);
-
+ String get relativePath => _blink.BlinkFile.instance.webkitRelativePath_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15271,10 +15300,10 @@
void _createWriter(_FileWriterCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkFileEntry.instance.createWriter_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkFileEntry.instance.createWriter_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkFileEntry.instance.createWriter_Callback_1_(this, successCallback);
+ _blink.BlinkFileEntry.instance.createWriter_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
@@ -15288,10 +15317,10 @@
void _file(_FileCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkFileEntry.instance.file_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkFileEntry.instance.file_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkFileEntry.instance.file_Callback_1_(this, successCallback);
+ _blink.BlinkFileEntry.instance.file_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
@@ -15369,8 +15398,8 @@
@DomName('FileError.code')
@DocsEditable()
- int get code => _blink.BlinkFileError.instance.code_Getter_(this);
-
+ int get code => _blink.BlinkFileError.instance.code_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15387,16 +15416,16 @@
@DomName('FileList.length')
@DocsEditable()
- int get length => _blink.BlinkFileList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkFileList.instance.length_Getter_(unwrap_jso(this));
+
File operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkFileList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkFileList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- File _nativeIndexedGetter(int index) => _blink.BlinkFileList.instance.item_Callback_1_(this, index);
-
+ File _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkFileList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, File value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -15437,8 +15466,8 @@
@DomName('FileList.item')
@DocsEditable()
- File item(int index) => _blink.BlinkFileList.instance.item_Callback_1_(this, index);
-
+ File item(int index) => wrap_jso(_blink.BlinkFileList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15452,7 +15481,7 @@
@DomName('FileReader.result')
@DocsEditable()
Object get result {
- var res = _blink.BlinkFileReader.result_Getter(this);
+ var res = _blink.BlinkFileReader.result_Getter(unwrap_jso(this));
if (res is ByteBuffer) {
return new Uint8List.view(res);
}
@@ -15542,34 +15571,34 @@
@DomName('FileReader.error')
@DocsEditable()
- FileError get error => _blink.BlinkFileReader.instance.error_Getter_(this);
-
+ FileError get error => wrap_jso(_blink.BlinkFileReader.instance.error_Getter_(unwrap_jso(this)));
+
@DomName('FileReader.readyState')
@DocsEditable()
- int get readyState => _blink.BlinkFileReader.instance.readyState_Getter_(this);
-
+ int get readyState => _blink.BlinkFileReader.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('FileReader.result')
@DocsEditable()
- Object get _result => _blink.BlinkFileReader.instance.result_Getter_(this);
-
+ Object get _result => _blink.BlinkFileReader.instance.result_Getter_(unwrap_jso(this));
+
@DomName('FileReader.abort')
@DocsEditable()
- void abort() => _blink.BlinkFileReader.instance.abort_Callback_0_(this);
-
+ void abort() => _blink.BlinkFileReader.instance.abort_Callback_0_(unwrap_jso(this));
+
@DomName('FileReader.readAsArrayBuffer')
@DocsEditable()
- void readAsArrayBuffer(Blob blob) => _blink.BlinkFileReader.instance.readAsArrayBuffer_Callback_1_(this, blob);
-
+ void readAsArrayBuffer(Blob blob) => _blink.BlinkFileReader.instance.readAsArrayBuffer_Callback_1_(unwrap_jso(this), unwrap_jso(blob));
+
@DomName('FileReader.readAsDataURL')
@DocsEditable()
- void readAsDataUrl(Blob blob) => _blink.BlinkFileReader.instance.readAsDataURL_Callback_1_(this, blob);
-
+ void readAsDataUrl(Blob blob) => _blink.BlinkFileReader.instance.readAsDataURL_Callback_1_(unwrap_jso(this), unwrap_jso(blob));
+
void readAsText(Blob blob, [String encoding]) {
if (encoding != null) {
- _blink.BlinkFileReader.instance.readAsText_Callback_2_(this, blob, encoding);
+ _blink.BlinkFileReader.instance.readAsText_Callback_2_(unwrap_jso(this), unwrap_jso(blob), encoding);
return;
}
- _blink.BlinkFileReader.instance.readAsText_Callback_1_(this, blob);
+ _blink.BlinkFileReader.instance.readAsText_Callback_1_(unwrap_jso(this), unwrap_jso(blob));
return;
}
@@ -15621,8 +15650,8 @@
@DomName('Stream.type')
@DocsEditable()
@Experimental() // untriaged
- String get type => _blink.BlinkStream.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkStream.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15645,12 +15674,12 @@
@DomName('DOMFileSystem.name')
@DocsEditable()
- String get name => _blink.BlinkDOMFileSystem.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkDOMFileSystem.instance.name_Getter_(unwrap_jso(this));
+
@DomName('DOMFileSystem.root')
@DocsEditable()
- DirectoryEntry get root => _blink.BlinkDOMFileSystem.instance.root_Getter_(this);
-
+ DirectoryEntry get root => wrap_jso(_blink.BlinkDOMFileSystem.instance.root_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15752,36 +15781,36 @@
@DomName('FileWriter.error')
@DocsEditable()
- FileError get error => _blink.BlinkFileWriter.instance.error_Getter_(this);
-
+ FileError get error => wrap_jso(_blink.BlinkFileWriter.instance.error_Getter_(unwrap_jso(this)));
+
@DomName('FileWriter.length')
@DocsEditable()
- int get length => _blink.BlinkFileWriter.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkFileWriter.instance.length_Getter_(unwrap_jso(this));
+
@DomName('FileWriter.position')
@DocsEditable()
- int get position => _blink.BlinkFileWriter.instance.position_Getter_(this);
-
+ int get position => _blink.BlinkFileWriter.instance.position_Getter_(unwrap_jso(this));
+
@DomName('FileWriter.readyState')
@DocsEditable()
- int get readyState => _blink.BlinkFileWriter.instance.readyState_Getter_(this);
-
+ int get readyState => _blink.BlinkFileWriter.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('FileWriter.abort')
@DocsEditable()
- void abort() => _blink.BlinkFileWriter.instance.abort_Callback_0_(this);
-
+ void abort() => _blink.BlinkFileWriter.instance.abort_Callback_0_(unwrap_jso(this));
+
@DomName('FileWriter.seek')
@DocsEditable()
- void seek(int position) => _blink.BlinkFileWriter.instance.seek_Callback_1_(this, position);
-
+ void seek(int position) => _blink.BlinkFileWriter.instance.seek_Callback_1_(unwrap_jso(this), position);
+
@DomName('FileWriter.truncate')
@DocsEditable()
- void truncate(int size) => _blink.BlinkFileWriter.instance.truncate_Callback_1_(this, size);
-
+ void truncate(int size) => _blink.BlinkFileWriter.instance.truncate_Callback_1_(unwrap_jso(this), size);
+
@DomName('FileWriter.write')
@DocsEditable()
- void write(Blob data) => _blink.BlinkFileWriter.instance.write_Callback_1_(this, data);
-
+ void write(Blob data) => _blink.BlinkFileWriter.instance.write_Callback_1_(unwrap_jso(this), unwrap_jso(data));
+
/// Stream of `abort` events handled by this [FileWriter].
@DomName('FileWriter.onabort')
@DocsEditable()
@@ -15839,8 +15868,8 @@
@DomName('FocusEvent.relatedTarget')
@DocsEditable()
- EventTarget get relatedTarget => _blink.BlinkFocusEvent.instance.relatedTarget_Getter_(this);
-
+ EventTarget get relatedTarget => wrap_jso(_blink.BlinkFocusEvent.instance.relatedTarget_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15883,88 +15912,88 @@
@DomName('FontFace.family')
@DocsEditable()
@Experimental() // untriaged
- String get family => _blink.BlinkFontFace.instance.family_Getter_(this);
-
+ String get family => _blink.BlinkFontFace.instance.family_Getter_(unwrap_jso(this));
+
@DomName('FontFace.family')
@DocsEditable()
@Experimental() // untriaged
- void set family(String value) => _blink.BlinkFontFace.instance.family_Setter_(this, value);
-
+ void set family(String value) => _blink.BlinkFontFace.instance.family_Setter_(unwrap_jso(this), value);
+
@DomName('FontFace.featureSettings')
@DocsEditable()
@Experimental() // untriaged
- String get featureSettings => _blink.BlinkFontFace.instance.featureSettings_Getter_(this);
-
+ String get featureSettings => _blink.BlinkFontFace.instance.featureSettings_Getter_(unwrap_jso(this));
+
@DomName('FontFace.featureSettings')
@DocsEditable()
@Experimental() // untriaged
- void set featureSettings(String value) => _blink.BlinkFontFace.instance.featureSettings_Setter_(this, value);
-
+ void set featureSettings(String value) => _blink.BlinkFontFace.instance.featureSettings_Setter_(unwrap_jso(this), value);
+
@DomName('FontFace.loaded')
@DocsEditable()
@Experimental() // untriaged
- Future get loaded => _blink.BlinkFontFace.instance.loaded_Getter_(this);
-
+ Future get loaded => _blink.BlinkFontFace.instance.loaded_Getter_(unwrap_jso(this));
+
@DomName('FontFace.status')
@DocsEditable()
@Experimental() // untriaged
- String get status => _blink.BlinkFontFace.instance.status_Getter_(this);
-
+ String get status => _blink.BlinkFontFace.instance.status_Getter_(unwrap_jso(this));
+
@DomName('FontFace.stretch')
@DocsEditable()
@Experimental() // untriaged
- String get stretch => _blink.BlinkFontFace.instance.stretch_Getter_(this);
-
+ String get stretch => _blink.BlinkFontFace.instance.stretch_Getter_(unwrap_jso(this));
+
@DomName('FontFace.stretch')
@DocsEditable()
@Experimental() // untriaged
- void set stretch(String value) => _blink.BlinkFontFace.instance.stretch_Setter_(this, value);
-
+ void set stretch(String value) => _blink.BlinkFontFace.instance.stretch_Setter_(unwrap_jso(this), value);
+
@DomName('FontFace.style')
@DocsEditable()
@Experimental() // untriaged
- String get style => _blink.BlinkFontFace.instance.style_Getter_(this);
-
+ String get style => _blink.BlinkFontFace.instance.style_Getter_(unwrap_jso(this));
+
@DomName('FontFace.style')
@DocsEditable()
@Experimental() // untriaged
- void set style(String value) => _blink.BlinkFontFace.instance.style_Setter_(this, value);
-
+ void set style(String value) => _blink.BlinkFontFace.instance.style_Setter_(unwrap_jso(this), value);
+
@DomName('FontFace.unicodeRange')
@DocsEditable()
@Experimental() // untriaged
- String get unicodeRange => _blink.BlinkFontFace.instance.unicodeRange_Getter_(this);
-
+ String get unicodeRange => _blink.BlinkFontFace.instance.unicodeRange_Getter_(unwrap_jso(this));
+
@DomName('FontFace.unicodeRange')
@DocsEditable()
@Experimental() // untriaged
- void set unicodeRange(String value) => _blink.BlinkFontFace.instance.unicodeRange_Setter_(this, value);
-
+ void set unicodeRange(String value) => _blink.BlinkFontFace.instance.unicodeRange_Setter_(unwrap_jso(this), value);
+
@DomName('FontFace.variant')
@DocsEditable()
@Experimental() // untriaged
- String get variant => _blink.BlinkFontFace.instance.variant_Getter_(this);
-
+ String get variant => _blink.BlinkFontFace.instance.variant_Getter_(unwrap_jso(this));
+
@DomName('FontFace.variant')
@DocsEditable()
@Experimental() // untriaged
- void set variant(String value) => _blink.BlinkFontFace.instance.variant_Setter_(this, value);
-
+ void set variant(String value) => _blink.BlinkFontFace.instance.variant_Setter_(unwrap_jso(this), value);
+
@DomName('FontFace.weight')
@DocsEditable()
@Experimental() // untriaged
- String get weight => _blink.BlinkFontFace.instance.weight_Getter_(this);
-
+ String get weight => _blink.BlinkFontFace.instance.weight_Getter_(unwrap_jso(this));
+
@DomName('FontFace.weight')
@DocsEditable()
@Experimental() // untriaged
- void set weight(String value) => _blink.BlinkFontFace.instance.weight_Setter_(this, value);
-
+ void set weight(String value) => _blink.BlinkFontFace.instance.weight_Setter_(unwrap_jso(this), value);
+
@DomName('FontFace.load')
@DocsEditable()
@Experimental() // untriaged
- Future load() => _blink.BlinkFontFace.instance.load_Callback_0_(this);
-
+ Future load() => _blink.BlinkFontFace.instance.load_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -15983,49 +16012,49 @@
@DomName('FontFaceSet.size')
@DocsEditable()
@Experimental() // untriaged
- int get size => _blink.BlinkFontFaceSet.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkFontFaceSet.instance.size_Getter_(unwrap_jso(this));
+
@DomName('FontFaceSet.status')
@DocsEditable()
@Experimental() // untriaged
- String get status => _blink.BlinkFontFaceSet.instance.status_Getter_(this);
-
+ String get status => _blink.BlinkFontFaceSet.instance.status_Getter_(unwrap_jso(this));
+
@DomName('FontFaceSet.add')
@DocsEditable()
@Experimental() // untriaged
- void add(FontFace fontFace) => _blink.BlinkFontFaceSet.instance.add_Callback_1_(this, fontFace);
-
+ void add(FontFace fontFace) => _blink.BlinkFontFaceSet.instance.add_Callback_1_(unwrap_jso(this), unwrap_jso(fontFace));
+
bool check(String font, [String text]) {
if (text != null) {
- return _blink.BlinkFontFaceSet.instance.check_Callback_2_(this, font, text);
+ return _blink.BlinkFontFaceSet.instance.check_Callback_2_(unwrap_jso(this), font, text);
}
- return _blink.BlinkFontFaceSet.instance.check_Callback_1_(this, font);
+ return _blink.BlinkFontFaceSet.instance.check_Callback_1_(unwrap_jso(this), font);
}
@DomName('FontFaceSet.clear')
@DocsEditable()
@Experimental() // untriaged
- void clear() => _blink.BlinkFontFaceSet.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkFontFaceSet.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('FontFaceSet.delete')
@DocsEditable()
@Experimental() // untriaged
- bool delete(FontFace fontFace) => _blink.BlinkFontFaceSet.instance.delete_Callback_1_(this, fontFace);
-
+ bool delete(FontFace fontFace) => _blink.BlinkFontFaceSet.instance.delete_Callback_1_(unwrap_jso(this), unwrap_jso(fontFace));
+
void forEach(FontFaceSetForEachCallback callback, [Object thisArg]) {
if (thisArg != null) {
- _blink.BlinkFontFaceSet.instance.forEach_Callback_2_(this, callback, thisArg);
+ _blink.BlinkFontFaceSet.instance.forEach_Callback_2_(unwrap_jso(this), unwrap_jso(callback), thisArg);
return;
}
- _blink.BlinkFontFaceSet.instance.forEach_Callback_1_(this, callback);
+ _blink.BlinkFontFaceSet.instance.forEach_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
return;
}
@DomName('FontFaceSet.has')
@DocsEditable()
@Experimental() // untriaged
- bool has(FontFace fontFace) => _blink.BlinkFontFaceSet.instance.has_Callback_1_(this, fontFace);
-
+ bool has(FontFace fontFace) => _blink.BlinkFontFaceSet.instance.has_Callback_1_(unwrap_jso(this), unwrap_jso(fontFace));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16054,8 +16083,8 @@
@DomName('FontFaceSetLoadEvent.fontfaces')
@DocsEditable()
@Experimental() // untriaged
- List<FontFace> get fontfaces => _blink.BlinkFontFaceSetLoadEvent.instance.fontfaces_Getter_(this);
-
+ List<FontFace> get fontfaces => _blink.BlinkFontFaceSetLoadEvent.instance.fontfaces_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16076,7 +16105,7 @@
@DomName('FormData.FormData')
@DocsEditable()
- factory FormData([FormElement form]) => _create(form);
+ factory FormData([FormElement form]) => wrap_jso(_create(form));
@DocsEditable()
static FormData _create(form) => _blink.BlinkFormData.instance.constructorCallback_1_(form);
@@ -16086,12 +16115,12 @@
@DomName('FormData.append')
@DocsEditable()
- void append(String name, String value) => _blink.BlinkFormData.instance.append_Callback_2_(this, name, value);
-
+ void append(String name, String value) => _blink.BlinkFormData.instance.append_Callback_2_(unwrap_jso(this), name, value);
+
@DomName('FormData.appendBlob')
@DocsEditable()
- void appendBlob(String name, Blob value, [String filename]) => _blink.BlinkFormData.instance.append_Callback_3_(this, name, value, filename);
-
+ void appendBlob(String name, Blob value, [String filename]) => _blink.BlinkFormData.instance.append_Callback_3_(unwrap_jso(this), name, unwrap_jso(value), filename);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16118,112 +16147,112 @@
@DomName('HTMLFormElement.acceptCharset')
@DocsEditable()
- String get acceptCharset => _blink.BlinkHTMLFormElement.instance.acceptCharset_Getter_(this);
-
+ String get acceptCharset => _blink.BlinkHTMLFormElement.instance.acceptCharset_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.acceptCharset')
@DocsEditable()
- void set acceptCharset(String value) => _blink.BlinkHTMLFormElement.instance.acceptCharset_Setter_(this, value);
-
+ void set acceptCharset(String value) => _blink.BlinkHTMLFormElement.instance.acceptCharset_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.action')
@DocsEditable()
- String get action => _blink.BlinkHTMLFormElement.instance.action_Getter_(this);
-
+ String get action => _blink.BlinkHTMLFormElement.instance.action_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.action')
@DocsEditable()
- void set action(String value) => _blink.BlinkHTMLFormElement.instance.action_Setter_(this, value);
-
+ void set action(String value) => _blink.BlinkHTMLFormElement.instance.action_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.autocomplete')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
- String get autocomplete => _blink.BlinkHTMLFormElement.instance.autocomplete_Getter_(this);
-
+ String get autocomplete => _blink.BlinkHTMLFormElement.instance.autocomplete_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.autocomplete')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#autofilling-form-controls:-the-autocomplete-attribute
@Experimental()
- void set autocomplete(String value) => _blink.BlinkHTMLFormElement.instance.autocomplete_Setter_(this, value);
-
+ void set autocomplete(String value) => _blink.BlinkHTMLFormElement.instance.autocomplete_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.encoding')
@DocsEditable()
- String get encoding => _blink.BlinkHTMLFormElement.instance.encoding_Getter_(this);
-
+ String get encoding => _blink.BlinkHTMLFormElement.instance.encoding_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.encoding')
@DocsEditable()
- void set encoding(String value) => _blink.BlinkHTMLFormElement.instance.encoding_Setter_(this, value);
-
+ void set encoding(String value) => _blink.BlinkHTMLFormElement.instance.encoding_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.enctype')
@DocsEditable()
- String get enctype => _blink.BlinkHTMLFormElement.instance.enctype_Getter_(this);
-
+ String get enctype => _blink.BlinkHTMLFormElement.instance.enctype_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.enctype')
@DocsEditable()
- void set enctype(String value) => _blink.BlinkHTMLFormElement.instance.enctype_Setter_(this, value);
-
+ void set enctype(String value) => _blink.BlinkHTMLFormElement.instance.enctype_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.length')
@DocsEditable()
- int get length => _blink.BlinkHTMLFormElement.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkHTMLFormElement.instance.length_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.method')
@DocsEditable()
- String get method => _blink.BlinkHTMLFormElement.instance.method_Getter_(this);
-
+ String get method => _blink.BlinkHTMLFormElement.instance.method_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.method')
@DocsEditable()
- void set method(String value) => _blink.BlinkHTMLFormElement.instance.method_Setter_(this, value);
-
+ void set method(String value) => _blink.BlinkHTMLFormElement.instance.method_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLFormElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLFormElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLFormElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLFormElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.noValidate')
@DocsEditable()
- bool get noValidate => _blink.BlinkHTMLFormElement.instance.noValidate_Getter_(this);
-
+ bool get noValidate => _blink.BlinkHTMLFormElement.instance.noValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.noValidate')
@DocsEditable()
- void set noValidate(bool value) => _blink.BlinkHTMLFormElement.instance.noValidate_Setter_(this, value);
-
+ void set noValidate(bool value) => _blink.BlinkHTMLFormElement.instance.noValidate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLFormElement.target')
@DocsEditable()
- String get target => _blink.BlinkHTMLFormElement.instance.target_Getter_(this);
-
+ String get target => _blink.BlinkHTMLFormElement.instance.target_Getter_(unwrap_jso(this));
+
@DomName('HTMLFormElement.target')
@DocsEditable()
- void set target(String value) => _blink.BlinkHTMLFormElement.instance.target_Setter_(this, value);
-
+ void set target(String value) => _blink.BlinkHTMLFormElement.instance.target_Setter_(unwrap_jso(this), value);
+
Element __getter__(index_OR_name) {
if ((index_OR_name is int || index_OR_name == null)) {
- return _blink.BlinkHTMLFormElement.instance.$__getter___Callback_1_(this, index_OR_name);
+ return wrap_jso(_blink.BlinkHTMLFormElement.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name)));
}
if ((index_OR_name is String || index_OR_name == null)) {
- return _blink.BlinkHTMLFormElement.instance.$__getter___Callback_1_(this, index_OR_name);
+ return _blink.BlinkHTMLFormElement.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@DomName('HTMLFormElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLFormElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLFormElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLFormElement.requestAutocomplete')
@DocsEditable()
// http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-October/037711.html
@Experimental()
- void requestAutocomplete(Map details) => _blink.BlinkHTMLFormElement.instance.requestAutocomplete_Callback_1_(this, details);
-
+ void requestAutocomplete(Map details) => _blink.BlinkHTMLFormElement.instance.requestAutocomplete_Callback_1_(unwrap_jso(this), details);
+
@DomName('HTMLFormElement.reset')
@DocsEditable()
- void reset() => _blink.BlinkHTMLFormElement.instance.reset_Callback_0_(this);
-
+ void reset() => _blink.BlinkHTMLFormElement.instance.reset_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLFormElement.submit')
@DocsEditable()
- void submit() => _blink.BlinkHTMLFormElement.instance.submit_Callback_0_(this);
-
+ void submit() => _blink.BlinkHTMLFormElement.instance.submit_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16242,30 +16271,30 @@
@DomName('Gamepad.axes')
@DocsEditable()
- List<num> get axes => _blink.BlinkGamepad.instance.axes_Getter_(this);
-
+ List<num> get axes => _blink.BlinkGamepad.instance.axes_Getter_(unwrap_jso(this));
+
@DomName('Gamepad.connected')
@DocsEditable()
@Experimental() // untriaged
- bool get connected => _blink.BlinkGamepad.instance.connected_Getter_(this);
-
+ bool get connected => _blink.BlinkGamepad.instance.connected_Getter_(unwrap_jso(this));
+
@DomName('Gamepad.id')
@DocsEditable()
- String get id => _blink.BlinkGamepad.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkGamepad.instance.id_Getter_(unwrap_jso(this));
+
@DomName('Gamepad.index')
@DocsEditable()
- int get index => _blink.BlinkGamepad.instance.index_Getter_(this);
-
+ int get index => _blink.BlinkGamepad.instance.index_Getter_(unwrap_jso(this));
+
@DomName('Gamepad.mapping')
@DocsEditable()
@Experimental() // untriaged
- String get mapping => _blink.BlinkGamepad.instance.mapping_Getter_(this);
-
+ String get mapping => _blink.BlinkGamepad.instance.mapping_Getter_(unwrap_jso(this));
+
@DomName('Gamepad.timestamp')
@DocsEditable()
- int get timestamp => _blink.BlinkGamepad.instance.timestamp_Getter_(this);
-
+ int get timestamp => _blink.BlinkGamepad.instance.timestamp_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16284,13 +16313,13 @@
@DomName('GamepadButton.pressed')
@DocsEditable()
@Experimental() // untriaged
- bool get pressed => _blink.BlinkGamepadButton.instance.pressed_Getter_(this);
-
+ bool get pressed => _blink.BlinkGamepadButton.instance.pressed_Getter_(unwrap_jso(this));
+
@DomName('GamepadButton.value')
@DocsEditable()
@Experimental() // untriaged
- double get value => _blink.BlinkGamepadButton.instance.value_Getter_(this);
-
+ double get value => _blink.BlinkGamepadButton.instance.value_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16309,8 +16338,8 @@
@DomName('GamepadEvent.gamepad')
@DocsEditable()
@Experimental() // untriaged
- Gamepad get gamepad => _blink.BlinkGamepadEvent.instance.gamepad_Getter_(this);
-
+ Gamepad get gamepad => wrap_jso(_blink.BlinkGamepadEvent.instance.gamepad_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16329,18 +16358,18 @@
@DomName('Geofencing.getRegisteredRegions')
@DocsEditable()
@Experimental() // untriaged
- Future getRegisteredRegions() => _blink.BlinkGeofencing.instance.getRegisteredRegions_Callback_0_(this);
-
+ Future getRegisteredRegions() => _blink.BlinkGeofencing.instance.getRegisteredRegions_Callback_0_(unwrap_jso(this));
+
@DomName('Geofencing.registerRegion')
@DocsEditable()
@Experimental() // untriaged
- Future registerRegion(GeofencingRegion region) => _blink.BlinkGeofencing.instance.registerRegion_Callback_1_(this, region);
-
+ Future registerRegion(GeofencingRegion region) => _blink.BlinkGeofencing.instance.registerRegion_Callback_1_(unwrap_jso(this), unwrap_jso(region));
+
@DomName('Geofencing.unregisterRegion')
@DocsEditable()
@Experimental() // untriaged
- Future unregisterRegion(String regionId) => _blink.BlinkGeofencing.instance.unregisterRegion_Callback_1_(this, regionId);
-
+ Future unregisterRegion(String regionId) => _blink.BlinkGeofencing.instance.unregisterRegion_Callback_1_(unwrap_jso(this), regionId);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16359,8 +16388,8 @@
@DomName('GeofencingRegion.id')
@DocsEditable()
@Experimental() // untriaged
- String get id => _blink.BlinkGeofencingRegion.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkGeofencingRegion.instance.id_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -16447,29 +16476,29 @@
@DomName('Geolocation.clearWatch')
@DocsEditable()
- void _clearWatch(int watchID) => _blink.BlinkGeolocation.instance.clearWatch_Callback_1_(this, watchID);
-
+ void _clearWatch(int watchID) => _blink.BlinkGeolocation.instance.clearWatch_Callback_1_(unwrap_jso(this), watchID);
+
void _getCurrentPosition(_PositionCallback successCallback, [_PositionErrorCallback errorCallback, Map options]) {
if (options != null) {
- _blink.BlinkGeolocation.instance.getCurrentPosition_Callback_3_(this, successCallback, errorCallback, options);
+ _blink.BlinkGeolocation.instance.getCurrentPosition_Callback_3_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback), options);
return;
}
if (errorCallback != null) {
- _blink.BlinkGeolocation.instance.getCurrentPosition_Callback_2_(this, successCallback, errorCallback);
+ _blink.BlinkGeolocation.instance.getCurrentPosition_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkGeolocation.instance.getCurrentPosition_Callback_1_(this, successCallback);
+ _blink.BlinkGeolocation.instance.getCurrentPosition_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
return;
}
int _watchPosition(_PositionCallback successCallback, [_PositionErrorCallback errorCallback, Map options]) {
if (options != null) {
- return _blink.BlinkGeolocation.instance.watchPosition_Callback_3_(this, successCallback, errorCallback, options);
+ return _blink.BlinkGeolocation.instance.watchPosition_Callback_3_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback), options);
}
if (errorCallback != null) {
- return _blink.BlinkGeolocation.instance.watchPosition_Callback_2_(this, successCallback, errorCallback);
+ return _blink.BlinkGeolocation.instance.watchPosition_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(errorCallback));
}
- return _blink.BlinkGeolocation.instance.watchPosition_Callback_1_(this, successCallback);
+ return _blink.BlinkGeolocation.instance.watchPosition_Callback_1_(unwrap_jso(this), unwrap_jso(successCallback));
}
}
@@ -16489,12 +16518,12 @@
@DomName('Geoposition.coords')
@DocsEditable()
- Coordinates get coords => _blink.BlinkGeoposition.instance.coords_Getter_(this);
-
+ Coordinates get coords => wrap_jso(_blink.BlinkGeoposition.instance.coords_Getter_(unwrap_jso(this)));
+
@DomName('Geoposition.timestamp')
@DocsEditable()
- int get timestamp => _blink.BlinkGeoposition.instance.timestamp_Getter_(this);
-
+ int get timestamp => _blink.BlinkGeoposition.instance.timestamp_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -17057,13 +17086,13 @@
@DomName('HTMLHRElement.color')
@DocsEditable()
@Experimental() // untriaged
- String get color => _blink.BlinkHTMLHRElement.instance.color_Getter_(this);
-
+ String get color => _blink.BlinkHTMLHRElement.instance.color_Getter_(unwrap_jso(this));
+
@DomName('HTMLHRElement.color')
@DocsEditable()
@Experimental() // untriaged
- void set color(String value) => _blink.BlinkHTMLHRElement.instance.color_Setter_(this, value);
-
+ void set color(String value) => _blink.BlinkHTMLHRElement.instance.color_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -17092,16 +17121,16 @@
@DomName('HashChangeEvent.newURL')
@DocsEditable()
- String get newUrl => _blink.BlinkHashChangeEvent.instance.newURL_Getter_(this);
-
+ String get newUrl => _blink.BlinkHashChangeEvent.instance.newURL_Getter_(unwrap_jso(this));
+
@DomName('HashChangeEvent.oldURL')
@DocsEditable()
- String get oldUrl => _blink.BlinkHashChangeEvent.instance.oldURL_Getter_(this);
-
+ String get oldUrl => _blink.BlinkHashChangeEvent.instance.oldURL_Getter_(unwrap_jso(this));
+
@DomName('HashChangeEvent.initHashChangeEvent')
@DocsEditable()
- void _initHashChangeEvent(String type, bool canBubble, bool cancelable, String oldURL, String newURL) => _blink.BlinkHashChangeEvent.instance.initHashChangeEvent_Callback_5_(this, type, canBubble, cancelable, oldURL, newURL);
-
+ void _initHashChangeEvent(String type, bool canBubble, bool cancelable, String oldURL, String newURL) => _blink.BlinkHashChangeEvent.instance.initHashChangeEvent_Callback_5_(unwrap_jso(this), type, canBubble, cancelable, oldURL, newURL);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -17159,14 +17188,14 @@
@DomName('Headers.size')
@DocsEditable()
@Experimental() // untriaged
- int get size => _blink.BlinkHeaders.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkHeaders.instance.size_Getter_(unwrap_jso(this));
+
void forEach(HeadersForEachCallback callback, [Object thisArg]) {
if (thisArg != null) {
- _blink.BlinkHeaders.instance.forEach_Callback_2_(this, callback, thisArg);
+ _blink.BlinkHeaders.instance.forEach_Callback_2_(unwrap_jso(this), unwrap_jso(callback), thisArg);
return;
}
- _blink.BlinkHeaders.instance.forEach_Callback_1_(this, callback);
+ _blink.BlinkHeaders.instance.forEach_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
return;
}
@@ -17248,40 +17277,40 @@
@DomName('History.length')
@DocsEditable()
- int get length => _blink.BlinkHistory.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkHistory.instance.length_Getter_(unwrap_jso(this));
+
@DomName('History.state')
@DocsEditable()
- dynamic get state => _blink.BlinkHistory.instance.state_Getter_(this);
-
+ dynamic get state => _blink.BlinkHistory.instance.state_Getter_(unwrap_jso(this));
+
@DomName('History.back')
@DocsEditable()
- void back() => _blink.BlinkHistory.instance.back_Callback_0_(this);
-
+ void back() => _blink.BlinkHistory.instance.back_Callback_0_(unwrap_jso(this));
+
@DomName('History.forward')
@DocsEditable()
- void forward() => _blink.BlinkHistory.instance.forward_Callback_0_(this);
-
+ void forward() => _blink.BlinkHistory.instance.forward_Callback_0_(unwrap_jso(this));
+
@DomName('History.go')
@DocsEditable()
- void go(int distance) => _blink.BlinkHistory.instance.go_Callback_1_(this, distance);
-
+ void go(int distance) => _blink.BlinkHistory.instance.go_Callback_1_(unwrap_jso(this), distance);
+
@DomName('History.pushState')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
- void pushState(Object data, String title, [String url]) => _blink.BlinkHistory.instance.pushState_Callback_3_(this, data, title, url);
-
+ void pushState(Object data, String title, [String url]) => _blink.BlinkHistory.instance.pushState_Callback_3_(unwrap_jso(this), data, title, url);
+
@DomName('History.replaceState')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
- void replaceState(Object data, String title, [String url]) => _blink.BlinkHistory.instance.replaceState_Callback_3_(this, data, title, url);
-}
+ void replaceState(Object data, String title, [String url]) => _blink.BlinkHistory.instance.replaceState_Callback_3_(unwrap_jso(this), data, title, url);
+ }
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -17297,16 +17326,16 @@
@DomName('HTMLCollection.length')
@DocsEditable()
- int get length => _blink.BlinkHTMLCollection.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkHTMLCollection.instance.length_Getter_(unwrap_jso(this));
+
Node operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkHTMLCollection.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkHTMLCollection.instance.item_Callback_1_(unwrap_jso(this), index));
}
- Node _nativeIndexedGetter(int index) => _blink.BlinkHTMLCollection.instance.item_Callback_1_(this, index);
-
+ Node _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkHTMLCollection.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, Node value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -17347,12 +17376,12 @@
@DomName('HTMLCollection.item')
@DocsEditable()
- Element item(int index) => _blink.BlinkHTMLCollection.instance.item_Callback_1_(this, index);
-
+ Element item(int index) => wrap_jso(_blink.BlinkHTMLCollection.instance.item_Callback_1_(unwrap_jso(this), index));
+
@DomName('HTMLCollection.namedItem')
@DocsEditable()
- Element namedItem(String name) => _blink.BlinkHTMLCollection.instance.namedItem_Callback_1_(this, name);
-
+ Element namedItem(String name) => wrap_jso(_blink.BlinkHTMLCollection.instance.namedItem_Callback_1_(unwrap_jso(this), name));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -17904,119 +17933,119 @@
@DomName('HTMLElement.contentEditable')
@DocsEditable()
- String get contentEditable => _blink.BlinkHTMLElement.instance.contentEditable_Getter_(this);
-
+ String get contentEditable => _blink.BlinkHTMLElement.instance.contentEditable_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.contentEditable')
@DocsEditable()
- void set contentEditable(String value) => _blink.BlinkHTMLElement.instance.contentEditable_Setter_(this, value);
-
+ void set contentEditable(String value) => _blink.BlinkHTMLElement.instance.contentEditable_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.contextMenu')
@DocsEditable()
@Experimental() // untriaged
- MenuElement get contextMenu => _blink.BlinkHTMLElement.instance.contextMenu_Getter_(this);
-
+ MenuElement get contextMenu => wrap_jso(_blink.BlinkHTMLElement.instance.contextMenu_Getter_(unwrap_jso(this)));
+
@DomName('HTMLElement.contextMenu')
@DocsEditable()
@Experimental() // untriaged
- void set contextMenu(MenuElement value) => _blink.BlinkHTMLElement.instance.contextMenu_Setter_(this, value);
-
+ void set contextMenu(MenuElement value) => _blink.BlinkHTMLElement.instance.contextMenu_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('HTMLElement.dir')
@DocsEditable()
- String get dir => _blink.BlinkHTMLElement.instance.dir_Getter_(this);
-
+ String get dir => _blink.BlinkHTMLElement.instance.dir_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.dir')
@DocsEditable()
- void set dir(String value) => _blink.BlinkHTMLElement.instance.dir_Setter_(this, value);
-
+ void set dir(String value) => _blink.BlinkHTMLElement.instance.dir_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.draggable')
@DocsEditable()
- bool get draggable => _blink.BlinkHTMLElement.instance.draggable_Getter_(this);
-
+ bool get draggable => _blink.BlinkHTMLElement.instance.draggable_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.draggable')
@DocsEditable()
- void set draggable(bool value) => _blink.BlinkHTMLElement.instance.draggable_Setter_(this, value);
-
+ void set draggable(bool value) => _blink.BlinkHTMLElement.instance.draggable_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.hidden')
@DocsEditable()
- bool get hidden => _blink.BlinkHTMLElement.instance.hidden_Getter_(this);
-
+ bool get hidden => _blink.BlinkHTMLElement.instance.hidden_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.hidden')
@DocsEditable()
- void set hidden(bool value) => _blink.BlinkHTMLElement.instance.hidden_Setter_(this, value);
-
+ void set hidden(bool value) => _blink.BlinkHTMLElement.instance.hidden_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.inputMethodContext')
@DocsEditable()
@Experimental() // untriaged
- InputMethodContext get inputMethodContext => _blink.BlinkHTMLElement.instance.inputMethodContext_Getter_(this);
-
+ InputMethodContext get inputMethodContext => wrap_jso(_blink.BlinkHTMLElement.instance.inputMethodContext_Getter_(unwrap_jso(this)));
+
@DomName('HTMLElement.isContentEditable')
@DocsEditable()
- bool get isContentEditable => _blink.BlinkHTMLElement.instance.isContentEditable_Getter_(this);
-
+ bool get isContentEditable => _blink.BlinkHTMLElement.instance.isContentEditable_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.lang')
@DocsEditable()
- String get lang => _blink.BlinkHTMLElement.instance.lang_Getter_(this);
-
+ String get lang => _blink.BlinkHTMLElement.instance.lang_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.lang')
@DocsEditable()
- void set lang(String value) => _blink.BlinkHTMLElement.instance.lang_Setter_(this, value);
-
+ void set lang(String value) => _blink.BlinkHTMLElement.instance.lang_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.spellcheck')
@DocsEditable()
// http://blog.whatwg.org/the-road-to-html-5-spellchecking
@Experimental() // nonstandard
- bool get spellcheck => _blink.BlinkHTMLElement.instance.spellcheck_Getter_(this);
-
+ bool get spellcheck => _blink.BlinkHTMLElement.instance.spellcheck_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.spellcheck')
@DocsEditable()
// http://blog.whatwg.org/the-road-to-html-5-spellchecking
@Experimental() // nonstandard
- void set spellcheck(bool value) => _blink.BlinkHTMLElement.instance.spellcheck_Setter_(this, value);
-
+ void set spellcheck(bool value) => _blink.BlinkHTMLElement.instance.spellcheck_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.tabIndex')
@DocsEditable()
- int get tabIndex => _blink.BlinkHTMLElement.instance.tabIndex_Getter_(this);
-
+ int get tabIndex => _blink.BlinkHTMLElement.instance.tabIndex_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.tabIndex')
@DocsEditable()
- void set tabIndex(int value) => _blink.BlinkHTMLElement.instance.tabIndex_Setter_(this, value);
-
+ void set tabIndex(int value) => _blink.BlinkHTMLElement.instance.tabIndex_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.title')
@DocsEditable()
- String get title => _blink.BlinkHTMLElement.instance.title_Getter_(this);
-
+ String get title => _blink.BlinkHTMLElement.instance.title_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.title')
@DocsEditable()
- void set title(String value) => _blink.BlinkHTMLElement.instance.title_Setter_(this, value);
-
+ void set title(String value) => _blink.BlinkHTMLElement.instance.title_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.translate')
@DocsEditable()
- bool get translate => _blink.BlinkHTMLElement.instance.translate_Getter_(this);
-
+ bool get translate => _blink.BlinkHTMLElement.instance.translate_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.translate')
@DocsEditable()
- void set translate(bool value) => _blink.BlinkHTMLElement.instance.translate_Setter_(this, value);
-
+ void set translate(bool value) => _blink.BlinkHTMLElement.instance.translate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.webkitdropzone')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute
- String get dropzone => _blink.BlinkHTMLElement.instance.webkitdropzone_Getter_(this);
-
+ String get dropzone => _blink.BlinkHTMLElement.instance.webkitdropzone_Getter_(unwrap_jso(this));
+
@DomName('HTMLElement.webkitdropzone')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-dropzone-attribute
- void set dropzone(String value) => _blink.BlinkHTMLElement.instance.webkitdropzone_Setter_(this, value);
-
+ void set dropzone(String value) => _blink.BlinkHTMLElement.instance.webkitdropzone_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLElement.click')
@DocsEditable()
- void click() => _blink.BlinkHTMLElement.instance.click_Callback_0_(this);
-
+ void click() => _blink.BlinkHTMLElement.instance.click_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLElement.onabort')
@DocsEditable()
@Experimental() // untriaged
@@ -18293,8 +18322,8 @@
@DomName('HTMLFormControlsCollection.namedItem')
@DocsEditable()
- Object namedItem(String name) => _blink.BlinkHTMLFormControlsCollection.instance.namedItem_Callback_1_(this, name);
-
+ Object namedItem(String name) => wrap_jso(_blink.BlinkHTMLFormControlsCollection.instance.namedItem_Callback_1_(unwrap_jso(this), name));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -18701,7 +18730,7 @@
*/
@DomName('XMLHttpRequest.XMLHttpRequest')
@DocsEditable()
- factory HttpRequest() => _create();
+ factory HttpRequest() => wrap_jso(_create());
@DocsEditable()
static HttpRequest _create() => _blink.BlinkXMLHttpRequest.instance.constructorCallback_0_();
@@ -18760,8 +18789,8 @@
*/
@DomName('XMLHttpRequest.readyState')
@DocsEditable()
- int get readyState => _blink.BlinkXMLHttpRequest.instance.readyState_Getter_(this);
-
+ int get readyState => _blink.BlinkXMLHttpRequest.instance.readyState_Getter_(unwrap_jso(this));
+
/**
* The data received as a reponse from the request.
*
@@ -18775,15 +18804,15 @@
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE, '10')
@SupportedBrowser(SupportedBrowser.SAFARI)
- Object get response => _blink.BlinkXMLHttpRequest.instance.response_Getter_(this);
-
+ Object get response => _blink.BlinkXMLHttpRequest.instance.response_Getter_(unwrap_jso(this));
+
/**
* The response in String form or empty String on failure.
*/
@DomName('XMLHttpRequest.responseText')
@DocsEditable()
- String get responseText => _blink.BlinkXMLHttpRequest.instance.responseText_Getter_(this);
-
+ String get responseText => _blink.BlinkXMLHttpRequest.instance.responseText_Getter_(unwrap_jso(this));
+
/**
* [String] telling the server the desired response format.
*
@@ -18796,8 +18825,8 @@
*/
@DomName('XMLHttpRequest.responseType')
@DocsEditable()
- String get responseType => _blink.BlinkXMLHttpRequest.instance.responseType_Getter_(this);
-
+ String get responseType => _blink.BlinkXMLHttpRequest.instance.responseType_Getter_(unwrap_jso(this));
+
/**
* [String] telling the server the desired response format.
*
@@ -18810,13 +18839,13 @@
*/
@DomName('XMLHttpRequest.responseType')
@DocsEditable()
- void set responseType(String value) => _blink.BlinkXMLHttpRequest.instance.responseType_Setter_(this, value);
-
+ void set responseType(String value) => _blink.BlinkXMLHttpRequest.instance.responseType_Setter_(unwrap_jso(this), value);
+
@DomName('XMLHttpRequest.responseURL')
@DocsEditable()
@Experimental() // untriaged
- String get responseUrl => _blink.BlinkXMLHttpRequest.instance.responseURL_Getter_(this);
-
+ String get responseUrl => _blink.BlinkXMLHttpRequest.instance.responseURL_Getter_(unwrap_jso(this));
+
/**
* The request response, or null on failure.
*
@@ -18826,24 +18855,24 @@
*/
@DomName('XMLHttpRequest.responseXML')
@DocsEditable()
- Document get responseXml => _blink.BlinkXMLHttpRequest.instance.responseXML_Getter_(this);
-
+ Document get responseXml => wrap_jso(_blink.BlinkXMLHttpRequest.instance.responseXML_Getter_(unwrap_jso(this)));
+
/**
* The http result code from the request (200, 404, etc).
* See also: [Http Status Codes](http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
*/
@DomName('XMLHttpRequest.status')
@DocsEditable()
- int get status => _blink.BlinkXMLHttpRequest.instance.status_Getter_(this);
-
+ int get status => _blink.BlinkXMLHttpRequest.instance.status_Getter_(unwrap_jso(this));
+
/**
* The request response string (such as \"200 OK\").
* See also: [Http Status Codes](http://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
*/
@DomName('XMLHttpRequest.statusText')
@DocsEditable()
- String get statusText => _blink.BlinkXMLHttpRequest.instance.statusText_Getter_(this);
-
+ String get statusText => _blink.BlinkXMLHttpRequest.instance.statusText_Getter_(unwrap_jso(this));
+
/**
* Length of time before a request is automatically terminated.
*
@@ -18863,8 +18892,8 @@
@DomName('XMLHttpRequest.timeout')
@DocsEditable()
@Experimental() // untriaged
- int get timeout => _blink.BlinkXMLHttpRequest.instance.timeout_Getter_(this);
-
+ int get timeout => _blink.BlinkXMLHttpRequest.instance.timeout_Getter_(unwrap_jso(this));
+
/**
* Length of time before a request is automatically terminated.
*
@@ -18884,8 +18913,8 @@
@DomName('XMLHttpRequest.timeout')
@DocsEditable()
@Experimental() // untriaged
- void set timeout(int value) => _blink.BlinkXMLHttpRequest.instance.timeout_Setter_(this, value);
-
+ void set timeout(int value) => _blink.BlinkXMLHttpRequest.instance.timeout_Setter_(unwrap_jso(this), value);
+
/**
* [EventTarget] that can hold listeners to track the progress of the request.
* The events fired will be members of [HttpRequestUploadEvents].
@@ -18893,8 +18922,8 @@
@DomName('XMLHttpRequest.upload')
@DocsEditable()
@Unstable()
- HttpRequestUpload get upload => _blink.BlinkXMLHttpRequest.instance.upload_Getter_(this);
-
+ HttpRequestUpload get upload => wrap_jso(_blink.BlinkXMLHttpRequest.instance.upload_Getter_(unwrap_jso(this)));
+
/**
* True if cross-site requests should use credentials such as cookies
* or authorization headers; false otherwise.
@@ -18903,8 +18932,8 @@
*/
@DomName('XMLHttpRequest.withCredentials')
@DocsEditable()
- bool get withCredentials => _blink.BlinkXMLHttpRequest.instance.withCredentials_Getter_(this);
-
+ bool get withCredentials => _blink.BlinkXMLHttpRequest.instance.withCredentials_Getter_(unwrap_jso(this));
+
/**
* True if cross-site requests should use credentials such as cookies
* or authorization headers; false otherwise.
@@ -18913,8 +18942,8 @@
*/
@DomName('XMLHttpRequest.withCredentials')
@DocsEditable()
- void set withCredentials(bool value) => _blink.BlinkXMLHttpRequest.instance.withCredentials_Setter_(this, value);
-
+ void set withCredentials(bool value) => _blink.BlinkXMLHttpRequest.instance.withCredentials_Setter_(unwrap_jso(this), value);
+
/**
* Stop the current request.
*
@@ -18924,8 +18953,8 @@
*/
@DomName('XMLHttpRequest.abort')
@DocsEditable()
- void abort() => _blink.BlinkXMLHttpRequest.instance.abort_Callback_0_(this);
-
+ void abort() => _blink.BlinkXMLHttpRequest.instance.abort_Callback_0_(unwrap_jso(this));
+
/**
* Retrieve all the response headers from a request.
*
@@ -18939,8 +18968,8 @@
@DomName('XMLHttpRequest.getAllResponseHeaders')
@DocsEditable()
@Unstable()
- String getAllResponseHeaders() => _blink.BlinkXMLHttpRequest.instance.getAllResponseHeaders_Callback_0_(this);
-
+ String getAllResponseHeaders() => _blink.BlinkXMLHttpRequest.instance.getAllResponseHeaders_Callback_0_(unwrap_jso(this));
+
/**
* Return the response header named `header`, or null if not found.
*
@@ -18950,8 +18979,8 @@
@DomName('XMLHttpRequest.getResponseHeader')
@DocsEditable()
@Unstable()
- String getResponseHeader(String header) => _blink.BlinkXMLHttpRequest.instance.getResponseHeader_Callback_1_(this, header);
-
+ String getResponseHeader(String header) => _blink.BlinkXMLHttpRequest.instance.getResponseHeader_Callback_1_(unwrap_jso(this), header);
+
/**
* Specify the desired `url`, and `method` to use in making the request.
*
@@ -18969,8 +18998,8 @@
*/
@DomName('XMLHttpRequest.open')
@DocsEditable()
- void open(String method, String url, {bool async, String user, String password}) => _blink.BlinkXMLHttpRequest.instance.open_Callback_5_(this, method, url, async, user, password);
-
+ void open(String method, String url, {bool async, String user, String password}) => _blink.BlinkXMLHttpRequest.instance.open_Callback_5_(unwrap_jso(this), method, url, async, user, password);
+
/**
* Specify a particular MIME type (such as `text/xml`) desired for the
* response.
@@ -18983,8 +19012,8 @@
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.SAFARI)
- void overrideMimeType(String override) => _blink.BlinkXMLHttpRequest.instance.overrideMimeType_Callback_1_(this, override);
-
+ void overrideMimeType(String override) => _blink.BlinkXMLHttpRequest.instance.overrideMimeType_Callback_1_(unwrap_jso(this), override);
+
/**
* Send the request with any given `data`.
*
@@ -19001,8 +19030,8 @@
*/
@DomName('XMLHttpRequest.send')
@DocsEditable()
- void send([data]) => _blink.BlinkXMLHttpRequest.instance.send_Callback_1_(this, data);
-
+ void send([data]) => _blink.BlinkXMLHttpRequest.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
+
/**
* Sets the value of an HTTP requst header.
*
@@ -19023,8 +19052,8 @@
*/
@DomName('XMLHttpRequest.setRequestHeader')
@DocsEditable()
- void setRequestHeader(String header, String value) => _blink.BlinkXMLHttpRequest.instance.setRequestHeader_Callback_2_(this, header, value);
-
+ void setRequestHeader(String header, String value) => _blink.BlinkXMLHttpRequest.instance.setRequestHeader_Callback_2_(unwrap_jso(this), header, value);
+
/// Stream of `readystatechange` events handled by this [HttpRequest].
/**
* Event listeners to be notified every time the [HttpRequest]
@@ -19219,75 +19248,75 @@
@DomName('HTMLIFrameElement.allowFullscreen')
@DocsEditable()
@Experimental() // untriaged
- bool get allowFullscreen => _blink.BlinkHTMLIFrameElement.instance.allowFullscreen_Getter_(this);
-
+ bool get allowFullscreen => _blink.BlinkHTMLIFrameElement.instance.allowFullscreen_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.allowFullscreen')
@DocsEditable()
@Experimental() // untriaged
- void set allowFullscreen(bool value) => _blink.BlinkHTMLIFrameElement.instance.allowFullscreen_Setter_(this, value);
-
+ void set allowFullscreen(bool value) => _blink.BlinkHTMLIFrameElement.instance.allowFullscreen_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLIFrameElement.contentWindow')
@DocsEditable()
- WindowBase get contentWindow => _blink.BlinkHTMLIFrameElement.instance.contentWindow_Getter_(this);
-
+ WindowBase get contentWindow => wrap_jso(_blink.BlinkHTMLIFrameElement.instance.contentWindow_Getter_(unwrap_jso(this)));
+
@DomName('HTMLIFrameElement.height')
@DocsEditable()
- String get height => _blink.BlinkHTMLIFrameElement.instance.height_Getter_(this);
-
+ String get height => _blink.BlinkHTMLIFrameElement.instance.height_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.height')
@DocsEditable()
- void set height(String value) => _blink.BlinkHTMLIFrameElement.instance.height_Setter_(this, value);
-
+ void set height(String value) => _blink.BlinkHTMLIFrameElement.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLIFrameElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLIFrameElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLIFrameElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLIFrameElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLIFrameElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLIFrameElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLIFrameElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLIFrameElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLIFrameElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLIFrameElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLIFrameElement.sandbox')
@DocsEditable()
- String get sandbox => _blink.BlinkHTMLIFrameElement.instance.sandbox_Getter_(this);
-
+ String get sandbox => _blink.BlinkHTMLIFrameElement.instance.sandbox_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.sandbox')
@DocsEditable()
- void set sandbox(String value) => _blink.BlinkHTMLIFrameElement.instance.sandbox_Setter_(this, value);
-
+ void set sandbox(String value) => _blink.BlinkHTMLIFrameElement.instance.sandbox_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLIFrameElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLIFrameElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLIFrameElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLIFrameElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLIFrameElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLIFrameElement.srcdoc')
@DocsEditable()
- String get srcdoc => _blink.BlinkHTMLIFrameElement.instance.srcdoc_Getter_(this);
-
+ String get srcdoc => _blink.BlinkHTMLIFrameElement.instance.srcdoc_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.srcdoc')
@DocsEditable()
- void set srcdoc(String value) => _blink.BlinkHTMLIFrameElement.instance.srcdoc_Setter_(this, value);
-
+ void set srcdoc(String value) => _blink.BlinkHTMLIFrameElement.instance.srcdoc_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLIFrameElement.width')
@DocsEditable()
- String get width => _blink.BlinkHTMLIFrameElement.instance.width_Getter_(this);
-
+ String get width => _blink.BlinkHTMLIFrameElement.instance.width_Getter_(unwrap_jso(this));
+
@DomName('HTMLIFrameElement.width')
@DocsEditable()
- void set width(String value) => _blink.BlinkHTMLIFrameElement.instance.width_Setter_(this, value);
-
+ void set width(String value) => _blink.BlinkHTMLIFrameElement.instance.width_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -19306,13 +19335,13 @@
@DomName('ImageBitmap.height')
@DocsEditable()
@Experimental() // untriaged
- int get height => _blink.BlinkImageBitmap.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkImageBitmap.instance.height_Getter_(unwrap_jso(this));
+
@DomName('ImageBitmap.width')
@DocsEditable()
@Experimental() // untriaged
- int get width => _blink.BlinkImageBitmap.instance.width_Getter_(this);
-
+ int get width => _blink.BlinkImageBitmap.instance.width_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -19346,16 +19375,16 @@
@DomName('ImageData.data')
@DocsEditable()
- Uint8ClampedList get _data => _blink.BlinkImageData.instance.data_Getter_(this);
-
+ Uint8ClampedList get _data => wrap_jso(_blink.BlinkImageData.instance.data_Getter_(unwrap_jso(this)));
+
@DomName('ImageData.height')
@DocsEditable()
- int get height => _blink.BlinkImageData.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkImageData.instance.height_Getter_(unwrap_jso(this));
+
@DomName('ImageData.width')
@DocsEditable()
- int get width => _blink.BlinkImageData.instance.width_Getter_(this);
-
+ int get width => _blink.BlinkImageData.instance.width_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -19385,107 +19414,107 @@
@DomName('HTMLImageElement.alt')
@DocsEditable()
- String get alt => _blink.BlinkHTMLImageElement.instance.alt_Getter_(this);
-
+ String get alt => _blink.BlinkHTMLImageElement.instance.alt_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.alt')
@DocsEditable()
- void set alt(String value) => _blink.BlinkHTMLImageElement.instance.alt_Setter_(this, value);
-
+ void set alt(String value) => _blink.BlinkHTMLImageElement.instance.alt_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.complete')
@DocsEditable()
- bool get complete => _blink.BlinkHTMLImageElement.instance.complete_Getter_(this);
-
+ bool get complete => _blink.BlinkHTMLImageElement.instance.complete_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.crossOrigin')
@DocsEditable()
- String get crossOrigin => _blink.BlinkHTMLImageElement.instance.crossOrigin_Getter_(this);
-
+ String get crossOrigin => _blink.BlinkHTMLImageElement.instance.crossOrigin_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.crossOrigin')
@DocsEditable()
- void set crossOrigin(String value) => _blink.BlinkHTMLImageElement.instance.crossOrigin_Setter_(this, value);
-
+ void set crossOrigin(String value) => _blink.BlinkHTMLImageElement.instance.crossOrigin_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.currentSrc')
@DocsEditable()
@Experimental() // untriaged
- String get currentSrc => _blink.BlinkHTMLImageElement.instance.currentSrc_Getter_(this);
-
+ String get currentSrc => _blink.BlinkHTMLImageElement.instance.currentSrc_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.height')
@DocsEditable()
- int get height => _blink.BlinkHTMLImageElement.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkHTMLImageElement.instance.height_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.height')
@DocsEditable()
- void set height(int value) => _blink.BlinkHTMLImageElement.instance.height_Setter_(this, value);
-
+ void set height(int value) => _blink.BlinkHTMLImageElement.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLImageElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLImageElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLImageElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLImageElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.isMap')
@DocsEditable()
- bool get isMap => _blink.BlinkHTMLImageElement.instance.isMap_Getter_(this);
-
+ bool get isMap => _blink.BlinkHTMLImageElement.instance.isMap_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.isMap')
@DocsEditable()
- void set isMap(bool value) => _blink.BlinkHTMLImageElement.instance.isMap_Setter_(this, value);
-
+ void set isMap(bool value) => _blink.BlinkHTMLImageElement.instance.isMap_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.naturalHeight')
@DocsEditable()
- int get naturalHeight => _blink.BlinkHTMLImageElement.instance.naturalHeight_Getter_(this);
-
+ int get naturalHeight => _blink.BlinkHTMLImageElement.instance.naturalHeight_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.naturalWidth')
@DocsEditable()
- int get naturalWidth => _blink.BlinkHTMLImageElement.instance.naturalWidth_Getter_(this);
-
+ int get naturalWidth => _blink.BlinkHTMLImageElement.instance.naturalWidth_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.sizes')
@DocsEditable()
@Experimental() // untriaged
- String get sizes => _blink.BlinkHTMLImageElement.instance.sizes_Getter_(this);
-
+ String get sizes => _blink.BlinkHTMLImageElement.instance.sizes_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.sizes')
@DocsEditable()
@Experimental() // untriaged
- void set sizes(String value) => _blink.BlinkHTMLImageElement.instance.sizes_Setter_(this, value);
-
+ void set sizes(String value) => _blink.BlinkHTMLImageElement.instance.sizes_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLImageElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLImageElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLImageElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLImageElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.srcset')
@DocsEditable()
@Experimental() // untriaged
- String get srcset => _blink.BlinkHTMLImageElement.instance.srcset_Getter_(this);
-
+ String get srcset => _blink.BlinkHTMLImageElement.instance.srcset_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.srcset')
@DocsEditable()
@Experimental() // untriaged
- void set srcset(String value) => _blink.BlinkHTMLImageElement.instance.srcset_Setter_(this, value);
-
+ void set srcset(String value) => _blink.BlinkHTMLImageElement.instance.srcset_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.useMap')
@DocsEditable()
- String get useMap => _blink.BlinkHTMLImageElement.instance.useMap_Getter_(this);
-
+ String get useMap => _blink.BlinkHTMLImageElement.instance.useMap_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.useMap')
@DocsEditable()
- void set useMap(String value) => _blink.BlinkHTMLImageElement.instance.useMap_Setter_(this, value);
-
+ void set useMap(String value) => _blink.BlinkHTMLImageElement.instance.useMap_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLImageElement.width')
@DocsEditable()
- int get width => _blink.BlinkHTMLImageElement.instance.width_Getter_(this);
-
+ int get width => _blink.BlinkHTMLImageElement.instance.width_Getter_(unwrap_jso(this));
+
@DomName('HTMLImageElement.width')
@DocsEditable()
- void set width(int value) => _blink.BlinkHTMLImageElement.instance.width_Setter_(this, value);
-
+ void set width(int value) => _blink.BlinkHTMLImageElement.instance.width_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -19504,8 +19533,8 @@
@DomName('InjectedScriptHost.inspect')
@DocsEditable()
@Experimental() // untriaged
- void inspect(Object objectId, Object hints) => _blink.BlinkInjectedScriptHost.instance.inspect_Callback_2_(this, objectId, hints);
-
+ void inspect(Object objectId, Object hints) => _blink.BlinkInjectedScriptHost.instance.inspect_Callback_2_(unwrap_jso(this), objectId, hints);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -19558,403 +19587,403 @@
@DomName('HTMLInputElement.accept')
@DocsEditable()
- String get accept => _blink.BlinkHTMLInputElement.instance.accept_Getter_(this);
-
+ String get accept => _blink.BlinkHTMLInputElement.instance.accept_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.accept')
@DocsEditable()
- void set accept(String value) => _blink.BlinkHTMLInputElement.instance.accept_Setter_(this, value);
-
+ void set accept(String value) => _blink.BlinkHTMLInputElement.instance.accept_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.alt')
@DocsEditable()
- String get alt => _blink.BlinkHTMLInputElement.instance.alt_Getter_(this);
-
+ String get alt => _blink.BlinkHTMLInputElement.instance.alt_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.alt')
@DocsEditable()
- void set alt(String value) => _blink.BlinkHTMLInputElement.instance.alt_Setter_(this, value);
-
+ void set alt(String value) => _blink.BlinkHTMLInputElement.instance.alt_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.autocomplete')
@DocsEditable()
- String get autocomplete => _blink.BlinkHTMLInputElement.instance.autocomplete_Getter_(this);
-
+ String get autocomplete => _blink.BlinkHTMLInputElement.instance.autocomplete_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.autocomplete')
@DocsEditable()
- void set autocomplete(String value) => _blink.BlinkHTMLInputElement.instance.autocomplete_Setter_(this, value);
-
+ void set autocomplete(String value) => _blink.BlinkHTMLInputElement.instance.autocomplete_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.autofocus')
@DocsEditable()
- bool get autofocus => _blink.BlinkHTMLInputElement.instance.autofocus_Getter_(this);
-
+ bool get autofocus => _blink.BlinkHTMLInputElement.instance.autofocus_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.autofocus')
@DocsEditable()
- void set autofocus(bool value) => _blink.BlinkHTMLInputElement.instance.autofocus_Setter_(this, value);
-
+ void set autofocus(bool value) => _blink.BlinkHTMLInputElement.instance.autofocus_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.capture')
@DocsEditable()
@Experimental() // untriaged
- bool get capture => _blink.BlinkHTMLInputElement.instance.capture_Getter_(this);
-
+ bool get capture => _blink.BlinkHTMLInputElement.instance.capture_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.capture')
@DocsEditable()
@Experimental() // untriaged
- void set capture(bool value) => _blink.BlinkHTMLInputElement.instance.capture_Setter_(this, value);
-
+ void set capture(bool value) => _blink.BlinkHTMLInputElement.instance.capture_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.checked')
@DocsEditable()
- bool get checked => _blink.BlinkHTMLInputElement.instance.checked_Getter_(this);
-
+ bool get checked => _blink.BlinkHTMLInputElement.instance.checked_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.checked')
@DocsEditable()
- void set checked(bool value) => _blink.BlinkHTMLInputElement.instance.checked_Setter_(this, value);
-
+ void set checked(bool value) => _blink.BlinkHTMLInputElement.instance.checked_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.defaultChecked')
@DocsEditable()
- bool get defaultChecked => _blink.BlinkHTMLInputElement.instance.defaultChecked_Getter_(this);
-
+ bool get defaultChecked => _blink.BlinkHTMLInputElement.instance.defaultChecked_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.defaultChecked')
@DocsEditable()
- void set defaultChecked(bool value) => _blink.BlinkHTMLInputElement.instance.defaultChecked_Setter_(this, value);
-
+ void set defaultChecked(bool value) => _blink.BlinkHTMLInputElement.instance.defaultChecked_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.defaultValue')
@DocsEditable()
- String get defaultValue => _blink.BlinkHTMLInputElement.instance.defaultValue_Getter_(this);
-
+ String get defaultValue => _blink.BlinkHTMLInputElement.instance.defaultValue_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.defaultValue')
@DocsEditable()
- void set defaultValue(String value) => _blink.BlinkHTMLInputElement.instance.defaultValue_Setter_(this, value);
-
+ void set defaultValue(String value) => _blink.BlinkHTMLInputElement.instance.defaultValue_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.dirName')
@DocsEditable()
- String get dirName => _blink.BlinkHTMLInputElement.instance.dirName_Getter_(this);
-
+ String get dirName => _blink.BlinkHTMLInputElement.instance.dirName_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.dirName')
@DocsEditable()
- void set dirName(String value) => _blink.BlinkHTMLInputElement.instance.dirName_Setter_(this, value);
-
+ void set dirName(String value) => _blink.BlinkHTMLInputElement.instance.dirName_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLInputElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLInputElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLInputElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLInputElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.files')
@DocsEditable()
- List<File> get files => _blink.BlinkHTMLInputElement.instance.files_Getter_(this);
-
+ List<File> get files => wrap_jso_list(_blink.BlinkHTMLInputElement.instance.files_Getter_(unwrap_jso(this)));
+
@DomName('HTMLInputElement.files')
@DocsEditable()
- void set files(List<File> value) => _blink.BlinkHTMLInputElement.instance.files_Setter_(this, value);
-
+ void set files(List<File> value) => _blink.BlinkHTMLInputElement.instance.files_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('HTMLInputElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLInputElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLInputElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLInputElement.formAction')
@DocsEditable()
- String get formAction => _blink.BlinkHTMLInputElement.instance.formAction_Getter_(this);
-
+ String get formAction => _blink.BlinkHTMLInputElement.instance.formAction_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.formAction')
@DocsEditable()
- void set formAction(String value) => _blink.BlinkHTMLInputElement.instance.formAction_Setter_(this, value);
-
+ void set formAction(String value) => _blink.BlinkHTMLInputElement.instance.formAction_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.formEnctype')
@DocsEditable()
- String get formEnctype => _blink.BlinkHTMLInputElement.instance.formEnctype_Getter_(this);
-
+ String get formEnctype => _blink.BlinkHTMLInputElement.instance.formEnctype_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.formEnctype')
@DocsEditable()
- void set formEnctype(String value) => _blink.BlinkHTMLInputElement.instance.formEnctype_Setter_(this, value);
-
+ void set formEnctype(String value) => _blink.BlinkHTMLInputElement.instance.formEnctype_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.formMethod')
@DocsEditable()
- String get formMethod => _blink.BlinkHTMLInputElement.instance.formMethod_Getter_(this);
-
+ String get formMethod => _blink.BlinkHTMLInputElement.instance.formMethod_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.formMethod')
@DocsEditable()
- void set formMethod(String value) => _blink.BlinkHTMLInputElement.instance.formMethod_Setter_(this, value);
-
+ void set formMethod(String value) => _blink.BlinkHTMLInputElement.instance.formMethod_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.formNoValidate')
@DocsEditable()
- bool get formNoValidate => _blink.BlinkHTMLInputElement.instance.formNoValidate_Getter_(this);
-
+ bool get formNoValidate => _blink.BlinkHTMLInputElement.instance.formNoValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.formNoValidate')
@DocsEditable()
- void set formNoValidate(bool value) => _blink.BlinkHTMLInputElement.instance.formNoValidate_Setter_(this, value);
-
+ void set formNoValidate(bool value) => _blink.BlinkHTMLInputElement.instance.formNoValidate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.formTarget')
@DocsEditable()
- String get formTarget => _blink.BlinkHTMLInputElement.instance.formTarget_Getter_(this);
-
+ String get formTarget => _blink.BlinkHTMLInputElement.instance.formTarget_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.formTarget')
@DocsEditable()
- void set formTarget(String value) => _blink.BlinkHTMLInputElement.instance.formTarget_Setter_(this, value);
-
+ void set formTarget(String value) => _blink.BlinkHTMLInputElement.instance.formTarget_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.height')
@DocsEditable()
- int get height => _blink.BlinkHTMLInputElement.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkHTMLInputElement.instance.height_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.height')
@DocsEditable()
- void set height(int value) => _blink.BlinkHTMLInputElement.instance.height_Setter_(this, value);
-
+ void set height(int value) => _blink.BlinkHTMLInputElement.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.incremental')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
- bool get incremental => _blink.BlinkHTMLInputElement.instance.incremental_Getter_(this);
-
+ bool get incremental => _blink.BlinkHTMLInputElement.instance.incremental_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.incremental')
@DocsEditable()
// http://www.w3.org/TR/html-markup/input.search.html
@Experimental()
- void set incremental(bool value) => _blink.BlinkHTMLInputElement.instance.incremental_Setter_(this, value);
-
+ void set incremental(bool value) => _blink.BlinkHTMLInputElement.instance.incremental_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.indeterminate')
@DocsEditable()
- bool get indeterminate => _blink.BlinkHTMLInputElement.instance.indeterminate_Getter_(this);
-
+ bool get indeterminate => _blink.BlinkHTMLInputElement.instance.indeterminate_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.indeterminate')
@DocsEditable()
- void set indeterminate(bool value) => _blink.BlinkHTMLInputElement.instance.indeterminate_Setter_(this, value);
-
+ void set indeterminate(bool value) => _blink.BlinkHTMLInputElement.instance.indeterminate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
- String get inputMode => _blink.BlinkHTMLInputElement.instance.inputMode_Getter_(this);
-
+ String get inputMode => _blink.BlinkHTMLInputElement.instance.inputMode_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
- void set inputMode(String value) => _blink.BlinkHTMLInputElement.instance.inputMode_Setter_(this, value);
-
+ void set inputMode(String value) => _blink.BlinkHTMLInputElement.instance.inputMode_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.labels')
@DocsEditable()
- List<Node> get labels => _blink.BlinkHTMLInputElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLInputElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLInputElement.list')
@DocsEditable()
- HtmlElement get list => _blink.BlinkHTMLInputElement.instance.list_Getter_(this);
-
+ HtmlElement get list => wrap_jso(_blink.BlinkHTMLInputElement.instance.list_Getter_(unwrap_jso(this)));
+
@DomName('HTMLInputElement.max')
@DocsEditable()
- String get max => _blink.BlinkHTMLInputElement.instance.max_Getter_(this);
-
+ String get max => _blink.BlinkHTMLInputElement.instance.max_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.max')
@DocsEditable()
- void set max(String value) => _blink.BlinkHTMLInputElement.instance.max_Setter_(this, value);
-
+ void set max(String value) => _blink.BlinkHTMLInputElement.instance.max_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.maxLength')
@DocsEditable()
- int get maxLength => _blink.BlinkHTMLInputElement.instance.maxLength_Getter_(this);
-
+ int get maxLength => _blink.BlinkHTMLInputElement.instance.maxLength_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.maxLength')
@DocsEditable()
- void set maxLength(int value) => _blink.BlinkHTMLInputElement.instance.maxLength_Setter_(this, value);
-
+ void set maxLength(int value) => _blink.BlinkHTMLInputElement.instance.maxLength_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.min')
@DocsEditable()
- String get min => _blink.BlinkHTMLInputElement.instance.min_Getter_(this);
-
+ String get min => _blink.BlinkHTMLInputElement.instance.min_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.min')
@DocsEditable()
- void set min(String value) => _blink.BlinkHTMLInputElement.instance.min_Setter_(this, value);
-
+ void set min(String value) => _blink.BlinkHTMLInputElement.instance.min_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.multiple')
@DocsEditable()
- bool get multiple => _blink.BlinkHTMLInputElement.instance.multiple_Getter_(this);
-
+ bool get multiple => _blink.BlinkHTMLInputElement.instance.multiple_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.multiple')
@DocsEditable()
- void set multiple(bool value) => _blink.BlinkHTMLInputElement.instance.multiple_Setter_(this, value);
-
+ void set multiple(bool value) => _blink.BlinkHTMLInputElement.instance.multiple_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLInputElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLInputElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLInputElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLInputElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.pattern')
@DocsEditable()
- String get pattern => _blink.BlinkHTMLInputElement.instance.pattern_Getter_(this);
-
+ String get pattern => _blink.BlinkHTMLInputElement.instance.pattern_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.pattern')
@DocsEditable()
- void set pattern(String value) => _blink.BlinkHTMLInputElement.instance.pattern_Setter_(this, value);
-
+ void set pattern(String value) => _blink.BlinkHTMLInputElement.instance.pattern_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.placeholder')
@DocsEditable()
- String get placeholder => _blink.BlinkHTMLInputElement.instance.placeholder_Getter_(this);
-
+ String get placeholder => _blink.BlinkHTMLInputElement.instance.placeholder_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.placeholder')
@DocsEditable()
- void set placeholder(String value) => _blink.BlinkHTMLInputElement.instance.placeholder_Setter_(this, value);
-
+ void set placeholder(String value) => _blink.BlinkHTMLInputElement.instance.placeholder_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.readOnly')
@DocsEditable()
- bool get readOnly => _blink.BlinkHTMLInputElement.instance.readOnly_Getter_(this);
-
+ bool get readOnly => _blink.BlinkHTMLInputElement.instance.readOnly_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.readOnly')
@DocsEditable()
- void set readOnly(bool value) => _blink.BlinkHTMLInputElement.instance.readOnly_Setter_(this, value);
-
+ void set readOnly(bool value) => _blink.BlinkHTMLInputElement.instance.readOnly_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.required')
@DocsEditable()
- bool get required => _blink.BlinkHTMLInputElement.instance.required_Getter_(this);
-
+ bool get required => _blink.BlinkHTMLInputElement.instance.required_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.required')
@DocsEditable()
- void set required(bool value) => _blink.BlinkHTMLInputElement.instance.required_Setter_(this, value);
-
+ void set required(bool value) => _blink.BlinkHTMLInputElement.instance.required_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.selectionDirection')
@DocsEditable()
- String get selectionDirection => _blink.BlinkHTMLInputElement.instance.selectionDirection_Getter_(this);
-
+ String get selectionDirection => _blink.BlinkHTMLInputElement.instance.selectionDirection_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.selectionDirection')
@DocsEditable()
- void set selectionDirection(String value) => _blink.BlinkHTMLInputElement.instance.selectionDirection_Setter_(this, value);
-
+ void set selectionDirection(String value) => _blink.BlinkHTMLInputElement.instance.selectionDirection_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.selectionEnd')
@DocsEditable()
- int get selectionEnd => _blink.BlinkHTMLInputElement.instance.selectionEnd_Getter_(this);
-
+ int get selectionEnd => _blink.BlinkHTMLInputElement.instance.selectionEnd_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.selectionEnd')
@DocsEditable()
- void set selectionEnd(int value) => _blink.BlinkHTMLInputElement.instance.selectionEnd_Setter_(this, value);
-
+ void set selectionEnd(int value) => _blink.BlinkHTMLInputElement.instance.selectionEnd_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.selectionStart')
@DocsEditable()
- int get selectionStart => _blink.BlinkHTMLInputElement.instance.selectionStart_Getter_(this);
-
+ int get selectionStart => _blink.BlinkHTMLInputElement.instance.selectionStart_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.selectionStart')
@DocsEditable()
- void set selectionStart(int value) => _blink.BlinkHTMLInputElement.instance.selectionStart_Setter_(this, value);
-
+ void set selectionStart(int value) => _blink.BlinkHTMLInputElement.instance.selectionStart_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.size')
@DocsEditable()
- int get size => _blink.BlinkHTMLInputElement.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkHTMLInputElement.instance.size_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.size')
@DocsEditable()
- void set size(int value) => _blink.BlinkHTMLInputElement.instance.size_Setter_(this, value);
-
+ void set size(int value) => _blink.BlinkHTMLInputElement.instance.size_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLInputElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLInputElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLInputElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLInputElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.step')
@DocsEditable()
- String get step => _blink.BlinkHTMLInputElement.instance.step_Getter_(this);
-
+ String get step => _blink.BlinkHTMLInputElement.instance.step_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.step')
@DocsEditable()
- void set step(String value) => _blink.BlinkHTMLInputElement.instance.step_Setter_(this, value);
-
+ void set step(String value) => _blink.BlinkHTMLInputElement.instance.step_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLInputElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLInputElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLInputElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLInputElement.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLInputElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLInputElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLInputElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLInputElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLInputElement.value')
@DocsEditable()
- String get value => _blink.BlinkHTMLInputElement.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkHTMLInputElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkHTMLInputElement.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkHTMLInputElement.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.valueAsDate')
@DocsEditable()
- DateTime get valueAsDate => _blink.BlinkHTMLInputElement.instance.valueAsDate_Getter_(this);
-
+ DateTime get valueAsDate => _blink.BlinkHTMLInputElement.instance.valueAsDate_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.valueAsDate')
@DocsEditable()
- void set valueAsDate(DateTime value) => _blink.BlinkHTMLInputElement.instance.valueAsDate_Setter_(this, value);
-
+ void set valueAsDate(DateTime value) => _blink.BlinkHTMLInputElement.instance.valueAsDate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.valueAsNumber')
@DocsEditable()
- num get valueAsNumber => _blink.BlinkHTMLInputElement.instance.valueAsNumber_Getter_(this);
-
+ num get valueAsNumber => _blink.BlinkHTMLInputElement.instance.valueAsNumber_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.valueAsNumber')
@DocsEditable()
- void set valueAsNumber(num value) => _blink.BlinkHTMLInputElement.instance.valueAsNumber_Setter_(this, value);
-
+ void set valueAsNumber(num value) => _blink.BlinkHTMLInputElement.instance.valueAsNumber_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.webkitEntries')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#concept-input-type-file-selected
- List<Entry> get entries => _blink.BlinkHTMLInputElement.instance.webkitEntries_Getter_(this);
-
+ List<Entry> get entries => _blink.BlinkHTMLInputElement.instance.webkitEntries_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.webkitdirectory')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
- bool get directory => _blink.BlinkHTMLInputElement.instance.webkitdirectory_Getter_(this);
-
+ bool get directory => _blink.BlinkHTMLInputElement.instance.webkitdirectory_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.webkitdirectory')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://plus.sandbox.google.com/+AddyOsmani/posts/Dk5UhZ6zfF3
- void set directory(bool value) => _blink.BlinkHTMLInputElement.instance.webkitdirectory_Setter_(this, value);
-
+ void set directory(bool value) => _blink.BlinkHTMLInputElement.instance.webkitdirectory_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.width')
@DocsEditable()
- int get width => _blink.BlinkHTMLInputElement.instance.width_Getter_(this);
-
+ int get width => _blink.BlinkHTMLInputElement.instance.width_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.width')
@DocsEditable()
- void set width(int value) => _blink.BlinkHTMLInputElement.instance.width_Setter_(this, value);
-
+ void set width(int value) => _blink.BlinkHTMLInputElement.instance.width_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLInputElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLInputElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLInputElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLInputElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLInputElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLInputElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLInputElement.select')
@DocsEditable()
- void select() => _blink.BlinkHTMLInputElement.instance.select_Callback_0_(this);
-
+ void select() => _blink.BlinkHTMLInputElement.instance.select_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLInputElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLInputElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLInputElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
void setRangeText(String replacement, {int start, int end, String selectionMode}) {
if ((replacement is String || replacement == null) && start == null && end == null && selectionMode == null) {
- _blink.BlinkHTMLInputElement.instance.setRangeText_Callback_1_(this, replacement);
+ _blink.BlinkHTMLInputElement.instance.setRangeText_Callback_1_(unwrap_jso(this), replacement);
return;
}
if ((end is int || end == null) && (start is int || start == null) && (replacement is String || replacement == null) && selectionMode == null) {
- _blink.BlinkHTMLInputElement.instance.setRangeText_Callback_3_(this, replacement, start, end);
+ _blink.BlinkHTMLInputElement.instance.setRangeText_Callback_3_(unwrap_jso(this), replacement, start, end);
return;
}
if ((selectionMode is String || selectionMode == null) && (end is int || end == null) && (start is int || start == null) && (replacement is String || replacement == null)) {
- _blink.BlinkHTMLInputElement.instance.setRangeText_Callback_4_(this, replacement, start, end, selectionMode);
+ _blink.BlinkHTMLInputElement.instance.setRangeText_Callback_4_(unwrap_jso(this), replacement, start, end, selectionMode);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -19962,28 +19991,28 @@
void setSelectionRange(int start, int end, [String direction]) {
if (direction != null) {
- _blink.BlinkHTMLInputElement.instance.setSelectionRange_Callback_3_(this, start, end, direction);
+ _blink.BlinkHTMLInputElement.instance.setSelectionRange_Callback_3_(unwrap_jso(this), start, end, direction);
return;
}
- _blink.BlinkHTMLInputElement.instance.setSelectionRange_Callback_2_(this, start, end);
+ _blink.BlinkHTMLInputElement.instance.setSelectionRange_Callback_2_(unwrap_jso(this), start, end);
return;
}
void stepDown([int n]) {
if (n != null) {
- _blink.BlinkHTMLInputElement.instance.stepDown_Callback_1_(this, n);
+ _blink.BlinkHTMLInputElement.instance.stepDown_Callback_1_(unwrap_jso(this), n);
return;
}
- _blink.BlinkHTMLInputElement.instance.stepDown_Callback_0_(this);
+ _blink.BlinkHTMLInputElement.instance.stepDown_Callback_0_(unwrap_jso(this));
return;
}
void stepUp([int n]) {
if (n != null) {
- _blink.BlinkHTMLInputElement.instance.stepUp_Callback_1_(this, n);
+ _blink.BlinkHTMLInputElement.instance.stepUp_Callback_1_(unwrap_jso(this), n);
return;
}
- _blink.BlinkHTMLInputElement.instance.stepUp_Callback_0_(this);
+ _blink.BlinkHTMLInputElement.instance.stepUp_Callback_0_(unwrap_jso(this));
return;
}
@@ -20561,26 +20590,26 @@
@DomName('InputMethodContext.compositionEndOffset')
@DocsEditable()
@Experimental() // untriaged
- int get compositionEndOffset => _blink.BlinkInputMethodContext.instance.compositionEndOffset_Getter_(this);
-
+ int get compositionEndOffset => _blink.BlinkInputMethodContext.instance.compositionEndOffset_Getter_(unwrap_jso(this));
+
@DomName('InputMethodContext.compositionStartOffset')
@DocsEditable()
@Experimental() // untriaged
- int get compositionStartOffset => _blink.BlinkInputMethodContext.instance.compositionStartOffset_Getter_(this);
-
+ int get compositionStartOffset => _blink.BlinkInputMethodContext.instance.compositionStartOffset_Getter_(unwrap_jso(this));
+
@DomName('InputMethodContext.locale')
@DocsEditable()
- String get locale => _blink.BlinkInputMethodContext.instance.locale_Getter_(this);
-
+ String get locale => _blink.BlinkInputMethodContext.instance.locale_Getter_(unwrap_jso(this));
+
@DomName('InputMethodContext.target')
@DocsEditable()
@Experimental() // untriaged
- HtmlElement get target => _blink.BlinkInputMethodContext.instance.target_Getter_(this);
-
+ HtmlElement get target => wrap_jso(_blink.BlinkInputMethodContext.instance.target_Getter_(unwrap_jso(this)));
+
@DomName('InputMethodContext.confirmComposition')
@DocsEditable()
- void confirmComposition() => _blink.BlinkInputMethodContext.instance.confirmComposition_Callback_0_(this);
-
+ void confirmComposition() => _blink.BlinkInputMethodContext.instance.confirmComposition_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -20599,13 +20628,13 @@
@DomName('InstallEvent.reloadAll')
@DocsEditable()
@Experimental() // untriaged
- Future reloadAll() => _blink.BlinkInstallEvent.instance.reloadAll_Callback_0_(this);
-
+ Future reloadAll() => _blink.BlinkInstallEvent.instance.reloadAll_Callback_0_(unwrap_jso(this));
+
@DomName('InstallEvent.replace')
@DocsEditable()
@Experimental() // untriaged
- void replace() => _blink.BlinkInstallEvent.instance.replace_Callback_0_(this);
-
+ void replace() => _blink.BlinkInstallEvent.instance.replace_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -20658,49 +20687,49 @@
@DomName('KeyboardEvent.altKey')
@DocsEditable()
- bool get altKey => _blink.BlinkKeyboardEvent.instance.altKey_Getter_(this);
-
+ bool get altKey => _blink.BlinkKeyboardEvent.instance.altKey_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.ctrlKey')
@DocsEditable()
- bool get ctrlKey => _blink.BlinkKeyboardEvent.instance.ctrlKey_Getter_(this);
-
+ bool get ctrlKey => _blink.BlinkKeyboardEvent.instance.ctrlKey_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.keyIdentifier')
@DocsEditable()
@Experimental() // nonstandard
- String get _keyIdentifier => _blink.BlinkKeyboardEvent.instance.keyIdentifier_Getter_(this);
-
+ String get _keyIdentifier => _blink.BlinkKeyboardEvent.instance.keyIdentifier_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.keyLocation')
@DocsEditable()
@Experimental() // nonstandard
- int get keyLocation => _blink.BlinkKeyboardEvent.instance.keyLocation_Getter_(this);
-
+ int get keyLocation => _blink.BlinkKeyboardEvent.instance.keyLocation_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.location')
@DocsEditable()
@Experimental() // untriaged
- int get location => _blink.BlinkKeyboardEvent.instance.location_Getter_(this);
-
+ int get location => _blink.BlinkKeyboardEvent.instance.location_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.metaKey')
@DocsEditable()
- bool get metaKey => _blink.BlinkKeyboardEvent.instance.metaKey_Getter_(this);
-
+ bool get metaKey => _blink.BlinkKeyboardEvent.instance.metaKey_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.repeat')
@DocsEditable()
@Experimental() // untriaged
- bool get repeat => _blink.BlinkKeyboardEvent.instance.repeat_Getter_(this);
-
+ bool get repeat => _blink.BlinkKeyboardEvent.instance.repeat_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.shiftKey')
@DocsEditable()
- bool get shiftKey => _blink.BlinkKeyboardEvent.instance.shiftKey_Getter_(this);
-
+ bool get shiftKey => _blink.BlinkKeyboardEvent.instance.shiftKey_Getter_(unwrap_jso(this));
+
@DomName('KeyboardEvent.getModifierState')
@DocsEditable()
@Experimental() // untriaged
- bool getModifierState(String keyArgument) => _blink.BlinkKeyboardEvent.instance.getModifierState_Callback_1_(this, keyArgument);
-
+ bool getModifierState(String keyArgument) => _blink.BlinkKeyboardEvent.instance.getModifierState_Callback_1_(unwrap_jso(this), keyArgument);
+
@DomName('KeyboardEvent.initKeyboardEvent')
@DocsEditable()
- void _initKeyboardEvent(String type, bool canBubble, bool cancelable, Window view, String keyIdentifier, int location, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) => _blink.BlinkKeyboardEvent.instance.initKeyboardEvent_Callback_10_(this, type, canBubble, cancelable, view, keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey);
-
+ void _initKeyboardEvent(String type, bool canBubble, bool cancelable, Window view, String keyIdentifier, int location, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) => _blink.BlinkKeyboardEvent.instance.initKeyboardEvent_Callback_10_(unwrap_jso(this), type, canBubble, cancelable, unwrap_jso(view), keyIdentifier, location, ctrlKey, altKey, shiftKey, metaKey);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -20734,77 +20763,77 @@
@DomName('HTMLKeygenElement.autofocus')
@DocsEditable()
- bool get autofocus => _blink.BlinkHTMLKeygenElement.instance.autofocus_Getter_(this);
-
+ bool get autofocus => _blink.BlinkHTMLKeygenElement.instance.autofocus_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.autofocus')
@DocsEditable()
- void set autofocus(bool value) => _blink.BlinkHTMLKeygenElement.instance.autofocus_Setter_(this, value);
-
+ void set autofocus(bool value) => _blink.BlinkHTMLKeygenElement.instance.autofocus_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLKeygenElement.challenge')
@DocsEditable()
- String get challenge => _blink.BlinkHTMLKeygenElement.instance.challenge_Getter_(this);
-
+ String get challenge => _blink.BlinkHTMLKeygenElement.instance.challenge_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.challenge')
@DocsEditable()
- void set challenge(String value) => _blink.BlinkHTMLKeygenElement.instance.challenge_Setter_(this, value);
-
+ void set challenge(String value) => _blink.BlinkHTMLKeygenElement.instance.challenge_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLKeygenElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLKeygenElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLKeygenElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLKeygenElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLKeygenElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLKeygenElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLKeygenElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLKeygenElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLKeygenElement.keytype')
@DocsEditable()
- String get keytype => _blink.BlinkHTMLKeygenElement.instance.keytype_Getter_(this);
-
+ String get keytype => _blink.BlinkHTMLKeygenElement.instance.keytype_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.keytype')
@DocsEditable()
- void set keytype(String value) => _blink.BlinkHTMLKeygenElement.instance.keytype_Setter_(this, value);
-
+ void set keytype(String value) => _blink.BlinkHTMLKeygenElement.instance.keytype_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLKeygenElement.labels')
@DocsEditable()
@Unstable()
- List<Node> get labels => _blink.BlinkHTMLKeygenElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLKeygenElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLKeygenElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLKeygenElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLKeygenElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLKeygenElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLKeygenElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLKeygenElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLKeygenElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLKeygenElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLKeygenElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLKeygenElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLKeygenElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLKeygenElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLKeygenElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLKeygenElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLKeygenElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLKeygenElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLKeygenElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLKeygenElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLKeygenElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLKeygenElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -20831,12 +20860,12 @@
@DomName('HTMLLIElement.value')
@DocsEditable()
- int get value => _blink.BlinkHTMLLIElement.instance.value_Getter_(this);
-
+ int get value => _blink.BlinkHTMLLIElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLLIElement.value')
@DocsEditable()
- void set value(int value) => _blink.BlinkHTMLLIElement.instance.value_Setter_(this, value);
-
+ void set value(int value) => _blink.BlinkHTMLLIElement.instance.value_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -20863,20 +20892,20 @@
@DomName('HTMLLabelElement.control')
@DocsEditable()
- HtmlElement get control => _blink.BlinkHTMLLabelElement.instance.control_Getter_(this);
-
+ HtmlElement get control => wrap_jso(_blink.BlinkHTMLLabelElement.instance.control_Getter_(unwrap_jso(this)));
+
@DomName('HTMLLabelElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLLabelElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLLabelElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLLabelElement.htmlFor')
@DocsEditable()
- String get htmlFor => _blink.BlinkHTMLLabelElement.instance.htmlFor_Getter_(this);
-
+ String get htmlFor => _blink.BlinkHTMLLabelElement.instance.htmlFor_Getter_(unwrap_jso(this));
+
@DomName('HTMLLabelElement.htmlFor')
@DocsEditable()
- void set htmlFor(String value) => _blink.BlinkHTMLLabelElement.instance.htmlFor_Setter_(this, value);
-
+ void set htmlFor(String value) => _blink.BlinkHTMLLabelElement.instance.htmlFor_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -20903,8 +20932,8 @@
@DomName('HTMLLegendElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLLegendElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLLegendElement.instance.form_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -20930,85 +20959,85 @@
@DomName('HTMLLinkElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
- String get crossOrigin => _blink.BlinkHTMLLinkElement.instance.crossOrigin_Getter_(this);
-
+ String get crossOrigin => _blink.BlinkHTMLLinkElement.instance.crossOrigin_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
- void set crossOrigin(String value) => _blink.BlinkHTMLLinkElement.instance.crossOrigin_Setter_(this, value);
-
+ void set crossOrigin(String value) => _blink.BlinkHTMLLinkElement.instance.crossOrigin_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLLinkElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLLinkElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLLinkElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLLinkElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLLinkElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLLinkElement.href')
@DocsEditable()
- String get href => _blink.BlinkHTMLLinkElement.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkHTMLLinkElement.instance.href_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.href')
@DocsEditable()
- void set href(String value) => _blink.BlinkHTMLLinkElement.instance.href_Setter_(this, value);
-
+ void set href(String value) => _blink.BlinkHTMLLinkElement.instance.href_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLLinkElement.hreflang')
@DocsEditable()
- String get hreflang => _blink.BlinkHTMLLinkElement.instance.hreflang_Getter_(this);
-
+ String get hreflang => _blink.BlinkHTMLLinkElement.instance.hreflang_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.hreflang')
@DocsEditable()
- void set hreflang(String value) => _blink.BlinkHTMLLinkElement.instance.hreflang_Setter_(this, value);
-
+ void set hreflang(String value) => _blink.BlinkHTMLLinkElement.instance.hreflang_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLLinkElement.import')
@DocsEditable()
// https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/imports/index.html#interface-import
@Experimental()
- Document get import => _blink.BlinkHTMLLinkElement.instance.import_Getter_(this);
-
+ Document get import => wrap_jso(_blink.BlinkHTMLLinkElement.instance.import_Getter_(unwrap_jso(this)));
+
@DomName('HTMLLinkElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLLinkElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLLinkElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLLinkElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLLinkElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLLinkElement.media')
@DocsEditable()
- String get media => _blink.BlinkHTMLLinkElement.instance.media_Getter_(this);
-
+ String get media => _blink.BlinkHTMLLinkElement.instance.media_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.media')
@DocsEditable()
- void set media(String value) => _blink.BlinkHTMLLinkElement.instance.media_Setter_(this, value);
-
+ void set media(String value) => _blink.BlinkHTMLLinkElement.instance.media_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLLinkElement.rel')
@DocsEditable()
- String get rel => _blink.BlinkHTMLLinkElement.instance.rel_Getter_(this);
-
+ String get rel => _blink.BlinkHTMLLinkElement.instance.rel_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.rel')
@DocsEditable()
- void set rel(String value) => _blink.BlinkHTMLLinkElement.instance.rel_Setter_(this, value);
-
+ void set rel(String value) => _blink.BlinkHTMLLinkElement.instance.rel_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLLinkElement.sheet')
@DocsEditable()
- StyleSheet get sheet => _blink.BlinkHTMLLinkElement.instance.sheet_Getter_(this);
-
+ StyleSheet get sheet => wrap_jso(_blink.BlinkHTMLLinkElement.instance.sheet_Getter_(unwrap_jso(this)));
+
@DomName('HTMLLinkElement.sizes')
@DocsEditable()
- DomSettableTokenList get sizes => _blink.BlinkHTMLLinkElement.instance.sizes_Getter_(this);
-
+ DomSettableTokenList get sizes => wrap_jso(_blink.BlinkHTMLLinkElement.instance.sizes_Getter_(unwrap_jso(this)));
+
@DomName('HTMLLinkElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLLinkElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLLinkElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLLinkElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLLinkElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLLinkElement.instance.type_Setter_(unwrap_jso(this), value);
+
/// Checks if HTML imports are supported on the current platform.
bool get supportsImport {
@@ -21038,8 +21067,8 @@
@DomName('LocalCredential.password')
@DocsEditable()
@Experimental() // untriaged
- String get password => _blink.BlinkLocalCredential.instance.password_Getter_(this);
-
+ String get password => _blink.BlinkLocalCredential.instance.password_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21055,94 +21084,94 @@
@DomName('Location.ancestorOrigins')
@DocsEditable()
@Experimental() // nonstandard
- List<String> get ancestorOrigins => _blink.BlinkLocation.instance.ancestorOrigins_Getter_(this);
-
+ List<String> get ancestorOrigins => _blink.BlinkLocation.instance.ancestorOrigins_Getter_(unwrap_jso(this));
+
@DomName('Location.hash')
@DocsEditable()
- String get hash => _blink.BlinkLocation.instance.hash_Getter_(this);
-
+ String get hash => _blink.BlinkLocation.instance.hash_Getter_(unwrap_jso(this));
+
@DomName('Location.hash')
@DocsEditable()
- void set hash(String value) => _blink.BlinkLocation.instance.hash_Setter_(this, value);
-
+ void set hash(String value) => _blink.BlinkLocation.instance.hash_Setter_(unwrap_jso(this), value);
+
@DomName('Location.host')
@DocsEditable()
- String get host => _blink.BlinkLocation.instance.host_Getter_(this);
-
+ String get host => _blink.BlinkLocation.instance.host_Getter_(unwrap_jso(this));
+
@DomName('Location.host')
@DocsEditable()
- void set host(String value) => _blink.BlinkLocation.instance.host_Setter_(this, value);
-
+ void set host(String value) => _blink.BlinkLocation.instance.host_Setter_(unwrap_jso(this), value);
+
@DomName('Location.hostname')
@DocsEditable()
- String get hostname => _blink.BlinkLocation.instance.hostname_Getter_(this);
-
+ String get hostname => _blink.BlinkLocation.instance.hostname_Getter_(unwrap_jso(this));
+
@DomName('Location.hostname')
@DocsEditable()
- void set hostname(String value) => _blink.BlinkLocation.instance.hostname_Setter_(this, value);
-
+ void set hostname(String value) => _blink.BlinkLocation.instance.hostname_Setter_(unwrap_jso(this), value);
+
@DomName('Location.href')
@DocsEditable()
- String get href => _blink.BlinkLocation.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkLocation.instance.href_Getter_(unwrap_jso(this));
+
@DomName('Location.href')
@DocsEditable()
- void set href(String value) => _blink.BlinkLocation.instance.href_Setter_(this, value);
-
+ void set href(String value) => _blink.BlinkLocation.instance.href_Setter_(unwrap_jso(this), value);
+
@DomName('Location.origin')
@DocsEditable()
// http://url.spec.whatwg.org/#urlutils Webkit Only
@Experimental() // non-standard
- String get origin => _blink.BlinkLocation.instance.origin_Getter_(this);
-
+ String get origin => _blink.BlinkLocation.instance.origin_Getter_(unwrap_jso(this));
+
@DomName('Location.pathname')
@DocsEditable()
- String get pathname => _blink.BlinkLocation.instance.pathname_Getter_(this);
-
+ String get pathname => _blink.BlinkLocation.instance.pathname_Getter_(unwrap_jso(this));
+
@DomName('Location.pathname')
@DocsEditable()
- void set pathname(String value) => _blink.BlinkLocation.instance.pathname_Setter_(this, value);
-
+ void set pathname(String value) => _blink.BlinkLocation.instance.pathname_Setter_(unwrap_jso(this), value);
+
@DomName('Location.port')
@DocsEditable()
- String get port => _blink.BlinkLocation.instance.port_Getter_(this);
-
+ String get port => _blink.BlinkLocation.instance.port_Getter_(unwrap_jso(this));
+
@DomName('Location.port')
@DocsEditable()
- void set port(String value) => _blink.BlinkLocation.instance.port_Setter_(this, value);
-
+ void set port(String value) => _blink.BlinkLocation.instance.port_Setter_(unwrap_jso(this), value);
+
@DomName('Location.protocol')
@DocsEditable()
- String get protocol => _blink.BlinkLocation.instance.protocol_Getter_(this);
-
+ String get protocol => _blink.BlinkLocation.instance.protocol_Getter_(unwrap_jso(this));
+
@DomName('Location.protocol')
@DocsEditable()
- void set protocol(String value) => _blink.BlinkLocation.instance.protocol_Setter_(this, value);
-
+ void set protocol(String value) => _blink.BlinkLocation.instance.protocol_Setter_(unwrap_jso(this), value);
+
@DomName('Location.search')
@DocsEditable()
- String get search => _blink.BlinkLocation.instance.search_Getter_(this);
-
+ String get search => _blink.BlinkLocation.instance.search_Getter_(unwrap_jso(this));
+
@DomName('Location.search')
@DocsEditable()
- void set search(String value) => _blink.BlinkLocation.instance.search_Setter_(this, value);
-
+ void set search(String value) => _blink.BlinkLocation.instance.search_Setter_(unwrap_jso(this), value);
+
@DomName('Location.assign')
@DocsEditable()
- void assign([String url]) => _blink.BlinkLocation.instance.assign_Callback_1_(this, url);
-
+ void assign([String url]) => _blink.BlinkLocation.instance.assign_Callback_1_(unwrap_jso(this), url);
+
@DomName('Location.reload')
@DocsEditable()
- void reload() => _blink.BlinkLocation.instance.reload_Callback_0_(this);
-
+ void reload() => _blink.BlinkLocation.instance.reload_Callback_0_(unwrap_jso(this));
+
@DomName('Location.replace')
@DocsEditable()
- void replace(String url) => _blink.BlinkLocation.instance.replace_Callback_1_(this, url);
-
+ void replace(String url) => _blink.BlinkLocation.instance.replace_Callback_1_(unwrap_jso(this), url);
+
@DomName('Location.toString')
@DocsEditable()
- String toString() => _blink.BlinkLocation.instance.toString_Callback_0_(this);
-
+ String toString() => _blink.BlinkLocation.instance.toString_Callback_0_(unwrap_jso(this));
+
}
@@ -21192,16 +21221,16 @@
@DomName('HTMLMapElement.areas')
@DocsEditable()
- List<Node> get areas => _blink.BlinkHTMLMapElement.instance.areas_Getter_(this);
-
+ List<Node> get areas => wrap_jso_list(_blink.BlinkHTMLMapElement.instance.areas_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMapElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLMapElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLMapElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLMapElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLMapElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLMapElement.instance.name_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21226,80 +21255,80 @@
@DomName('MediaController.buffered')
@DocsEditable()
- TimeRanges get buffered => _blink.BlinkMediaController.instance.buffered_Getter_(this);
-
+ TimeRanges get buffered => wrap_jso(_blink.BlinkMediaController.instance.buffered_Getter_(unwrap_jso(this)));
+
@DomName('MediaController.currentTime')
@DocsEditable()
- num get currentTime => _blink.BlinkMediaController.instance.currentTime_Getter_(this);
-
+ num get currentTime => _blink.BlinkMediaController.instance.currentTime_Getter_(unwrap_jso(this));
+
@DomName('MediaController.currentTime')
@DocsEditable()
- void set currentTime(num value) => _blink.BlinkMediaController.instance.currentTime_Setter_(this, value);
-
+ void set currentTime(num value) => _blink.BlinkMediaController.instance.currentTime_Setter_(unwrap_jso(this), value);
+
@DomName('MediaController.defaultPlaybackRate')
@DocsEditable()
- num get defaultPlaybackRate => _blink.BlinkMediaController.instance.defaultPlaybackRate_Getter_(this);
-
+ num get defaultPlaybackRate => _blink.BlinkMediaController.instance.defaultPlaybackRate_Getter_(unwrap_jso(this));
+
@DomName('MediaController.defaultPlaybackRate')
@DocsEditable()
- void set defaultPlaybackRate(num value) => _blink.BlinkMediaController.instance.defaultPlaybackRate_Setter_(this, value);
-
+ void set defaultPlaybackRate(num value) => _blink.BlinkMediaController.instance.defaultPlaybackRate_Setter_(unwrap_jso(this), value);
+
@DomName('MediaController.duration')
@DocsEditable()
- double get duration => _blink.BlinkMediaController.instance.duration_Getter_(this);
-
+ double get duration => _blink.BlinkMediaController.instance.duration_Getter_(unwrap_jso(this));
+
@DomName('MediaController.muted')
@DocsEditable()
- bool get muted => _blink.BlinkMediaController.instance.muted_Getter_(this);
-
+ bool get muted => _blink.BlinkMediaController.instance.muted_Getter_(unwrap_jso(this));
+
@DomName('MediaController.muted')
@DocsEditable()
- void set muted(bool value) => _blink.BlinkMediaController.instance.muted_Setter_(this, value);
-
+ void set muted(bool value) => _blink.BlinkMediaController.instance.muted_Setter_(unwrap_jso(this), value);
+
@DomName('MediaController.paused')
@DocsEditable()
- bool get paused => _blink.BlinkMediaController.instance.paused_Getter_(this);
-
+ bool get paused => _blink.BlinkMediaController.instance.paused_Getter_(unwrap_jso(this));
+
@DomName('MediaController.playbackRate')
@DocsEditable()
- num get playbackRate => _blink.BlinkMediaController.instance.playbackRate_Getter_(this);
-
+ num get playbackRate => _blink.BlinkMediaController.instance.playbackRate_Getter_(unwrap_jso(this));
+
@DomName('MediaController.playbackRate')
@DocsEditable()
- void set playbackRate(num value) => _blink.BlinkMediaController.instance.playbackRate_Setter_(this, value);
-
+ void set playbackRate(num value) => _blink.BlinkMediaController.instance.playbackRate_Setter_(unwrap_jso(this), value);
+
@DomName('MediaController.playbackState')
@DocsEditable()
- String get playbackState => _blink.BlinkMediaController.instance.playbackState_Getter_(this);
-
+ String get playbackState => _blink.BlinkMediaController.instance.playbackState_Getter_(unwrap_jso(this));
+
@DomName('MediaController.played')
@DocsEditable()
- TimeRanges get played => _blink.BlinkMediaController.instance.played_Getter_(this);
-
+ TimeRanges get played => wrap_jso(_blink.BlinkMediaController.instance.played_Getter_(unwrap_jso(this)));
+
@DomName('MediaController.seekable')
@DocsEditable()
- TimeRanges get seekable => _blink.BlinkMediaController.instance.seekable_Getter_(this);
-
+ TimeRanges get seekable => wrap_jso(_blink.BlinkMediaController.instance.seekable_Getter_(unwrap_jso(this)));
+
@DomName('MediaController.volume')
@DocsEditable()
- num get volume => _blink.BlinkMediaController.instance.volume_Getter_(this);
-
+ num get volume => _blink.BlinkMediaController.instance.volume_Getter_(unwrap_jso(this));
+
@DomName('MediaController.volume')
@DocsEditable()
- void set volume(num value) => _blink.BlinkMediaController.instance.volume_Setter_(this, value);
-
+ void set volume(num value) => _blink.BlinkMediaController.instance.volume_Setter_(unwrap_jso(this), value);
+
@DomName('MediaController.pause')
@DocsEditable()
- void pause() => _blink.BlinkMediaController.instance.pause_Callback_0_(this);
-
+ void pause() => _blink.BlinkMediaController.instance.pause_Callback_0_(unwrap_jso(this));
+
@DomName('MediaController.play')
@DocsEditable()
- void play() => _blink.BlinkMediaController.instance.play_Callback_0_(this);
-
+ void play() => _blink.BlinkMediaController.instance.play_Callback_0_(unwrap_jso(this));
+
@DomName('MediaController.unpause')
@DocsEditable()
- void unpause() => _blink.BlinkMediaController.instance.unpause_Callback_0_(this);
-
+ void unpause() => _blink.BlinkMediaController.instance.unpause_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21318,23 +21347,23 @@
@DomName('MediaDeviceInfo.deviceId')
@DocsEditable()
@Experimental() // untriaged
- String get deviceId => _blink.BlinkMediaDeviceInfo.instance.deviceId_Getter_(this);
-
+ String get deviceId => _blink.BlinkMediaDeviceInfo.instance.deviceId_Getter_(unwrap_jso(this));
+
@DomName('MediaDeviceInfo.groupId')
@DocsEditable()
@Experimental() // untriaged
- String get groupId => _blink.BlinkMediaDeviceInfo.instance.groupId_Getter_(this);
-
+ String get groupId => _blink.BlinkMediaDeviceInfo.instance.groupId_Getter_(unwrap_jso(this));
+
@DomName('MediaDeviceInfo.kind')
@DocsEditable()
@Experimental() // untriaged
- String get kind => _blink.BlinkMediaDeviceInfo.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkMediaDeviceInfo.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('MediaDeviceInfo.label')
@DocsEditable()
@Experimental() // untriaged
- String get label => _blink.BlinkMediaDeviceInfo.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkMediaDeviceInfo.instance.label_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21461,249 +21490,249 @@
@DomName('HTMLMediaElement.audioTracks')
@DocsEditable()
@Experimental() // untriaged
- AudioTrackList get audioTracks => _blink.BlinkHTMLMediaElement.instance.audioTracks_Getter_(this);
-
+ AudioTrackList get audioTracks => wrap_jso(_blink.BlinkHTMLMediaElement.instance.audioTracks_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.autoplay')
@DocsEditable()
- bool get autoplay => _blink.BlinkHTMLMediaElement.instance.autoplay_Getter_(this);
-
+ bool get autoplay => _blink.BlinkHTMLMediaElement.instance.autoplay_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.autoplay')
@DocsEditable()
- void set autoplay(bool value) => _blink.BlinkHTMLMediaElement.instance.autoplay_Setter_(this, value);
-
+ void set autoplay(bool value) => _blink.BlinkHTMLMediaElement.instance.autoplay_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.buffered')
@DocsEditable()
- TimeRanges get buffered => _blink.BlinkHTMLMediaElement.instance.buffered_Getter_(this);
-
+ TimeRanges get buffered => wrap_jso(_blink.BlinkHTMLMediaElement.instance.buffered_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.controller')
@DocsEditable()
- MediaController get controller => _blink.BlinkHTMLMediaElement.instance.controller_Getter_(this);
-
+ MediaController get controller => wrap_jso(_blink.BlinkHTMLMediaElement.instance.controller_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.controller')
@DocsEditable()
- void set controller(MediaController value) => _blink.BlinkHTMLMediaElement.instance.controller_Setter_(this, value);
-
+ void set controller(MediaController value) => _blink.BlinkHTMLMediaElement.instance.controller_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('HTMLMediaElement.controls')
@DocsEditable()
- bool get controls => _blink.BlinkHTMLMediaElement.instance.controls_Getter_(this);
-
+ bool get controls => _blink.BlinkHTMLMediaElement.instance.controls_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.controls')
@DocsEditable()
- void set controls(bool value) => _blink.BlinkHTMLMediaElement.instance.controls_Setter_(this, value);
-
+ void set controls(bool value) => _blink.BlinkHTMLMediaElement.instance.controls_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
- String get crossOrigin => _blink.BlinkHTMLMediaElement.instance.crossOrigin_Getter_(this);
-
+ String get crossOrigin => _blink.BlinkHTMLMediaElement.instance.crossOrigin_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.crossOrigin')
@DocsEditable()
@Experimental() // untriaged
- void set crossOrigin(String value) => _blink.BlinkHTMLMediaElement.instance.crossOrigin_Setter_(this, value);
-
+ void set crossOrigin(String value) => _blink.BlinkHTMLMediaElement.instance.crossOrigin_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.currentSrc')
@DocsEditable()
- String get currentSrc => _blink.BlinkHTMLMediaElement.instance.currentSrc_Getter_(this);
-
+ String get currentSrc => _blink.BlinkHTMLMediaElement.instance.currentSrc_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.currentTime')
@DocsEditable()
- num get currentTime => _blink.BlinkHTMLMediaElement.instance.currentTime_Getter_(this);
-
+ num get currentTime => _blink.BlinkHTMLMediaElement.instance.currentTime_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.currentTime')
@DocsEditable()
- void set currentTime(num value) => _blink.BlinkHTMLMediaElement.instance.currentTime_Setter_(this, value);
-
+ void set currentTime(num value) => _blink.BlinkHTMLMediaElement.instance.currentTime_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.defaultMuted')
@DocsEditable()
- bool get defaultMuted => _blink.BlinkHTMLMediaElement.instance.defaultMuted_Getter_(this);
-
+ bool get defaultMuted => _blink.BlinkHTMLMediaElement.instance.defaultMuted_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.defaultMuted')
@DocsEditable()
- void set defaultMuted(bool value) => _blink.BlinkHTMLMediaElement.instance.defaultMuted_Setter_(this, value);
-
+ void set defaultMuted(bool value) => _blink.BlinkHTMLMediaElement.instance.defaultMuted_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.defaultPlaybackRate')
@DocsEditable()
- num get defaultPlaybackRate => _blink.BlinkHTMLMediaElement.instance.defaultPlaybackRate_Getter_(this);
-
+ num get defaultPlaybackRate => _blink.BlinkHTMLMediaElement.instance.defaultPlaybackRate_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.defaultPlaybackRate')
@DocsEditable()
- void set defaultPlaybackRate(num value) => _blink.BlinkHTMLMediaElement.instance.defaultPlaybackRate_Setter_(this, value);
-
+ void set defaultPlaybackRate(num value) => _blink.BlinkHTMLMediaElement.instance.defaultPlaybackRate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.duration')
@DocsEditable()
- double get duration => _blink.BlinkHTMLMediaElement.instance.duration_Getter_(this);
-
+ double get duration => _blink.BlinkHTMLMediaElement.instance.duration_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.ended')
@DocsEditable()
- bool get ended => _blink.BlinkHTMLMediaElement.instance.ended_Getter_(this);
-
+ bool get ended => _blink.BlinkHTMLMediaElement.instance.ended_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.error')
@DocsEditable()
- MediaError get error => _blink.BlinkHTMLMediaElement.instance.error_Getter_(this);
-
+ MediaError get error => wrap_jso(_blink.BlinkHTMLMediaElement.instance.error_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLMediaElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLMediaElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLMediaElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLMediaElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.loop')
@DocsEditable()
- bool get loop => _blink.BlinkHTMLMediaElement.instance.loop_Getter_(this);
-
+ bool get loop => _blink.BlinkHTMLMediaElement.instance.loop_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.loop')
@DocsEditable()
- void set loop(bool value) => _blink.BlinkHTMLMediaElement.instance.loop_Setter_(this, value);
-
+ void set loop(bool value) => _blink.BlinkHTMLMediaElement.instance.loop_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.mediaGroup')
@DocsEditable()
- String get mediaGroup => _blink.BlinkHTMLMediaElement.instance.mediaGroup_Getter_(this);
-
+ String get mediaGroup => _blink.BlinkHTMLMediaElement.instance.mediaGroup_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.mediaGroup')
@DocsEditable()
- void set mediaGroup(String value) => _blink.BlinkHTMLMediaElement.instance.mediaGroup_Setter_(this, value);
-
+ void set mediaGroup(String value) => _blink.BlinkHTMLMediaElement.instance.mediaGroup_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.mediaKeys')
@DocsEditable()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html
@Experimental()
- MediaKeys get mediaKeys => _blink.BlinkHTMLMediaElement.instance.mediaKeys_Getter_(this);
-
+ MediaKeys get mediaKeys => wrap_jso(_blink.BlinkHTMLMediaElement.instance.mediaKeys_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.muted')
@DocsEditable()
- bool get muted => _blink.BlinkHTMLMediaElement.instance.muted_Getter_(this);
-
+ bool get muted => _blink.BlinkHTMLMediaElement.instance.muted_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.muted')
@DocsEditable()
- void set muted(bool value) => _blink.BlinkHTMLMediaElement.instance.muted_Setter_(this, value);
-
+ void set muted(bool value) => _blink.BlinkHTMLMediaElement.instance.muted_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.networkState')
@DocsEditable()
- int get networkState => _blink.BlinkHTMLMediaElement.instance.networkState_Getter_(this);
-
+ int get networkState => _blink.BlinkHTMLMediaElement.instance.networkState_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.paused')
@DocsEditable()
- bool get paused => _blink.BlinkHTMLMediaElement.instance.paused_Getter_(this);
-
+ bool get paused => _blink.BlinkHTMLMediaElement.instance.paused_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.playbackRate')
@DocsEditable()
- num get playbackRate => _blink.BlinkHTMLMediaElement.instance.playbackRate_Getter_(this);
-
+ num get playbackRate => _blink.BlinkHTMLMediaElement.instance.playbackRate_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.playbackRate')
@DocsEditable()
- void set playbackRate(num value) => _blink.BlinkHTMLMediaElement.instance.playbackRate_Setter_(this, value);
-
+ void set playbackRate(num value) => _blink.BlinkHTMLMediaElement.instance.playbackRate_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.played')
@DocsEditable()
- TimeRanges get played => _blink.BlinkHTMLMediaElement.instance.played_Getter_(this);
-
+ TimeRanges get played => wrap_jso(_blink.BlinkHTMLMediaElement.instance.played_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.preload')
@DocsEditable()
- String get preload => _blink.BlinkHTMLMediaElement.instance.preload_Getter_(this);
-
+ String get preload => _blink.BlinkHTMLMediaElement.instance.preload_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.preload')
@DocsEditable()
- void set preload(String value) => _blink.BlinkHTMLMediaElement.instance.preload_Setter_(this, value);
-
+ void set preload(String value) => _blink.BlinkHTMLMediaElement.instance.preload_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.readyState')
@DocsEditable()
- int get readyState => _blink.BlinkHTMLMediaElement.instance.readyState_Getter_(this);
-
+ int get readyState => _blink.BlinkHTMLMediaElement.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.seekable')
@DocsEditable()
- TimeRanges get seekable => _blink.BlinkHTMLMediaElement.instance.seekable_Getter_(this);
-
+ TimeRanges get seekable => wrap_jso(_blink.BlinkHTMLMediaElement.instance.seekable_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.seeking')
@DocsEditable()
- bool get seeking => _blink.BlinkHTMLMediaElement.instance.seeking_Getter_(this);
-
+ bool get seeking => _blink.BlinkHTMLMediaElement.instance.seeking_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLMediaElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLMediaElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLMediaElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLMediaElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.textTracks')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#dom-media-texttracks
@Experimental()
- TextTrackList get textTracks => _blink.BlinkHTMLMediaElement.instance.textTracks_Getter_(this);
-
+ TextTrackList get textTracks => wrap_jso(_blink.BlinkHTMLMediaElement.instance.textTracks_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.videoTracks')
@DocsEditable()
@Experimental() // untriaged
- VideoTrackList get videoTracks => _blink.BlinkHTMLMediaElement.instance.videoTracks_Getter_(this);
-
+ VideoTrackList get videoTracks => wrap_jso(_blink.BlinkHTMLMediaElement.instance.videoTracks_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMediaElement.volume')
@DocsEditable()
- num get volume => _blink.BlinkHTMLMediaElement.instance.volume_Getter_(this);
-
+ num get volume => _blink.BlinkHTMLMediaElement.instance.volume_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.volume')
@DocsEditable()
- void set volume(num value) => _blink.BlinkHTMLMediaElement.instance.volume_Setter_(this, value);
-
+ void set volume(num value) => _blink.BlinkHTMLMediaElement.instance.volume_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMediaElement.webkitAudioDecodedByteCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // nonstandard
- int get audioDecodedByteCount => _blink.BlinkHTMLMediaElement.instance.webkitAudioDecodedByteCount_Getter_(this);
-
+ int get audioDecodedByteCount => _blink.BlinkHTMLMediaElement.instance.webkitAudioDecodedByteCount_Getter_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.webkitVideoDecodedByteCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // nonstandard
- int get videoDecodedByteCount => _blink.BlinkHTMLMediaElement.instance.webkitVideoDecodedByteCount_Getter_(this);
-
+ int get videoDecodedByteCount => _blink.BlinkHTMLMediaElement.instance.webkitVideoDecodedByteCount_Getter_(unwrap_jso(this));
+
TextTrack addTextTrack(String kind, [String label, String language]) {
if (language != null) {
- return _blink.BlinkHTMLMediaElement.instance.addTextTrack_Callback_3_(this, kind, label, language);
+ return wrap_jso(_blink.BlinkHTMLMediaElement.instance.addTextTrack_Callback_3_(unwrap_jso(this), kind, label, language));
}
if (label != null) {
- return _blink.BlinkHTMLMediaElement.instance.addTextTrack_Callback_2_(this, kind, label);
+ return wrap_jso(_blink.BlinkHTMLMediaElement.instance.addTextTrack_Callback_2_(unwrap_jso(this), kind, label));
}
- return _blink.BlinkHTMLMediaElement.instance.addTextTrack_Callback_1_(this, kind);
+ return wrap_jso(_blink.BlinkHTMLMediaElement.instance.addTextTrack_Callback_1_(unwrap_jso(this), kind));
}
String canPlayType(String type, [String keySystem]) {
if (keySystem != null) {
- return _blink.BlinkHTMLMediaElement.instance.canPlayType_Callback_2_(this, type, keySystem);
+ return _blink.BlinkHTMLMediaElement.instance.canPlayType_Callback_2_(unwrap_jso(this), type, keySystem);
}
- return _blink.BlinkHTMLMediaElement.instance.canPlayType_Callback_1_(this, type);
+ return _blink.BlinkHTMLMediaElement.instance.canPlayType_Callback_1_(unwrap_jso(this), type);
}
@DomName('HTMLMediaElement.load')
@DocsEditable()
- void load() => _blink.BlinkHTMLMediaElement.instance.load_Callback_0_(this);
-
+ void load() => _blink.BlinkHTMLMediaElement.instance.load_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.pause')
@DocsEditable()
- void pause() => _blink.BlinkHTMLMediaElement.instance.pause_Callback_0_(this);
-
+ void pause() => _blink.BlinkHTMLMediaElement.instance.pause_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.play')
@DocsEditable()
- void play() => _blink.BlinkHTMLMediaElement.instance.play_Callback_0_(this);
-
+ void play() => _blink.BlinkHTMLMediaElement.instance.play_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLMediaElement.setMediaKeys')
@DocsEditable()
@Experimental() // untriaged
- Future setMediaKeys(MediaKeys mediaKeys) => _blink.BlinkHTMLMediaElement.instance.setMediaKeys_Callback_1_(this, mediaKeys);
-
+ Future setMediaKeys(MediaKeys mediaKeys) => _blink.BlinkHTMLMediaElement.instance.setMediaKeys_Callback_1_(unwrap_jso(this), unwrap_jso(mediaKeys));
+
void addKey(String keySystem, Uint8List key, [Uint8List initData, String sessionId]) {
if (initData != null) {
- _blink.BlinkHTMLMediaElement.instance.webkitAddKey_Callback_4_(this, keySystem, key, initData, sessionId);
+ _blink.BlinkHTMLMediaElement.instance.webkitAddKey_Callback_4_(unwrap_jso(this), keySystem, key, initData, sessionId);
return;
}
- _blink.BlinkHTMLMediaElement.instance.webkitAddKey_Callback_2_(this, keySystem, key);
+ _blink.BlinkHTMLMediaElement.instance.webkitAddKey_Callback_2_(unwrap_jso(this), keySystem, key);
return;
}
@@ -21713,14 +21742,14 @@
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1/encrypted-media/encrypted-media.html#extensions
- void cancelKeyRequest(String keySystem, String sessionId) => _blink.BlinkHTMLMediaElement.instance.webkitCancelKeyRequest_Callback_2_(this, keySystem, sessionId);
-
+ void cancelKeyRequest(String keySystem, String sessionId) => _blink.BlinkHTMLMediaElement.instance.webkitCancelKeyRequest_Callback_2_(unwrap_jso(this), keySystem, sessionId);
+
void generateKeyRequest(String keySystem, [Uint8List initData]) {
if (initData != null) {
- _blink.BlinkHTMLMediaElement.instance.webkitGenerateKeyRequest_Callback_2_(this, keySystem, initData);
+ _blink.BlinkHTMLMediaElement.instance.webkitGenerateKeyRequest_Callback_2_(unwrap_jso(this), keySystem, initData);
return;
}
- _blink.BlinkHTMLMediaElement.instance.webkitGenerateKeyRequest_Callback_1_(this, keySystem);
+ _blink.BlinkHTMLMediaElement.instance.webkitGenerateKeyRequest_Callback_1_(unwrap_jso(this), keySystem);
return;
}
@@ -21791,8 +21820,8 @@
@DomName('MediaError.code')
@DocsEditable()
- int get code => _blink.BlinkMediaError.instance.code_Getter_(this);
-
+ int get code => _blink.BlinkMediaError.instance.code_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21835,13 +21864,13 @@
@DomName('MediaKeyError.code')
@DocsEditable()
- int get code => _blink.BlinkMediaKeyError.instance.code_Getter_(this);
-
+ int get code => _blink.BlinkMediaKeyError.instance.code_Getter_(unwrap_jso(this));
+
@DomName('MediaKeyError.systemCode')
@DocsEditable()
@Experimental() // non-standard
- int get systemCode => _blink.BlinkMediaKeyError.instance.systemCode_Getter_(this);
-
+ int get systemCode => _blink.BlinkMediaKeyError.instance.systemCode_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21860,32 +21889,32 @@
@DomName('MediaKeyEvent.defaultURL')
@DocsEditable()
- String get defaultUrl => _blink.BlinkMediaKeyEvent.instance.defaultURL_Getter_(this);
-
+ String get defaultUrl => _blink.BlinkMediaKeyEvent.instance.defaultURL_Getter_(unwrap_jso(this));
+
@DomName('MediaKeyEvent.errorCode')
@DocsEditable()
- MediaKeyError get errorCode => _blink.BlinkMediaKeyEvent.instance.errorCode_Getter_(this);
-
+ MediaKeyError get errorCode => wrap_jso(_blink.BlinkMediaKeyEvent.instance.errorCode_Getter_(unwrap_jso(this)));
+
@DomName('MediaKeyEvent.initData')
@DocsEditable()
- Uint8List get initData => _blink.BlinkMediaKeyEvent.instance.initData_Getter_(this);
-
+ Uint8List get initData => wrap_jso(_blink.BlinkMediaKeyEvent.instance.initData_Getter_(unwrap_jso(this)));
+
@DomName('MediaKeyEvent.keySystem')
@DocsEditable()
- String get keySystem => _blink.BlinkMediaKeyEvent.instance.keySystem_Getter_(this);
-
+ String get keySystem => _blink.BlinkMediaKeyEvent.instance.keySystem_Getter_(unwrap_jso(this));
+
@DomName('MediaKeyEvent.message')
@DocsEditable()
- Uint8List get message => _blink.BlinkMediaKeyEvent.instance.message_Getter_(this);
-
+ Uint8List get message => wrap_jso(_blink.BlinkMediaKeyEvent.instance.message_Getter_(unwrap_jso(this)));
+
@DomName('MediaKeyEvent.sessionId')
@DocsEditable()
- String get sessionId => _blink.BlinkMediaKeyEvent.instance.sessionId_Getter_(this);
-
+ String get sessionId => _blink.BlinkMediaKeyEvent.instance.sessionId_Getter_(unwrap_jso(this));
+
@DomName('MediaKeyEvent.systemCode')
@DocsEditable()
- int get systemCode => _blink.BlinkMediaKeyEvent.instance.systemCode_Getter_(this);
-
+ int get systemCode => _blink.BlinkMediaKeyEvent.instance.systemCode_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21904,12 +21933,12 @@
@DomName('MediaKeyMessageEvent.destinationURL')
@DocsEditable()
- String get destinationUrl => _blink.BlinkMediaKeyMessageEvent.instance.destinationURL_Getter_(this);
-
+ String get destinationUrl => _blink.BlinkMediaKeyMessageEvent.instance.destinationURL_Getter_(unwrap_jso(this));
+
@DomName('MediaKeyMessageEvent.message')
@DocsEditable()
- ByteBuffer get message => _blink.BlinkMediaKeyMessageEvent.instance.message_Getter_(this);
-
+ ByteBuffer get message => wrap_jso(_blink.BlinkMediaKeyMessageEvent.instance.message_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21929,12 +21958,12 @@
@DomName('MediaKeyNeededEvent.contentType')
@DocsEditable()
@Experimental() // untriaged
- String get contentType => _blink.BlinkMediaKeyNeededEvent.instance.contentType_Getter_(this);
-
+ String get contentType => _blink.BlinkMediaKeyNeededEvent.instance.contentType_Getter_(unwrap_jso(this));
+
@DomName('MediaKeyNeededEvent.initData')
@DocsEditable()
- Uint8List get initData => _blink.BlinkMediaKeyNeededEvent.instance.initData_Getter_(this);
-
+ Uint8List get initData => wrap_jso(_blink.BlinkMediaKeyNeededEvent.instance.initData_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -21954,26 +21983,26 @@
@DomName('MediaKeySession.closed')
@DocsEditable()
@Experimental() // untriaged
- Future get closed => _blink.BlinkMediaKeySession.instance.closed_Getter_(this);
-
+ Future get closed => _blink.BlinkMediaKeySession.instance.closed_Getter_(unwrap_jso(this));
+
@DomName('MediaKeySession.error')
@DocsEditable()
- MediaKeyError get error => _blink.BlinkMediaKeySession.instance.error_Getter_(this);
-
+ MediaKeyError get error => wrap_jso(_blink.BlinkMediaKeySession.instance.error_Getter_(unwrap_jso(this)));
+
@DomName('MediaKeySession.keySystem')
@DocsEditable()
- String get keySystem => _blink.BlinkMediaKeySession.instance.keySystem_Getter_(this);
-
+ String get keySystem => _blink.BlinkMediaKeySession.instance.keySystem_Getter_(unwrap_jso(this));
+
@DomName('MediaKeySession.sessionId')
@DocsEditable()
- String get sessionId => _blink.BlinkMediaKeySession.instance.sessionId_Getter_(this);
-
+ String get sessionId => _blink.BlinkMediaKeySession.instance.sessionId_Getter_(unwrap_jso(this));
+
Future generateRequest(String initDataType, initData) {
if ((initData is TypedData) && (initDataType is String)) {
- return _blink.BlinkMediaKeySession.instance.generateRequest_Callback_2_(this, initDataType, initData);
+ return _blink.BlinkMediaKeySession.instance.generateRequest_Callback_2_(unwrap_jso(this), initDataType, unwrap_jso(initData));
}
if ((initData is ByteBuffer) && (initDataType is String)) {
- return _blink.BlinkMediaKeySession.instance.generateRequest_Callback_2_(this, initDataType, initData);
+ return _blink.BlinkMediaKeySession.instance.generateRequest_Callback_2_(unwrap_jso(this), initDataType, unwrap_jso(initData));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@@ -21981,14 +22010,14 @@
@DomName('MediaKeySession.release')
@DocsEditable()
@Experimental() // untriaged
- Future release() => _blink.BlinkMediaKeySession.instance.release_Callback_0_(this);
-
+ Future release() => _blink.BlinkMediaKeySession.instance.release_Callback_0_(unwrap_jso(this));
+
Future _update(response) {
if ((response is TypedData)) {
- return _blink.BlinkMediaKeySession.instance.update_Callback_1_(this, response);
+ return _blink.BlinkMediaKeySession.instance.update_Callback_1_(unwrap_jso(this), unwrap_jso(response));
}
if ((response is ByteBuffer)) {
- return _blink.BlinkMediaKeySession.instance.update_Callback_1_(this, response);
+ return _blink.BlinkMediaKeySession.instance.update_Callback_1_(unwrap_jso(this), unwrap_jso(response));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@@ -22011,25 +22040,25 @@
@DomName('MediaKeys.keySystem')
@DocsEditable()
- String get keySystem => _blink.BlinkMediaKeys.instance.keySystem_Getter_(this);
-
+ String get keySystem => _blink.BlinkMediaKeys.instance.keySystem_Getter_(unwrap_jso(this));
+
@DomName('MediaKeys.create')
@DocsEditable()
@Experimental() // untriaged
static Future create(String keySystem) => _blink.BlinkMediaKeys.instance.create_Callback_1_(keySystem);
-
+
MediaKeySession _createSession([String sessionType]) {
if (sessionType != null) {
- return _blink.BlinkMediaKeys.instance.createSession_Callback_1_(this, sessionType);
+ return wrap_jso(_blink.BlinkMediaKeys.instance.createSession_Callback_1_(unwrap_jso(this), sessionType));
}
- return _blink.BlinkMediaKeys.instance.createSession_Callback_0_(this);
+ return wrap_jso(_blink.BlinkMediaKeys.instance.createSession_Callback_0_(unwrap_jso(this)));
}
@DomName('MediaKeys.isTypeSupported')
@DocsEditable()
@Experimental() // untriaged
static bool isTypeSupported(String keySystem, String contentType) => _blink.BlinkMediaKeys.instance.isTypeSupported_Callback_2_(keySystem, contentType);
-
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22047,28 +22076,28 @@
@DomName('MediaList.length')
@DocsEditable()
- int get length => _blink.BlinkMediaList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkMediaList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('MediaList.mediaText')
@DocsEditable()
- String get mediaText => _blink.BlinkMediaList.instance.mediaText_Getter_(this);
-
+ String get mediaText => _blink.BlinkMediaList.instance.mediaText_Getter_(unwrap_jso(this));
+
@DomName('MediaList.mediaText')
@DocsEditable()
- void set mediaText(String value) => _blink.BlinkMediaList.instance.mediaText_Setter_(this, value);
-
+ void set mediaText(String value) => _blink.BlinkMediaList.instance.mediaText_Setter_(unwrap_jso(this), value);
+
@DomName('MediaList.appendMedium')
@DocsEditable()
- void appendMedium(String newMedium) => _blink.BlinkMediaList.instance.appendMedium_Callback_1_(this, newMedium);
-
+ void appendMedium(String newMedium) => _blink.BlinkMediaList.instance.appendMedium_Callback_1_(unwrap_jso(this), newMedium);
+
@DomName('MediaList.deleteMedium')
@DocsEditable()
- void deleteMedium(String oldMedium) => _blink.BlinkMediaList.instance.deleteMedium_Callback_1_(this, oldMedium);
-
+ void deleteMedium(String oldMedium) => _blink.BlinkMediaList.instance.deleteMedium_Callback_1_(unwrap_jso(this), oldMedium);
+
@DomName('MediaList.item')
@DocsEditable()
- String item(int index) => _blink.BlinkMediaList.instance.item_Callback_1_(this, index);
-
+ String item(int index) => _blink.BlinkMediaList.instance.item_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22091,20 +22120,20 @@
@DomName('MediaQueryList.matches')
@DocsEditable()
- bool get matches => _blink.BlinkMediaQueryList.instance.matches_Getter_(this);
-
+ bool get matches => _blink.BlinkMediaQueryList.instance.matches_Getter_(unwrap_jso(this));
+
@DomName('MediaQueryList.media')
@DocsEditable()
- String get media => _blink.BlinkMediaQueryList.instance.media_Getter_(this);
-
+ String get media => _blink.BlinkMediaQueryList.instance.media_Getter_(unwrap_jso(this));
+
@DomName('MediaQueryList.addListener')
@DocsEditable()
- void addListener(EventListener listener) => _blink.BlinkMediaQueryList.instance.addListener_Callback_1_(this, listener);
-
+ void addListener(EventListener listener) => _blink.BlinkMediaQueryList.instance.addListener_Callback_1_(unwrap_jso(this), unwrap_jso(listener));
+
@DomName('MediaQueryList.removeListener')
@DocsEditable()
- void removeListener(EventListener listener) => _blink.BlinkMediaQueryList.instance.removeListener_Callback_1_(this, listener);
-
+ void removeListener(EventListener listener) => _blink.BlinkMediaQueryList.instance.removeListener_Callback_1_(unwrap_jso(this), unwrap_jso(listener));
+
@DomName('MediaQueryList.onchange')
@DocsEditable()
@Experimental() // untriaged
@@ -22128,13 +22157,13 @@
@DomName('MediaQueryListEvent.matches')
@DocsEditable()
@Experimental() // untriaged
- bool get matches => _blink.BlinkMediaQueryListEvent.instance.matches_Getter_(this);
-
+ bool get matches => _blink.BlinkMediaQueryListEvent.instance.matches_Getter_(unwrap_jso(this));
+
@DomName('MediaQueryListEvent.media')
@DocsEditable()
@Experimental() // untriaged
- String get media => _blink.BlinkMediaQueryListEvent.instance.media_Getter_(this);
-
+ String get media => _blink.BlinkMediaQueryListEvent.instance.media_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22164,45 +22193,45 @@
@DomName('MediaSource.activeSourceBuffers')
@DocsEditable()
- SourceBufferList get activeSourceBuffers => _blink.BlinkMediaSource.instance.activeSourceBuffers_Getter_(this);
-
+ SourceBufferList get activeSourceBuffers => wrap_jso(_blink.BlinkMediaSource.instance.activeSourceBuffers_Getter_(unwrap_jso(this)));
+
@DomName('MediaSource.duration')
@DocsEditable()
- num get duration => _blink.BlinkMediaSource.instance.duration_Getter_(this);
-
+ num get duration => _blink.BlinkMediaSource.instance.duration_Getter_(unwrap_jso(this));
+
@DomName('MediaSource.duration')
@DocsEditable()
- void set duration(num value) => _blink.BlinkMediaSource.instance.duration_Setter_(this, value);
-
+ void set duration(num value) => _blink.BlinkMediaSource.instance.duration_Setter_(unwrap_jso(this), value);
+
@DomName('MediaSource.readyState')
@DocsEditable()
- String get readyState => _blink.BlinkMediaSource.instance.readyState_Getter_(this);
-
+ String get readyState => _blink.BlinkMediaSource.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('MediaSource.sourceBuffers')
@DocsEditable()
- SourceBufferList get sourceBuffers => _blink.BlinkMediaSource.instance.sourceBuffers_Getter_(this);
-
+ SourceBufferList get sourceBuffers => wrap_jso(_blink.BlinkMediaSource.instance.sourceBuffers_Getter_(unwrap_jso(this)));
+
@DomName('MediaSource.addSourceBuffer')
@DocsEditable()
- SourceBuffer addSourceBuffer(String type) => _blink.BlinkMediaSource.instance.addSourceBuffer_Callback_1_(this, type);
-
+ SourceBuffer addSourceBuffer(String type) => wrap_jso(_blink.BlinkMediaSource.instance.addSourceBuffer_Callback_1_(unwrap_jso(this), type));
+
void endOfStream([String error]) {
if (error != null) {
- _blink.BlinkMediaSource.instance.endOfStream_Callback_1_(this, error);
+ _blink.BlinkMediaSource.instance.endOfStream_Callback_1_(unwrap_jso(this), error);
return;
}
- _blink.BlinkMediaSource.instance.endOfStream_Callback_0_(this);
+ _blink.BlinkMediaSource.instance.endOfStream_Callback_0_(unwrap_jso(this));
return;
}
@DomName('MediaSource.isTypeSupported')
@DocsEditable()
static bool isTypeSupported(String type) => _blink.BlinkMediaSource.instance.isTypeSupported_Callback_1_(type);
-
+
@DomName('MediaSource.removeSourceBuffer')
@DocsEditable()
- void removeSourceBuffer(SourceBuffer buffer) => _blink.BlinkMediaSource.instance.removeSourceBuffer_Callback_1_(this, buffer);
-
+ void removeSourceBuffer(SourceBuffer buffer) => _blink.BlinkMediaSource.instance.removeSourceBuffer_Callback_1_(unwrap_jso(this), unwrap_jso(buffer));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22264,51 +22293,51 @@
@DomName('MediaStream.ended')
@DocsEditable()
- bool get ended => _blink.BlinkMediaStream.instance.ended_Getter_(this);
-
+ bool get ended => _blink.BlinkMediaStream.instance.ended_Getter_(unwrap_jso(this));
+
@DomName('MediaStream.id')
@DocsEditable()
- String get id => _blink.BlinkMediaStream.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkMediaStream.instance.id_Getter_(unwrap_jso(this));
+
@DomName('MediaStream.label')
@DocsEditable()
@Experimental() // non-standard
- String get label => _blink.BlinkMediaStream.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkMediaStream.instance.label_Getter_(unwrap_jso(this));
+
@DomName('MediaStream.addTrack')
@DocsEditable()
- void addTrack(MediaStreamTrack track) => _blink.BlinkMediaStream.instance.addTrack_Callback_1_(this, track);
-
+ void addTrack(MediaStreamTrack track) => _blink.BlinkMediaStream.instance.addTrack_Callback_1_(unwrap_jso(this), unwrap_jso(track));
+
@DomName('MediaStream.clone')
@DocsEditable()
@Experimental() // untriaged
- MediaStream clone() => _blink.BlinkMediaStream.instance.clone_Callback_0_(this);
-
+ MediaStream clone() => wrap_jso(_blink.BlinkMediaStream.instance.clone_Callback_0_(unwrap_jso(this)));
+
@DomName('MediaStream.getAudioTracks')
@DocsEditable()
- List<MediaStreamTrack> getAudioTracks() => _blink.BlinkMediaStream.instance.getAudioTracks_Callback_0_(this);
-
+ List<MediaStreamTrack> getAudioTracks() => _blink.BlinkMediaStream.instance.getAudioTracks_Callback_0_(unwrap_jso(this));
+
@DomName('MediaStream.getTrackById')
@DocsEditable()
- MediaStreamTrack getTrackById(String trackId) => _blink.BlinkMediaStream.instance.getTrackById_Callback_1_(this, trackId);
-
+ MediaStreamTrack getTrackById(String trackId) => wrap_jso(_blink.BlinkMediaStream.instance.getTrackById_Callback_1_(unwrap_jso(this), trackId));
+
@DomName('MediaStream.getTracks')
@DocsEditable()
@Experimental() // untriaged
- List<MediaStreamTrack> getTracks() => _blink.BlinkMediaStream.instance.getTracks_Callback_0_(this);
-
+ List<MediaStreamTrack> getTracks() => _blink.BlinkMediaStream.instance.getTracks_Callback_0_(unwrap_jso(this));
+
@DomName('MediaStream.getVideoTracks')
@DocsEditable()
- List<MediaStreamTrack> getVideoTracks() => _blink.BlinkMediaStream.instance.getVideoTracks_Callback_0_(this);
-
+ List<MediaStreamTrack> getVideoTracks() => _blink.BlinkMediaStream.instance.getVideoTracks_Callback_0_(unwrap_jso(this));
+
@DomName('MediaStream.removeTrack')
@DocsEditable()
- void removeTrack(MediaStreamTrack track) => _blink.BlinkMediaStream.instance.removeTrack_Callback_1_(this, track);
-
+ void removeTrack(MediaStreamTrack track) => _blink.BlinkMediaStream.instance.removeTrack_Callback_1_(unwrap_jso(this), unwrap_jso(track));
+
@DomName('MediaStream.stop')
@DocsEditable()
- void stop() => _blink.BlinkMediaStream.instance.stop_Callback_0_(this);
-
+ void stop() => _blink.BlinkMediaStream.instance.stop_Callback_0_(unwrap_jso(this));
+
/// Stream of `addtrack` events handled by this [MediaStream].
@DomName('MediaStream.onaddtrack')
@DocsEditable()
@@ -22355,8 +22384,8 @@
@DomName('MediaStreamEvent.stream')
@DocsEditable()
- MediaStream get stream => _blink.BlinkMediaStreamEvent.instance.stream_Getter_(this);
-
+ MediaStream get stream => wrap_jso(_blink.BlinkMediaStreamEvent.instance.stream_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22406,43 +22435,43 @@
@DomName('MediaStreamTrack.enabled')
@DocsEditable()
- bool get enabled => _blink.BlinkMediaStreamTrack.instance.enabled_Getter_(this);
-
+ bool get enabled => _blink.BlinkMediaStreamTrack.instance.enabled_Getter_(unwrap_jso(this));
+
@DomName('MediaStreamTrack.enabled')
@DocsEditable()
- void set enabled(bool value) => _blink.BlinkMediaStreamTrack.instance.enabled_Setter_(this, value);
-
+ void set enabled(bool value) => _blink.BlinkMediaStreamTrack.instance.enabled_Setter_(unwrap_jso(this), value);
+
@DomName('MediaStreamTrack.id')
@DocsEditable()
- String get id => _blink.BlinkMediaStreamTrack.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkMediaStreamTrack.instance.id_Getter_(unwrap_jso(this));
+
@DomName('MediaStreamTrack.kind')
@DocsEditable()
- String get kind => _blink.BlinkMediaStreamTrack.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkMediaStreamTrack.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('MediaStreamTrack.label')
@DocsEditable()
- String get label => _blink.BlinkMediaStreamTrack.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkMediaStreamTrack.instance.label_Getter_(unwrap_jso(this));
+
@DomName('MediaStreamTrack.muted')
@DocsEditable()
@Experimental() // untriaged
- bool get muted => _blink.BlinkMediaStreamTrack.instance.muted_Getter_(this);
-
+ bool get muted => _blink.BlinkMediaStreamTrack.instance.muted_Getter_(unwrap_jso(this));
+
@DomName('MediaStreamTrack.readyState')
@DocsEditable()
- String get readyState => _blink.BlinkMediaStreamTrack.instance.readyState_Getter_(this);
-
+ String get readyState => _blink.BlinkMediaStreamTrack.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('MediaStreamTrack.clone')
@DocsEditable()
@Experimental() // untriaged
- MediaStreamTrack clone() => _blink.BlinkMediaStreamTrack.instance.clone_Callback_0_(this);
-
+ MediaStreamTrack clone() => wrap_jso(_blink.BlinkMediaStreamTrack.instance.clone_Callback_0_(unwrap_jso(this)));
+
@DomName('MediaStreamTrack.getSources')
@DocsEditable()
@Experimental() // untriaged
- static void _getSources(MediaStreamTrackSourcesCallback callback) => _blink.BlinkMediaStreamTrack.instance.getSources_Callback_1_(callback);
-
+ static void _getSources(MediaStreamTrackSourcesCallback callback) => _blink.BlinkMediaStreamTrack.instance.getSources_Callback_1_(unwrap_jso(callback));
+
static Future<List<SourceInfo>> getSources() {
var completer = new Completer<List<SourceInfo>>();
_getSources(
@@ -22453,8 +22482,8 @@
@DomName('MediaStreamTrack.stop')
@DocsEditable()
@Experimental() // untriaged
- void stop() => _blink.BlinkMediaStreamTrack.instance.stop_Callback_0_(this);
-
+ void stop() => _blink.BlinkMediaStreamTrack.instance.stop_Callback_0_(unwrap_jso(this));
+
/// Stream of `ended` events handled by this [MediaStreamTrack].
@DomName('MediaStreamTrack.onended')
@DocsEditable()
@@ -22492,8 +22521,8 @@
@DomName('MediaStreamTrackEvent.track')
@DocsEditable()
- MediaStreamTrack get track => _blink.BlinkMediaStreamTrackEvent.instance.track_Getter_(this);
-
+ MediaStreamTrack get track => wrap_jso(_blink.BlinkMediaStreamTrackEvent.instance.track_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22521,16 +22550,16 @@
@DomName('MemoryInfo.jsHeapSizeLimit')
@DocsEditable()
- int get jsHeapSizeLimit => _blink.BlinkMemoryInfo.instance.jsHeapSizeLimit_Getter_(this);
-
+ int get jsHeapSizeLimit => _blink.BlinkMemoryInfo.instance.jsHeapSizeLimit_Getter_(unwrap_jso(this));
+
@DomName('MemoryInfo.totalJSHeapSize')
@DocsEditable()
- int get totalJSHeapSize => _blink.BlinkMemoryInfo.instance.totalJSHeapSize_Getter_(this);
-
+ int get totalJSHeapSize => _blink.BlinkMemoryInfo.instance.totalJSHeapSize_Getter_(unwrap_jso(this));
+
@DomName('MemoryInfo.usedJSHeapSize')
@DocsEditable()
- int get usedJSHeapSize => _blink.BlinkMemoryInfo.instance.usedJSHeapSize_Getter_(this);
-
+ int get usedJSHeapSize => _blink.BlinkMemoryInfo.instance.usedJSHeapSize_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22568,23 +22597,23 @@
@DomName('HTMLMenuElement.label')
@DocsEditable()
@Experimental() // untriaged
- String get label => _blink.BlinkHTMLMenuElement.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkHTMLMenuElement.instance.label_Getter_(unwrap_jso(this));
+
@DomName('HTMLMenuElement.label')
@DocsEditable()
@Experimental() // untriaged
- void set label(String value) => _blink.BlinkHTMLMenuElement.instance.label_Setter_(this, value);
-
+ void set label(String value) => _blink.BlinkHTMLMenuElement.instance.label_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMenuElement.type')
@DocsEditable()
@Experimental() // untriaged
- String get type => _blink.BlinkHTMLMenuElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLMenuElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLMenuElement.type')
@DocsEditable()
@Experimental() // untriaged
- void set type(String value) => _blink.BlinkHTMLMenuElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLMenuElement.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22609,53 +22638,53 @@
@DomName('HTMLMenuItemElement.checked')
@DocsEditable()
@Experimental() // untriaged
- bool get checked => _blink.BlinkHTMLMenuItemElement.instance.checked_Getter_(this);
-
+ bool get checked => _blink.BlinkHTMLMenuItemElement.instance.checked_Getter_(unwrap_jso(this));
+
@DomName('HTMLMenuItemElement.checked')
@DocsEditable()
@Experimental() // untriaged
- void set checked(bool value) => _blink.BlinkHTMLMenuItemElement.instance.checked_Setter_(this, value);
-
+ void set checked(bool value) => _blink.BlinkHTMLMenuItemElement.instance.checked_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMenuItemElement.default')
@DocsEditable()
@Experimental() // untriaged
- bool get defaultValue => _blink.BlinkHTMLMenuItemElement.instance.default_Getter_(this);
-
+ bool get defaultValue => _blink.BlinkHTMLMenuItemElement.instance.default_Getter_(unwrap_jso(this));
+
@DomName('HTMLMenuItemElement.default')
@DocsEditable()
@Experimental() // untriaged
- void set defaultValue(bool value) => _blink.BlinkHTMLMenuItemElement.instance.default_Setter_(this, value);
-
+ void set defaultValue(bool value) => _blink.BlinkHTMLMenuItemElement.instance.default_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMenuItemElement.disabled')
@DocsEditable()
@Experimental() // untriaged
- bool get disabled => _blink.BlinkHTMLMenuItemElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLMenuItemElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLMenuItemElement.disabled')
@DocsEditable()
@Experimental() // untriaged
- void set disabled(bool value) => _blink.BlinkHTMLMenuItemElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLMenuItemElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMenuItemElement.label')
@DocsEditable()
@Experimental() // untriaged
- String get label => _blink.BlinkHTMLMenuItemElement.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkHTMLMenuItemElement.instance.label_Getter_(unwrap_jso(this));
+
@DomName('HTMLMenuItemElement.label')
@DocsEditable()
@Experimental() // untriaged
- void set label(String value) => _blink.BlinkHTMLMenuItemElement.instance.label_Setter_(this, value);
-
+ void set label(String value) => _blink.BlinkHTMLMenuItemElement.instance.label_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMenuItemElement.type')
@DocsEditable()
@Experimental() // untriaged
- String get type => _blink.BlinkHTMLMenuItemElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLMenuItemElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLMenuItemElement.type')
@DocsEditable()
@Experimental() // untriaged
- void set type(String value) => _blink.BlinkHTMLMenuItemElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLMenuItemElement.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22673,12 +22702,12 @@
@DomName('MessageChannel.port1')
@DocsEditable()
- MessagePort get port1 => _blink.BlinkMessageChannel.instance.port1_Getter_(this);
-
+ MessagePort get port1 => wrap_jso(_blink.BlinkMessageChannel.instance.port1_Getter_(unwrap_jso(this)));
+
@DomName('MessageChannel.port2')
@DocsEditable()
- MessagePort get port2 => _blink.BlinkMessageChannel.instance.port2_Getter_(this);
-
+ MessagePort get port2 => wrap_jso(_blink.BlinkMessageChannel.instance.port2_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22706,25 +22735,25 @@
@DomName('MessageEvent.data')
@DocsEditable()
- Object get data => _blink.BlinkMessageEvent.instance.data_Getter_(this);
-
+ Object get data => _blink.BlinkMessageEvent.instance.data_Getter_(unwrap_jso(this));
+
@DomName('MessageEvent.lastEventId')
@DocsEditable()
@Unstable()
- String get lastEventId => _blink.BlinkMessageEvent.instance.lastEventId_Getter_(this);
-
+ String get lastEventId => _blink.BlinkMessageEvent.instance.lastEventId_Getter_(unwrap_jso(this));
+
@DomName('MessageEvent.origin')
@DocsEditable()
- String get origin => _blink.BlinkMessageEvent.instance.origin_Getter_(this);
-
+ String get origin => _blink.BlinkMessageEvent.instance.origin_Getter_(unwrap_jso(this));
+
@DomName('MessageEvent.source')
@DocsEditable()
- EventTarget get source => _blink.BlinkMessageEvent.instance.source_Getter_(this);
-
+ EventTarget get source => wrap_jso(_blink.BlinkMessageEvent.instance.source_Getter_(unwrap_jso(this)));
+
@DomName('MessageEvent.initMessageEvent')
@DocsEditable()
- void _initMessageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object dataArg, String originArg, String lastEventIdArg, Window sourceArg, List<MessagePort> messagePorts) => _blink.BlinkMessageEvent.instance.initMessageEvent_Callback_8_(this, typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, messagePorts);
-
+ void _initMessageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Object dataArg, String originArg, String lastEventIdArg, Window sourceArg, List<MessagePort> messagePorts) => _blink.BlinkMessageEvent.instance.initMessageEvent_Callback_8_(unwrap_jso(this), typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, unwrap_jso(sourceArg), messagePorts);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22752,16 +22781,16 @@
@DomName('MessagePort.close')
@DocsEditable()
- void close() => _blink.BlinkMessagePort.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkMessagePort.instance.close_Callback_0_(unwrap_jso(this));
+
@DomName('MessagePort.postMessage')
@DocsEditable()
- void postMessage(Object message, [List<MessagePort> transfer]) => _blink.BlinkMessagePort.instance.postMessage_Callback_2_(this, message, transfer);
-
+ void postMessage(Object message, [List<MessagePort> transfer]) => _blink.BlinkMessagePort.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer);
+
@DomName('MessagePort.start')
@DocsEditable()
- void start() => _blink.BlinkMessagePort.instance.start_Callback_0_(this);
-
+ void start() => _blink.BlinkMessagePort.instance.start_Callback_0_(unwrap_jso(this));
+
/// Stream of `message` events handled by this [MessagePort].
@DomName('MessagePort.onmessage')
@DocsEditable()
@@ -22793,28 +22822,28 @@
@DomName('HTMLMetaElement.content')
@DocsEditable()
- String get content => _blink.BlinkHTMLMetaElement.instance.content_Getter_(this);
-
+ String get content => _blink.BlinkHTMLMetaElement.instance.content_Getter_(unwrap_jso(this));
+
@DomName('HTMLMetaElement.content')
@DocsEditable()
- void set content(String value) => _blink.BlinkHTMLMetaElement.instance.content_Setter_(this, value);
-
+ void set content(String value) => _blink.BlinkHTMLMetaElement.instance.content_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMetaElement.httpEquiv')
@DocsEditable()
- String get httpEquiv => _blink.BlinkHTMLMetaElement.instance.httpEquiv_Getter_(this);
-
+ String get httpEquiv => _blink.BlinkHTMLMetaElement.instance.httpEquiv_Getter_(unwrap_jso(this));
+
@DomName('HTMLMetaElement.httpEquiv')
@DocsEditable()
- void set httpEquiv(String value) => _blink.BlinkHTMLMetaElement.instance.httpEquiv_Setter_(this, value);
-
+ void set httpEquiv(String value) => _blink.BlinkHTMLMetaElement.instance.httpEquiv_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMetaElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLMetaElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLMetaElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLMetaElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLMetaElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLMetaElement.instance.name_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22833,12 +22862,12 @@
@DomName('Metadata.modificationTime')
@DocsEditable()
- DateTime get modificationTime => _blink.BlinkMetadata.instance.modificationTime_Getter_(this);
-
+ DateTime get modificationTime => _blink.BlinkMetadata.instance.modificationTime_Getter_(unwrap_jso(this));
+
@DomName('Metadata.size')
@DocsEditable()
- int get size => _blink.BlinkMetadata.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkMetadata.instance.size_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22883,57 +22912,57 @@
@DomName('HTMLMeterElement.high')
@DocsEditable()
- num get high => _blink.BlinkHTMLMeterElement.instance.high_Getter_(this);
-
+ num get high => _blink.BlinkHTMLMeterElement.instance.high_Getter_(unwrap_jso(this));
+
@DomName('HTMLMeterElement.high')
@DocsEditable()
- void set high(num value) => _blink.BlinkHTMLMeterElement.instance.high_Setter_(this, value);
-
+ void set high(num value) => _blink.BlinkHTMLMeterElement.instance.high_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMeterElement.labels')
@DocsEditable()
@Unstable()
- List<Node> get labels => _blink.BlinkHTMLMeterElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLMeterElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLMeterElement.low')
@DocsEditable()
- num get low => _blink.BlinkHTMLMeterElement.instance.low_Getter_(this);
-
+ num get low => _blink.BlinkHTMLMeterElement.instance.low_Getter_(unwrap_jso(this));
+
@DomName('HTMLMeterElement.low')
@DocsEditable()
- void set low(num value) => _blink.BlinkHTMLMeterElement.instance.low_Setter_(this, value);
-
+ void set low(num value) => _blink.BlinkHTMLMeterElement.instance.low_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMeterElement.max')
@DocsEditable()
- num get max => _blink.BlinkHTMLMeterElement.instance.max_Getter_(this);
-
+ num get max => _blink.BlinkHTMLMeterElement.instance.max_Getter_(unwrap_jso(this));
+
@DomName('HTMLMeterElement.max')
@DocsEditable()
- void set max(num value) => _blink.BlinkHTMLMeterElement.instance.max_Setter_(this, value);
-
+ void set max(num value) => _blink.BlinkHTMLMeterElement.instance.max_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMeterElement.min')
@DocsEditable()
- num get min => _blink.BlinkHTMLMeterElement.instance.min_Getter_(this);
-
+ num get min => _blink.BlinkHTMLMeterElement.instance.min_Getter_(unwrap_jso(this));
+
@DomName('HTMLMeterElement.min')
@DocsEditable()
- void set min(num value) => _blink.BlinkHTMLMeterElement.instance.min_Setter_(this, value);
-
+ void set min(num value) => _blink.BlinkHTMLMeterElement.instance.min_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMeterElement.optimum')
@DocsEditable()
- num get optimum => _blink.BlinkHTMLMeterElement.instance.optimum_Getter_(this);
-
+ num get optimum => _blink.BlinkHTMLMeterElement.instance.optimum_Getter_(unwrap_jso(this));
+
@DomName('HTMLMeterElement.optimum')
@DocsEditable()
- void set optimum(num value) => _blink.BlinkHTMLMeterElement.instance.optimum_Setter_(this, value);
-
+ void set optimum(num value) => _blink.BlinkHTMLMeterElement.instance.optimum_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLMeterElement.value')
@DocsEditable()
- num get value => _blink.BlinkHTMLMeterElement.instance.value_Getter_(this);
-
+ num get value => _blink.BlinkHTMLMeterElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLMeterElement.value')
@DocsEditable()
- void set value(num value) => _blink.BlinkHTMLMeterElement.instance.value_Setter_(this, value);
-
+ void set value(num value) => _blink.BlinkHTMLMeterElement.instance.value_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -22972,17 +23001,17 @@
@DomName('MIDIAccess.inputs')
@DocsEditable()
- MidiInputMap get inputs => _blink.BlinkMIDIAccess.instance.inputs_Getter_(this);
-
+ MidiInputMap get inputs => wrap_jso(_blink.BlinkMIDIAccess.instance.inputs_Getter_(unwrap_jso(this)));
+
@DomName('MIDIAccess.outputs')
@DocsEditable()
- MidiOutputMap get outputs => _blink.BlinkMIDIAccess.instance.outputs_Getter_(this);
-
+ MidiOutputMap get outputs => wrap_jso(_blink.BlinkMIDIAccess.instance.outputs_Getter_(unwrap_jso(this)));
+
@DomName('MIDIAccess.sysexEnabled')
@DocsEditable()
@Experimental() // untriaged
- bool get sysexEnabled => _blink.BlinkMIDIAccess.instance.sysexEnabled_Getter_(this);
-
+ bool get sysexEnabled => _blink.BlinkMIDIAccess.instance.sysexEnabled_Getter_(unwrap_jso(this));
+
/// Stream of `connect` events handled by this [MidiAccess].
@DomName('MIDIAccess.onconnect')
@DocsEditable()
@@ -23011,8 +23040,8 @@
@DomName('MIDIConnectionEvent.port')
@DocsEditable()
- MidiPort get port => _blink.BlinkMIDIConnectionEvent.instance.port_Getter_(this);
-
+ MidiPort get port => wrap_jso(_blink.BlinkMIDIConnectionEvent.instance.port_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23062,33 +23091,33 @@
@DomName('MIDIInputMap.size')
@DocsEditable()
@Experimental() // untriaged
- int get size => _blink.BlinkMIDIInputMap.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkMIDIInputMap.instance.size_Getter_(unwrap_jso(this));
+
@DomName('MIDIInputMap.entries')
@DocsEditable()
@Experimental() // untriaged
- DomIterator entries() => _blink.BlinkMIDIInputMap.instance.entries_Callback_0_(this);
-
+ DomIterator entries() => _blink.BlinkMIDIInputMap.instance.entries_Callback_0_(unwrap_jso(this));
+
@DomName('MIDIInputMap.get')
@DocsEditable()
@Experimental() // untriaged
- Object get(String id) => _blink.BlinkMIDIInputMap.instance.get_Callback_1_(this, id);
-
+ Object get(String id) => wrap_jso(_blink.BlinkMIDIInputMap.instance.get_Callback_1_(unwrap_jso(this), id));
+
@DomName('MIDIInputMap.has')
@DocsEditable()
@Experimental() // untriaged
- bool has(String key) => _blink.BlinkMIDIInputMap.instance.has_Callback_1_(this, key);
-
+ bool has(String key) => _blink.BlinkMIDIInputMap.instance.has_Callback_1_(unwrap_jso(this), key);
+
@DomName('MIDIInputMap.keys')
@DocsEditable()
@Experimental() // untriaged
- DomIterator keys() => _blink.BlinkMIDIInputMap.instance.keys_Callback_0_(this);
-
+ DomIterator keys() => _blink.BlinkMIDIInputMap.instance.keys_Callback_0_(unwrap_jso(this));
+
@DomName('MIDIInputMap.values')
@DocsEditable()
@Experimental() // untriaged
- DomIterator values() => _blink.BlinkMIDIInputMap.instance.values_Callback_0_(this);
-
+ DomIterator values() => _blink.BlinkMIDIInputMap.instance.values_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23107,12 +23136,12 @@
@DomName('MIDIMessageEvent.data')
@DocsEditable()
- Uint8List get data => _blink.BlinkMIDIMessageEvent.instance.data_Getter_(this);
-
+ Uint8List get data => wrap_jso(_blink.BlinkMIDIMessageEvent.instance.data_Getter_(unwrap_jso(this)));
+
@DomName('MIDIMessageEvent.receivedTime')
@DocsEditable()
- double get receivedTime => _blink.BlinkMIDIMessageEvent.instance.receivedTime_Getter_(this);
-
+ double get receivedTime => _blink.BlinkMIDIMessageEvent.instance.receivedTime_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23131,10 +23160,10 @@
void send(Uint8List data, [num timestamp]) {
if (timestamp != null) {
- _blink.BlinkMIDIOutput.instance.send_Callback_2_(this, data, timestamp);
+ _blink.BlinkMIDIOutput.instance.send_Callback_2_(unwrap_jso(this), data, timestamp);
return;
}
- _blink.BlinkMIDIOutput.instance.send_Callback_1_(this, data);
+ _blink.BlinkMIDIOutput.instance.send_Callback_1_(unwrap_jso(this), data);
return;
}
@@ -23156,33 +23185,33 @@
@DomName('MIDIOutputMap.size')
@DocsEditable()
@Experimental() // untriaged
- int get size => _blink.BlinkMIDIOutputMap.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkMIDIOutputMap.instance.size_Getter_(unwrap_jso(this));
+
@DomName('MIDIOutputMap.entries')
@DocsEditable()
@Experimental() // untriaged
- DomIterator entries() => _blink.BlinkMIDIOutputMap.instance.entries_Callback_0_(this);
-
+ DomIterator entries() => _blink.BlinkMIDIOutputMap.instance.entries_Callback_0_(unwrap_jso(this));
+
@DomName('MIDIOutputMap.get')
@DocsEditable()
@Experimental() // untriaged
- Object get(String id) => _blink.BlinkMIDIOutputMap.instance.get_Callback_1_(this, id);
-
+ Object get(String id) => wrap_jso(_blink.BlinkMIDIOutputMap.instance.get_Callback_1_(unwrap_jso(this), id));
+
@DomName('MIDIOutputMap.has')
@DocsEditable()
@Experimental() // untriaged
- bool has(String key) => _blink.BlinkMIDIOutputMap.instance.has_Callback_1_(this, key);
-
+ bool has(String key) => _blink.BlinkMIDIOutputMap.instance.has_Callback_1_(unwrap_jso(this), key);
+
@DomName('MIDIOutputMap.keys')
@DocsEditable()
@Experimental() // untriaged
- DomIterator keys() => _blink.BlinkMIDIOutputMap.instance.keys_Callback_0_(this);
-
+ DomIterator keys() => _blink.BlinkMIDIOutputMap.instance.keys_Callback_0_(unwrap_jso(this));
+
@DomName('MIDIOutputMap.values')
@DocsEditable()
@Experimental() // untriaged
- DomIterator values() => _blink.BlinkMIDIOutputMap.instance.values_Callback_0_(this);
-
+ DomIterator values() => _blink.BlinkMIDIOutputMap.instance.values_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23211,24 +23240,24 @@
@DomName('MIDIPort.id')
@DocsEditable()
- String get id => _blink.BlinkMIDIPort.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkMIDIPort.instance.id_Getter_(unwrap_jso(this));
+
@DomName('MIDIPort.manufacturer')
@DocsEditable()
- String get manufacturer => _blink.BlinkMIDIPort.instance.manufacturer_Getter_(this);
-
+ String get manufacturer => _blink.BlinkMIDIPort.instance.manufacturer_Getter_(unwrap_jso(this));
+
@DomName('MIDIPort.name')
@DocsEditable()
- String get name => _blink.BlinkMIDIPort.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkMIDIPort.instance.name_Getter_(unwrap_jso(this));
+
@DomName('MIDIPort.type')
@DocsEditable()
- String get type => _blink.BlinkMIDIPort.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkMIDIPort.instance.type_Getter_(unwrap_jso(this));
+
@DomName('MIDIPort.version')
@DocsEditable()
- String get version => _blink.BlinkMIDIPort.instance.version_Getter_(this);
-
+ String get version => _blink.BlinkMIDIPort.instance.version_Getter_(unwrap_jso(this));
+
/// Stream of `disconnect` events handled by this [MidiPort].
@DomName('MIDIPort.ondisconnect')
@DocsEditable()
@@ -23251,20 +23280,20 @@
@DomName('MimeType.description')
@DocsEditable()
- String get description => _blink.BlinkMimeType.instance.description_Getter_(this);
-
+ String get description => _blink.BlinkMimeType.instance.description_Getter_(unwrap_jso(this));
+
@DomName('MimeType.enabledPlugin')
@DocsEditable()
- Plugin get enabledPlugin => _blink.BlinkMimeType.instance.enabledPlugin_Getter_(this);
-
+ Plugin get enabledPlugin => wrap_jso(_blink.BlinkMimeType.instance.enabledPlugin_Getter_(unwrap_jso(this)));
+
@DomName('MimeType.suffixes')
@DocsEditable()
- String get suffixes => _blink.BlinkMimeType.instance.suffixes_Getter_(this);
-
+ String get suffixes => _blink.BlinkMimeType.instance.suffixes_Getter_(unwrap_jso(this));
+
@DomName('MimeType.type')
@DocsEditable()
- String get type => _blink.BlinkMimeType.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkMimeType.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23282,16 +23311,16 @@
@DomName('MimeTypeArray.length')
@DocsEditable()
- int get length => _blink.BlinkMimeTypeArray.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkMimeTypeArray.instance.length_Getter_(unwrap_jso(this));
+
MimeType operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkMimeTypeArray.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkMimeTypeArray.instance.item_Callback_1_(unwrap_jso(this), index));
}
- MimeType _nativeIndexedGetter(int index) => _blink.BlinkMimeTypeArray.instance.item_Callback_1_(this, index);
-
+ MimeType _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkMimeTypeArray.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, MimeType value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -23332,16 +23361,16 @@
@DomName('MimeTypeArray.__getter__')
@DocsEditable()
- MimeType __getter__(String name) => _blink.BlinkMimeTypeArray.instance.$__getter___Callback_1_(this, name);
-
+ MimeType __getter__(String name) => wrap_jso(_blink.BlinkMimeTypeArray.instance.$__getter___Callback_1_(unwrap_jso(this), name));
+
@DomName('MimeTypeArray.item')
@DocsEditable()
- MimeType item(int index) => _blink.BlinkMimeTypeArray.instance.item_Callback_1_(this, index);
-
+ MimeType item(int index) => wrap_jso(_blink.BlinkMimeTypeArray.instance.item_Callback_1_(unwrap_jso(this), index));
+
@DomName('MimeTypeArray.namedItem')
@DocsEditable()
- MimeType namedItem(String name) => _blink.BlinkMimeTypeArray.instance.namedItem_Callback_1_(this, name);
-
+ MimeType namedItem(String name) => wrap_jso(_blink.BlinkMimeTypeArray.instance.namedItem_Callback_1_(unwrap_jso(this), name));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23365,20 +23394,20 @@
@DomName('HTMLModElement.cite')
@DocsEditable()
- String get cite => _blink.BlinkHTMLModElement.instance.cite_Getter_(this);
-
+ String get cite => _blink.BlinkHTMLModElement.instance.cite_Getter_(unwrap_jso(this));
+
@DomName('HTMLModElement.cite')
@DocsEditable()
- void set cite(String value) => _blink.BlinkHTMLModElement.instance.cite_Setter_(this, value);
-
+ void set cite(String value) => _blink.BlinkHTMLModElement.instance.cite_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLModElement.dateTime')
@DocsEditable()
- String get dateTime => _blink.BlinkHTMLModElement.instance.dateTime_Getter_(this);
-
+ String get dateTime => _blink.BlinkHTMLModElement.instance.dateTime_Getter_(unwrap_jso(this));
+
@DomName('HTMLModElement.dateTime')
@DocsEditable()
- void set dateTime(String value) => _blink.BlinkHTMLModElement.instance.dateTime_Setter_(this, value);
-
+ void set dateTime(String value) => _blink.BlinkHTMLModElement.instance.dateTime_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23409,29 +23438,29 @@
@DomName('MouseEvent.altKey')
@DocsEditable()
- bool get altKey => _blink.BlinkMouseEvent.instance.altKey_Getter_(this);
-
+ bool get altKey => _blink.BlinkMouseEvent.instance.altKey_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.button')
@DocsEditable()
- int get button => _blink.BlinkMouseEvent.instance.button_Getter_(this);
-
+ int get button => _blink.BlinkMouseEvent.instance.button_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.clientX')
@DocsEditable()
- int get _clientX => _blink.BlinkMouseEvent.instance.clientX_Getter_(this);
-
+ int get _clientX => _blink.BlinkMouseEvent.instance.clientX_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.clientY')
@DocsEditable()
- int get _clientY => _blink.BlinkMouseEvent.instance.clientY_Getter_(this);
-
+ int get _clientY => _blink.BlinkMouseEvent.instance.clientY_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.ctrlKey')
@DocsEditable()
- bool get ctrlKey => _blink.BlinkMouseEvent.instance.ctrlKey_Getter_(this);
-
+ bool get ctrlKey => _blink.BlinkMouseEvent.instance.ctrlKey_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.dataTransfer')
@DocsEditable()
@Unstable()
- DataTransfer get dataTransfer => _blink.BlinkMouseEvent.instance.dataTransfer_Getter_(this);
-
+ DataTransfer get dataTransfer => wrap_jso(_blink.BlinkMouseEvent.instance.dataTransfer_Getter_(unwrap_jso(this)));
+
/**
* The nonstandard way to access the element that the mouse comes
* from in the case of a `mouseover` event.
@@ -23442,53 +23471,53 @@
@DomName('MouseEvent.fromElement')
@DocsEditable()
@deprecated
- Node get fromElement => _blink.BlinkMouseEvent.instance.fromElement_Getter_(this);
-
+ Node get fromElement => wrap_jso(_blink.BlinkMouseEvent.instance.fromElement_Getter_(unwrap_jso(this)));
+
@DomName('MouseEvent.metaKey')
@DocsEditable()
- bool get metaKey => _blink.BlinkMouseEvent.instance.metaKey_Getter_(this);
-
+ bool get metaKey => _blink.BlinkMouseEvent.instance.metaKey_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.movementX')
@DocsEditable()
@Experimental() // untriaged
- int get _movementX => _blink.BlinkMouseEvent.instance.movementX_Getter_(this);
-
+ int get _movementX => _blink.BlinkMouseEvent.instance.movementX_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.movementY')
@DocsEditable()
@Experimental() // untriaged
- int get _movementY => _blink.BlinkMouseEvent.instance.movementY_Getter_(this);
-
+ int get _movementY => _blink.BlinkMouseEvent.instance.movementY_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.offsetX')
@DocsEditable()
@Unstable()
- int get _offsetX => _blink.BlinkMouseEvent.instance.offsetX_Getter_(this);
-
+ int get _offsetX => _blink.BlinkMouseEvent.instance.offsetX_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.offsetY')
@DocsEditable()
@Unstable()
- int get _offsetY => _blink.BlinkMouseEvent.instance.offsetY_Getter_(this);
-
+ int get _offsetY => _blink.BlinkMouseEvent.instance.offsetY_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.region')
@DocsEditable()
@Experimental() // untriaged
- String get region => _blink.BlinkMouseEvent.instance.region_Getter_(this);
-
+ String get region => _blink.BlinkMouseEvent.instance.region_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.relatedTarget')
@DocsEditable()
- EventTarget get relatedTarget => _blink.BlinkMouseEvent.instance.relatedTarget_Getter_(this);
-
+ EventTarget get relatedTarget => wrap_jso(_blink.BlinkMouseEvent.instance.relatedTarget_Getter_(unwrap_jso(this)));
+
@DomName('MouseEvent.screenX')
@DocsEditable()
- int get _screenX => _blink.BlinkMouseEvent.instance.screenX_Getter_(this);
-
+ int get _screenX => _blink.BlinkMouseEvent.instance.screenX_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.screenY')
@DocsEditable()
- int get _screenY => _blink.BlinkMouseEvent.instance.screenY_Getter_(this);
-
+ int get _screenY => _blink.BlinkMouseEvent.instance.screenY_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.shiftKey')
@DocsEditable()
- bool get shiftKey => _blink.BlinkMouseEvent.instance.shiftKey_Getter_(this);
-
+ bool get shiftKey => _blink.BlinkMouseEvent.instance.shiftKey_Getter_(unwrap_jso(this));
+
/**
* The nonstandard way to access the element that the mouse goes
* to in the case of a `mouseout` event.
@@ -23499,26 +23528,26 @@
@DomName('MouseEvent.toElement')
@DocsEditable()
@deprecated
- Node get toElement => _blink.BlinkMouseEvent.instance.toElement_Getter_(this);
-
+ Node get toElement => wrap_jso(_blink.BlinkMouseEvent.instance.toElement_Getter_(unwrap_jso(this)));
+
@DomName('MouseEvent.webkitMovementX')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
- int get _webkitMovementX => _blink.BlinkMouseEvent.instance.webkitMovementX_Getter_(this);
-
+ int get _webkitMovementX => _blink.BlinkMouseEvent.instance.webkitMovementX_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.webkitMovementY')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
- int get _webkitMovementY => _blink.BlinkMouseEvent.instance.webkitMovementY_Getter_(this);
-
+ int get _webkitMovementY => _blink.BlinkMouseEvent.instance.webkitMovementY_Getter_(unwrap_jso(this));
+
@DomName('MouseEvent.initMouseEvent')
@DocsEditable()
- void _initMouseEvent(String type, bool canBubble, bool cancelable, Window view, int detail, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, int button, EventTarget relatedTarget) => _blink.BlinkMouseEvent.instance.initMouseEvent_Callback_15_(this, type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
-
+ void _initMouseEvent(String type, bool canBubble, bool cancelable, Window view, int detail, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, int button, EventTarget relatedTarget) => _blink.BlinkMouseEvent.instance.initMouseEvent_Callback_15_(unwrap_jso(this), type, canBubble, cancelable, unwrap_jso(view), detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, unwrap_jso(relatedTarget));
+
@deprecated
int get clientX => client.x;
@@ -23584,23 +23613,20 @@
@DomName('MutationObserver.MutationObserver')
@DocsEditable()
- factory MutationObserver._(MutationCallback callback) => _create(callback);
-
- @DocsEditable()
- static MutationObserver _create(callback) => _blink.BlinkMutationObserver.instance.constructorCallback_1_(callback);
+ factory MutationObserver._(MutationCallback callback) => wrap_jso(_create(callback));
@DomName('MutationObserver.disconnect')
@DocsEditable()
- void disconnect() => _blink.BlinkMutationObserver.instance.disconnect_Callback_0_(this);
-
+ void disconnect() => _blink.BlinkMutationObserver.instance.disconnect_Callback_0_(unwrap_jso(this));
+
@DomName('MutationObserver.observe')
@DocsEditable()
- void _observe(Node target, Map options) => _blink.BlinkMutationObserver.instance.observe_Callback_2_(this, target, options);
-
+ void _observe(Node target, Map options) => _blink.BlinkMutationObserver.instance.observe_Callback_2_(unwrap_jso(this), unwrap_jso(target), options);
+
@DomName('MutationObserver.takeRecords')
@DocsEditable()
- List<MutationRecord> takeRecords() => _blink.BlinkMutationObserver.instance.takeRecords_Callback_0_(this);
-
+ List<MutationRecord> takeRecords() => _blink.BlinkMutationObserver.instance.takeRecords_Callback_0_(unwrap_jso(this));
+
/**
* Checks to see if the mutation observer API is supported on the current
* platform.
@@ -23608,6 +23634,8 @@
static bool get supported {
return true;
}
+ @DocsEditable()
+ static MutationObserver _create(callback) => _blink.BlinkMutationObserver.instance.constructorCallback_1_(callback);
/**
* Observes the target for the specified changes.
@@ -23684,40 +23712,40 @@
@DomName('MutationRecord.addedNodes')
@DocsEditable()
- List<Node> get addedNodes => _blink.BlinkMutationRecord.instance.addedNodes_Getter_(this);
-
+ List<Node> get addedNodes => wrap_jso_list(_blink.BlinkMutationRecord.instance.addedNodes_Getter_(unwrap_jso(this)));
+
@DomName('MutationRecord.attributeName')
@DocsEditable()
- String get attributeName => _blink.BlinkMutationRecord.instance.attributeName_Getter_(this);
-
+ String get attributeName => _blink.BlinkMutationRecord.instance.attributeName_Getter_(unwrap_jso(this));
+
@DomName('MutationRecord.attributeNamespace')
@DocsEditable()
- String get attributeNamespace => _blink.BlinkMutationRecord.instance.attributeNamespace_Getter_(this);
-
+ String get attributeNamespace => _blink.BlinkMutationRecord.instance.attributeNamespace_Getter_(unwrap_jso(this));
+
@DomName('MutationRecord.nextSibling')
@DocsEditable()
- Node get nextSibling => _blink.BlinkMutationRecord.instance.nextSibling_Getter_(this);
-
+ Node get nextSibling => wrap_jso(_blink.BlinkMutationRecord.instance.nextSibling_Getter_(unwrap_jso(this)));
+
@DomName('MutationRecord.oldValue')
@DocsEditable()
- String get oldValue => _blink.BlinkMutationRecord.instance.oldValue_Getter_(this);
-
+ String get oldValue => _blink.BlinkMutationRecord.instance.oldValue_Getter_(unwrap_jso(this));
+
@DomName('MutationRecord.previousSibling')
@DocsEditable()
- Node get previousSibling => _blink.BlinkMutationRecord.instance.previousSibling_Getter_(this);
-
+ Node get previousSibling => wrap_jso(_blink.BlinkMutationRecord.instance.previousSibling_Getter_(unwrap_jso(this)));
+
@DomName('MutationRecord.removedNodes')
@DocsEditable()
- List<Node> get removedNodes => _blink.BlinkMutationRecord.instance.removedNodes_Getter_(this);
-
+ List<Node> get removedNodes => wrap_jso_list(_blink.BlinkMutationRecord.instance.removedNodes_Getter_(unwrap_jso(this)));
+
@DomName('MutationRecord.target')
@DocsEditable()
- Node get target => _blink.BlinkMutationRecord.instance.target_Getter_(this);
-
+ Node get target => wrap_jso(_blink.BlinkMutationRecord.instance.target_Getter_(unwrap_jso(this)));
+
@DomName('MutationRecord.type')
@DocsEditable()
- String get type => _blink.BlinkMutationRecord.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkMutationRecord.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -23789,133 +23817,133 @@
@DomName('Navigator.connection')
@DocsEditable()
@Experimental() // untriaged
- NetworkInformation get connection => _blink.BlinkNavigator.instance.connection_Getter_(this);
-
+ NetworkInformation get connection => wrap_jso(_blink.BlinkNavigator.instance.connection_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.cookieEnabled')
@DocsEditable()
@Unstable()
- bool get cookieEnabled => _blink.BlinkNavigator.instance.cookieEnabled_Getter_(this);
-
+ bool get cookieEnabled => _blink.BlinkNavigator.instance.cookieEnabled_Getter_(unwrap_jso(this));
+
@DomName('Navigator.credentials')
@DocsEditable()
@Experimental() // untriaged
- CredentialsContainer get credentials => _blink.BlinkNavigator.instance.credentials_Getter_(this);
-
+ CredentialsContainer get credentials => wrap_jso(_blink.BlinkNavigator.instance.credentials_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.doNotTrack')
@DocsEditable()
// http://www.w3.org/2011/tracking-protection/drafts/tracking-dnt.html#js-dom
@Experimental() // experimental
- String get doNotTrack => _blink.BlinkNavigator.instance.doNotTrack_Getter_(this);
-
+ String get doNotTrack => _blink.BlinkNavigator.instance.doNotTrack_Getter_(unwrap_jso(this));
+
@DomName('Navigator.geofencing')
@DocsEditable()
@Experimental() // untriaged
- Geofencing get geofencing => _blink.BlinkNavigator.instance.geofencing_Getter_(this);
-
+ Geofencing get geofencing => wrap_jso(_blink.BlinkNavigator.instance.geofencing_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.geolocation')
@DocsEditable()
@Unstable()
- Geolocation get geolocation => _blink.BlinkNavigator.instance.geolocation_Getter_(this);
-
+ Geolocation get geolocation => wrap_jso(_blink.BlinkNavigator.instance.geolocation_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.maxTouchPoints')
@DocsEditable()
@Experimental() // untriaged
- int get maxTouchPoints => _blink.BlinkNavigator.instance.maxTouchPoints_Getter_(this);
-
+ int get maxTouchPoints => _blink.BlinkNavigator.instance.maxTouchPoints_Getter_(unwrap_jso(this));
+
@DomName('Navigator.mimeTypes')
@DocsEditable()
@Experimental() // nonstandard
- MimeTypeArray get mimeTypes => _blink.BlinkNavigator.instance.mimeTypes_Getter_(this);
-
+ MimeTypeArray get mimeTypes => wrap_jso(_blink.BlinkNavigator.instance.mimeTypes_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.presentation')
@DocsEditable()
@Experimental() // untriaged
- Presentation get presentation => _blink.BlinkNavigator.instance.presentation_Getter_(this);
-
+ Presentation get presentation => wrap_jso(_blink.BlinkNavigator.instance.presentation_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.productSub')
@DocsEditable()
@Unstable()
- String get productSub => _blink.BlinkNavigator.instance.productSub_Getter_(this);
-
+ String get productSub => _blink.BlinkNavigator.instance.productSub_Getter_(unwrap_jso(this));
+
@DomName('Navigator.push')
@DocsEditable()
@Experimental() // untriaged
- PushManager get push => _blink.BlinkNavigator.instance.push_Getter_(this);
-
+ PushManager get push => wrap_jso(_blink.BlinkNavigator.instance.push_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.serviceWorker')
@DocsEditable()
@Experimental() // untriaged
- ServiceWorkerContainer get serviceWorker => _blink.BlinkNavigator.instance.serviceWorker_Getter_(this);
-
+ ServiceWorkerContainer get serviceWorker => wrap_jso(_blink.BlinkNavigator.instance.serviceWorker_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.storageQuota')
@DocsEditable()
@Experimental() // untriaged
- StorageQuota get storageQuota => _blink.BlinkNavigator.instance.storageQuota_Getter_(this);
-
+ StorageQuota get storageQuota => wrap_jso(_blink.BlinkNavigator.instance.storageQuota_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.vendor')
@DocsEditable()
@Unstable()
- String get vendor => _blink.BlinkNavigator.instance.vendor_Getter_(this);
-
+ String get vendor => _blink.BlinkNavigator.instance.vendor_Getter_(unwrap_jso(this));
+
@DomName('Navigator.vendorSub')
@DocsEditable()
@Unstable()
- String get vendorSub => _blink.BlinkNavigator.instance.vendorSub_Getter_(this);
-
+ String get vendorSub => _blink.BlinkNavigator.instance.vendorSub_Getter_(unwrap_jso(this));
+
@DomName('Navigator.webkitPersistentStorage')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/quota-api/#accessing-storagequota
- DeprecatedStorageQuota get persistentStorage => _blink.BlinkNavigator.instance.webkitPersistentStorage_Getter_(this);
-
+ DeprecatedStorageQuota get persistentStorage => wrap_jso(_blink.BlinkNavigator.instance.webkitPersistentStorage_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.webkitTemporaryStorage')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3.org/TR/quota-api/#accessing-storagequota
- DeprecatedStorageQuota get temporaryStorage => _blink.BlinkNavigator.instance.webkitTemporaryStorage_Getter_(this);
-
+ DeprecatedStorageQuota get temporaryStorage => wrap_jso(_blink.BlinkNavigator.instance.webkitTemporaryStorage_Getter_(unwrap_jso(this)));
+
@DomName('Navigator.getBattery')
@DocsEditable()
@Experimental() // untriaged
- Future getBattery() => _blink.BlinkNavigator.instance.getBattery_Callback_0_(this);
-
+ Future getBattery() => _blink.BlinkNavigator.instance.getBattery_Callback_0_(unwrap_jso(this));
+
@DomName('Navigator.getGamepads')
@DocsEditable()
@Experimental() // untriaged
- List<Gamepad> getGamepads() => _blink.BlinkNavigator.instance.getGamepads_Callback_0_(this);
-
+ List<Gamepad> getGamepads() => _blink.BlinkNavigator.instance.getGamepads_Callback_0_(unwrap_jso(this));
+
@DomName('Navigator.getStorageUpdates')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/timers.html#navigatorstorageutils
@Experimental()
- void getStorageUpdates() => _blink.BlinkNavigator.instance.getStorageUpdates_Callback_0_(this);
-
+ void getStorageUpdates() => _blink.BlinkNavigator.instance.getStorageUpdates_Callback_0_(unwrap_jso(this));
+
@DomName('Navigator.isProtocolHandlerRegistered')
@DocsEditable()
@Experimental() // untriaged
- String isProtocolHandlerRegistered(String scheme, String url) => _blink.BlinkNavigator.instance.isProtocolHandlerRegistered_Callback_2_(this, scheme, url);
-
+ String isProtocolHandlerRegistered(String scheme, String url) => _blink.BlinkNavigator.instance.isProtocolHandlerRegistered_Callback_2_(unwrap_jso(this), scheme, url);
+
@DomName('Navigator.registerProtocolHandler')
@DocsEditable()
@Unstable()
- void registerProtocolHandler(String scheme, String url, String title) => _blink.BlinkNavigator.instance.registerProtocolHandler_Callback_3_(this, scheme, url, title);
-
+ void registerProtocolHandler(String scheme, String url, String title) => _blink.BlinkNavigator.instance.registerProtocolHandler_Callback_3_(unwrap_jso(this), scheme, url, title);
+
bool sendBeacon(String url, data) {
if ((data is String || data == null) && (url is String || url == null)) {
- return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(this, url, data);
+ return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(unwrap_jso(this), url, unwrap_jso(data));
}
if ((data is TypedData || data == null) && (url is String || url == null)) {
- return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(this, url, data);
+ return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(unwrap_jso(this), url, unwrap_jso(data));
}
if ((data is FormData || data == null) && (url is String || url == null)) {
- return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(this, url, data);
+ return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(unwrap_jso(this), url, unwrap_jso(data));
}
if ((data is Blob || data == null) && (url is String || url == null)) {
- return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(this, url, data);
+ return _blink.BlinkNavigator.instance.sendBeacon_Callback_2_(unwrap_jso(this), url, unwrap_jso(data));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@@ -23923,64 +23951,64 @@
@DomName('Navigator.unregisterProtocolHandler')
@DocsEditable()
@Experimental() // untriaged
- void unregisterProtocolHandler(String scheme, String url) => _blink.BlinkNavigator.instance.unregisterProtocolHandler_Callback_2_(this, scheme, url);
-
+ void unregisterProtocolHandler(String scheme, String url) => _blink.BlinkNavigator.instance.unregisterProtocolHandler_Callback_2_(unwrap_jso(this), scheme, url);
+
@DomName('Navigator.webkitGetUserMedia')
@DocsEditable()
// http://dev.w3.org/2011/webrtc/editor/getusermedia.html#navigatorusermedia
@Experimental()
- void _getUserMedia(Map options, _NavigatorUserMediaSuccessCallback successCallback, _NavigatorUserMediaErrorCallback errorCallback) => _blink.BlinkNavigator.instance.webkitGetUserMedia_Callback_3_(this, options, successCallback, errorCallback);
-
+ void _getUserMedia(Map options, _NavigatorUserMediaSuccessCallback successCallback, _NavigatorUserMediaErrorCallback errorCallback) => _blink.BlinkNavigator.instance.webkitGetUserMedia_Callback_3_(unwrap_jso(this), options, unwrap_jso(successCallback), unwrap_jso(errorCallback));
+
@DomName('Navigator.hardwareConcurrency')
@DocsEditable()
@Experimental() // untriaged
- int get hardwareConcurrency => _blink.BlinkNavigator.instance.hardwareConcurrency_Getter_(this);
-
+ int get hardwareConcurrency => _blink.BlinkNavigator.instance.hardwareConcurrency_Getter_(unwrap_jso(this));
+
@DomName('Navigator.appCodeName')
@DocsEditable()
@Experimental() // non-standard
- String get appCodeName => _blink.BlinkNavigator.instance.appCodeName_Getter_(this);
-
+ String get appCodeName => _blink.BlinkNavigator.instance.appCodeName_Getter_(unwrap_jso(this));
+
@DomName('Navigator.appName')
@DocsEditable()
- String get appName => _blink.BlinkNavigator.instance.appName_Getter_(this);
-
+ String get appName => _blink.BlinkNavigator.instance.appName_Getter_(unwrap_jso(this));
+
@DomName('Navigator.appVersion')
@DocsEditable()
- String get appVersion => _blink.BlinkNavigator.instance.appVersion_Getter_(this);
-
+ String get appVersion => _blink.BlinkNavigator.instance.appVersion_Getter_(unwrap_jso(this));
+
@DomName('Navigator.dartEnabled')
@DocsEditable()
@Experimental() // untriaged
- bool get dartEnabled => _blink.BlinkNavigator.instance.dartEnabled_Getter_(this);
-
+ bool get dartEnabled => _blink.BlinkNavigator.instance.dartEnabled_Getter_(unwrap_jso(this));
+
@DomName('Navigator.platform')
@DocsEditable()
- String get platform => _blink.BlinkNavigator.instance.platform_Getter_(this);
-
+ String get platform => _blink.BlinkNavigator.instance.platform_Getter_(unwrap_jso(this));
+
@DomName('Navigator.product')
@DocsEditable()
@Unstable()
- String get product => _blink.BlinkNavigator.instance.product_Getter_(this);
-
+ String get product => _blink.BlinkNavigator.instance.product_Getter_(unwrap_jso(this));
+
@DomName('Navigator.userAgent')
@DocsEditable()
- String get userAgent => _blink.BlinkNavigator.instance.userAgent_Getter_(this);
-
+ String get userAgent => _blink.BlinkNavigator.instance.userAgent_Getter_(unwrap_jso(this));
+
@DomName('Navigator.language')
@DocsEditable()
- String get language => _blink.BlinkNavigator.instance.language_Getter_(this);
-
+ String get language => _blink.BlinkNavigator.instance.language_Getter_(unwrap_jso(this));
+
@DomName('Navigator.languages')
@DocsEditable()
@Experimental() // untriaged
- List<String> get languages => _blink.BlinkNavigator.instance.languages_Getter_(this);
-
+ List<String> get languages => _blink.BlinkNavigator.instance.languages_Getter_(unwrap_jso(this));
+
@DomName('Navigator.onLine')
@DocsEditable()
@Unstable()
- bool get onLine => _blink.BlinkNavigator.instance.onLine_Getter_(this);
-
+ bool get onLine => _blink.BlinkNavigator.instance.onLine_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -24114,16 +24142,16 @@
@DomName('NavigatorUserMediaError.constraintName')
@DocsEditable()
- String get constraintName => _blink.BlinkNavigatorUserMediaError.instance.constraintName_Getter_(this);
-
+ String get constraintName => _blink.BlinkNavigatorUserMediaError.instance.constraintName_Getter_(unwrap_jso(this));
+
@DomName('NavigatorUserMediaError.message')
@DocsEditable()
- String get message => _blink.BlinkNavigatorUserMediaError.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkNavigatorUserMediaError.instance.message_Getter_(unwrap_jso(this));
+
@DomName('NavigatorUserMediaError.name')
@DocsEditable()
- String get name => _blink.BlinkNavigatorUserMediaError.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkNavigatorUserMediaError.instance.name_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -24164,8 +24192,8 @@
@DomName('NetworkInformation.type')
@DocsEditable()
@Experimental() // untriaged
- String get type => _blink.BlinkNetworkInformation.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkNetworkInformation.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -24426,6 +24454,21 @@
String value = nodeValue; // Fetch DOM Node property once.
return value == null ? super.toString() : value;
}
+
+ /**
+ * A list of this node's children.
+ *
+ * ## Other resources
+ *
+ * * [Node.childNodes]
+ * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
+ * from MDN.
+ */
+ @DomName('Node.childNodes')
+ @DocsEditable()
+ @Returns('NodeList')
+ @Creates('NodeList')
+ List<Node> get childNodes => _blink.BlinkNode.instance.childNodes_Getter_(this);
// To suppress missing implicit constructor warnings.
factory Node._() { throw new UnsupportedError("Not supported"); }
@@ -24479,21 +24522,8 @@
@DomName('Node.baseURI')
@DocsEditable()
- String get baseUri => _blink.BlinkNode.instance.baseURI_Getter_(this);
-
- /**
- * A list of this node's children.
- *
- * ## Other resources
- *
- * * [Node.childNodes]
- * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
- * from MDN.
- */
- @DomName('Node.childNodes')
- @DocsEditable()
- List<Node> get childNodes => _blink.BlinkNode.instance.childNodes_Getter_(this);
-
+ String get baseUri => _blink.BlinkNode.instance.baseURI_Getter_(unwrap_jso(this));
+
/**
* The first child of this node.
*
@@ -24505,8 +24535,8 @@
*/
@DomName('Node.firstChild')
@DocsEditable()
- Node get firstChild => _blink.BlinkNode.instance.firstChild_Getter_(this);
-
+ Node get firstChild => wrap_jso(_blink.BlinkNode.instance.firstChild_Getter_(unwrap_jso(this)));
+
/**
* The last child of this node.
*
@@ -24518,16 +24548,16 @@
*/
@DomName('Node.lastChild')
@DocsEditable()
- Node get lastChild => _blink.BlinkNode.instance.lastChild_Getter_(this);
-
+ Node get lastChild => wrap_jso(_blink.BlinkNode.instance.lastChild_Getter_(unwrap_jso(this)));
+
@DomName('Node.localName')
@DocsEditable()
- String get _localName => _blink.BlinkNode.instance.localName_Getter_(this);
-
+ String get _localName => _blink.BlinkNode.instance.localName_Getter_(unwrap_jso(this));
+
@DomName('Node.namespaceURI')
@DocsEditable()
- String get _namespaceUri => _blink.BlinkNode.instance.namespaceURI_Getter_(this);
-
+ String get _namespaceUri => _blink.BlinkNode.instance.namespaceURI_Getter_(unwrap_jso(this));
+
/**
* The next sibling node.
*
@@ -24539,8 +24569,8 @@
*/
@DomName('Node.nextSibling')
@DocsEditable()
- Node get nextNode => _blink.BlinkNode.instance.nextSibling_Getter_(this);
-
+ Node get nextNode => wrap_jso(_blink.BlinkNode.instance.nextSibling_Getter_(unwrap_jso(this)));
+
/**
* The name of this node.
*
@@ -24555,8 +24585,8 @@
*/
@DomName('Node.nodeName')
@DocsEditable()
- String get nodeName => _blink.BlinkNode.instance.nodeName_Getter_(this);
-
+ String get nodeName => _blink.BlinkNode.instance.nodeName_Getter_(unwrap_jso(this));
+
/**
* The type of node.
*
@@ -24582,8 +24612,8 @@
*/
@DomName('Node.nodeType')
@DocsEditable()
- int get nodeType => _blink.BlinkNode.instance.nodeType_Getter_(this);
-
+ int get nodeType => _blink.BlinkNode.instance.nodeType_Getter_(unwrap_jso(this));
+
/**
* The value of this node.
*
@@ -24598,8 +24628,8 @@
*/
@DomName('Node.nodeValue')
@DocsEditable()
- String get nodeValue => _blink.BlinkNode.instance.nodeValue_Getter_(this);
-
+ String get nodeValue => _blink.BlinkNode.instance.nodeValue_Getter_(unwrap_jso(this));
+
/**
* The document this node belongs to.
*
@@ -24613,8 +24643,8 @@
*/
@DomName('Node.ownerDocument')
@DocsEditable()
- Document get ownerDocument => _blink.BlinkNode.instance.ownerDocument_Getter_(this);
-
+ Document get ownerDocument => wrap_jso(_blink.BlinkNode.instance.ownerDocument_Getter_(unwrap_jso(this)));
+
/**
* The parent element of this node.
*
@@ -24629,8 +24659,8 @@
*/
@DomName('Node.parentElement')
@DocsEditable()
- Element get parent => _blink.BlinkNode.instance.parentElement_Getter_(this);
-
+ Element get parent => wrap_jso(_blink.BlinkNode.instance.parentElement_Getter_(unwrap_jso(this)));
+
/**
* The parent node of this node.
*
@@ -24642,8 +24672,8 @@
*/
@DomName('Node.parentNode')
@DocsEditable()
- Node get parentNode => _blink.BlinkNode.instance.parentNode_Getter_(this);
-
+ Node get parentNode => wrap_jso(_blink.BlinkNode.instance.parentNode_Getter_(unwrap_jso(this)));
+
/**
* The previous sibling node.
*
@@ -24655,8 +24685,8 @@
*/
@DomName('Node.previousSibling')
@DocsEditable()
- Node get previousNode => _blink.BlinkNode.instance.previousSibling_Getter_(this);
-
+ Node get previousNode => wrap_jso(_blink.BlinkNode.instance.previousSibling_Getter_(unwrap_jso(this)));
+
/**
* All text within this node and its decendents.
*
@@ -24668,8 +24698,8 @@
*/
@DomName('Node.textContent')
@DocsEditable()
- String get text => _blink.BlinkNode.instance.textContent_Getter_(this);
-
+ String get text => _blink.BlinkNode.instance.textContent_Getter_(unwrap_jso(this));
+
/**
* All text within this node and its decendents.
*
@@ -24681,8 +24711,8 @@
*/
@DomName('Node.textContent')
@DocsEditable()
- void set text(String value) => _blink.BlinkNode.instance.textContent_Setter_(this, value);
-
+ void set text(String value) => _blink.BlinkNode.instance.textContent_Setter_(unwrap_jso(this), value);
+
/**
* Adds a node to the end of the child [nodes] list of this node.
*
@@ -24694,8 +24724,8 @@
*/
@DomName('Node.appendChild')
@DocsEditable()
- Node append(Node newChild) => _blink.BlinkNode.instance.appendChild_Callback_1_(this, newChild);
-
+ Node append(Node newChild) => wrap_jso(_blink.BlinkNode.instance.appendChild_Callback_1_(unwrap_jso(this), unwrap_jso(newChild)));
+
/**
* Returns a copy of this node.
*
@@ -24710,8 +24740,8 @@
*/
@DomName('Node.cloneNode')
@DocsEditable()
- Node clone(bool deep) => _blink.BlinkNode.instance.cloneNode_Callback_1_(this, deep);
-
+ Node clone(bool deep) => wrap_jso(_blink.BlinkNode.instance.cloneNode_Callback_1_(unwrap_jso(this), deep));
+
/**
* Returns true if this node contains the specified node.
*
@@ -24722,8 +24752,8 @@
*/
@DomName('Node.contains')
@DocsEditable()
- bool contains(Node other) => _blink.BlinkNode.instance.contains_Callback_1_(this, other);
-
+ bool contains(Node other) => _blink.BlinkNode.instance.contains_Callback_1_(unwrap_jso(this), unwrap_jso(other));
+
/**
* Returns true if this node has any children.
*
@@ -24735,8 +24765,8 @@
*/
@DomName('Node.hasChildNodes')
@DocsEditable()
- bool hasChildNodes() => _blink.BlinkNode.instance.hasChildNodes_Callback_0_(this);
-
+ bool hasChildNodes() => _blink.BlinkNode.instance.hasChildNodes_Callback_0_(unwrap_jso(this));
+
/**
* Inserts all of the nodes into this node directly before refChild.
*
@@ -24748,16 +24778,16 @@
*/
@DomName('Node.insertBefore')
@DocsEditable()
- Node insertBefore(Node newChild, Node refChild) => _blink.BlinkNode.instance.insertBefore_Callback_2_(this, newChild, refChild);
-
+ Node insertBefore(Node newChild, Node refChild) => wrap_jso(_blink.BlinkNode.instance.insertBefore_Callback_2_(unwrap_jso(this), unwrap_jso(newChild), unwrap_jso(refChild)));
+
@DomName('Node.removeChild')
@DocsEditable()
- Node _removeChild(Node oldChild) => _blink.BlinkNode.instance.removeChild_Callback_1_(this, oldChild);
-
+ Node _removeChild(Node oldChild) => wrap_jso(_blink.BlinkNode.instance.removeChild_Callback_1_(unwrap_jso(this), unwrap_jso(oldChild)));
+
@DomName('Node.replaceChild')
@DocsEditable()
- Node _replaceChild(Node newChild, Node oldChild) => _blink.BlinkNode.instance.replaceChild_Callback_2_(this, newChild, oldChild);
-
+ Node _replaceChild(Node newChild, Node oldChild) => wrap_jso(_blink.BlinkNode.instance.replaceChild_Callback_2_(unwrap_jso(this), unwrap_jso(newChild), unwrap_jso(oldChild)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -24834,32 +24864,32 @@
@DomName('NodeIterator.pointerBeforeReferenceNode')
@DocsEditable()
- bool get pointerBeforeReferenceNode => _blink.BlinkNodeIterator.instance.pointerBeforeReferenceNode_Getter_(this);
-
+ bool get pointerBeforeReferenceNode => _blink.BlinkNodeIterator.instance.pointerBeforeReferenceNode_Getter_(unwrap_jso(this));
+
@DomName('NodeIterator.referenceNode')
@DocsEditable()
- Node get referenceNode => _blink.BlinkNodeIterator.instance.referenceNode_Getter_(this);
-
+ Node get referenceNode => wrap_jso(_blink.BlinkNodeIterator.instance.referenceNode_Getter_(unwrap_jso(this)));
+
@DomName('NodeIterator.root')
@DocsEditable()
- Node get root => _blink.BlinkNodeIterator.instance.root_Getter_(this);
-
+ Node get root => wrap_jso(_blink.BlinkNodeIterator.instance.root_Getter_(unwrap_jso(this)));
+
@DomName('NodeIterator.whatToShow')
@DocsEditable()
- int get whatToShow => _blink.BlinkNodeIterator.instance.whatToShow_Getter_(this);
-
+ int get whatToShow => _blink.BlinkNodeIterator.instance.whatToShow_Getter_(unwrap_jso(this));
+
@DomName('NodeIterator.detach')
@DocsEditable()
- void detach() => _blink.BlinkNodeIterator.instance.detach_Callback_0_(this);
-
+ void detach() => _blink.BlinkNodeIterator.instance.detach_Callback_0_(unwrap_jso(this));
+
@DomName('NodeIterator.nextNode')
@DocsEditable()
- Node nextNode() => _blink.BlinkNodeIterator.instance.nextNode_Callback_0_(this);
-
+ Node nextNode() => wrap_jso(_blink.BlinkNodeIterator.instance.nextNode_Callback_0_(unwrap_jso(this)));
+
@DomName('NodeIterator.previousNode')
@DocsEditable()
- Node previousNode() => _blink.BlinkNodeIterator.instance.previousNode_Callback_0_(this);
-
+ Node previousNode() => wrap_jso(_blink.BlinkNodeIterator.instance.previousNode_Callback_0_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -24876,16 +24906,16 @@
@DomName('NodeList.length')
@DocsEditable()
- int get length => _blink.BlinkNodeList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkNodeList.instance.length_Getter_(unwrap_jso(this));
+
Node operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkNodeList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkNodeList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- Node _nativeIndexedGetter(int index) => _blink.BlinkNodeList.instance.item_Callback_1_(this, index);
-
+ Node _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkNodeList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, Node value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -24926,8 +24956,8 @@
@DomName('NodeList.item')
@DocsEditable()
- Node _item(int index) => _blink.BlinkNodeList.instance.item_Callback_1_(this, index);
-
+ Node _item(int index) => wrap_jso(_blink.BlinkNodeList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25008,44 +25038,44 @@
@DomName('Notification.body')
@DocsEditable()
@Experimental() // untriaged
- String get body => _blink.BlinkNotification.instance.body_Getter_(this);
-
+ String get body => _blink.BlinkNotification.instance.body_Getter_(unwrap_jso(this));
+
@DomName('Notification.dir')
@DocsEditable()
@Experimental() // nonstandard
- String get dir => _blink.BlinkNotification.instance.dir_Getter_(this);
-
+ String get dir => _blink.BlinkNotification.instance.dir_Getter_(unwrap_jso(this));
+
@DomName('Notification.icon')
@DocsEditable()
@Experimental() // untriaged
- String get icon => _blink.BlinkNotification.instance.icon_Getter_(this);
-
+ String get icon => _blink.BlinkNotification.instance.icon_Getter_(unwrap_jso(this));
+
@DomName('Notification.lang')
@DocsEditable()
@Experimental() // untriaged
- String get lang => _blink.BlinkNotification.instance.lang_Getter_(this);
-
+ String get lang => _blink.BlinkNotification.instance.lang_Getter_(unwrap_jso(this));
+
@DomName('Notification.permission')
@DocsEditable()
String get permission => _blink.BlinkNotification.instance.permission_Getter_();
-
+
@DomName('Notification.tag')
@DocsEditable()
@Experimental() // nonstandard
- String get tag => _blink.BlinkNotification.instance.tag_Getter_(this);
-
+ String get tag => _blink.BlinkNotification.instance.tag_Getter_(unwrap_jso(this));
+
@DomName('Notification.title')
@DocsEditable()
@Experimental() // untriaged
- String get title => _blink.BlinkNotification.instance.title_Getter_(this);
-
+ String get title => _blink.BlinkNotification.instance.title_Getter_(unwrap_jso(this));
+
@DomName('Notification.close')
@DocsEditable()
- void close() => _blink.BlinkNotification.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkNotification.instance.close_Callback_0_(unwrap_jso(this));
+
static void _requestPermission([_NotificationPermissionCallback callback]) {
if (callback != null) {
- _blink.BlinkNotification.instance.requestPermission_Callback_1_(callback);
+ _blink.BlinkNotification.instance.requestPermission_Callback_1_(unwrap_jso(callback));
return;
}
_blink.BlinkNotification.instance.requestPermission_Callback_0_();
@@ -25116,28 +25146,28 @@
@DomName('HTMLOListElement.reversed')
@DocsEditable()
- bool get reversed => _blink.BlinkHTMLOListElement.instance.reversed_Getter_(this);
-
+ bool get reversed => _blink.BlinkHTMLOListElement.instance.reversed_Getter_(unwrap_jso(this));
+
@DomName('HTMLOListElement.reversed')
@DocsEditable()
- void set reversed(bool value) => _blink.BlinkHTMLOListElement.instance.reversed_Setter_(this, value);
-
+ void set reversed(bool value) => _blink.BlinkHTMLOListElement.instance.reversed_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOListElement.start')
@DocsEditable()
- int get start => _blink.BlinkHTMLOListElement.instance.start_Getter_(this);
-
+ int get start => _blink.BlinkHTMLOListElement.instance.start_Getter_(unwrap_jso(this));
+
@DomName('HTMLOListElement.start')
@DocsEditable()
- void set start(int value) => _blink.BlinkHTMLOListElement.instance.start_Setter_(this, value);
-
+ void set start(int value) => _blink.BlinkHTMLOListElement.instance.start_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOListElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLOListElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLOListElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLOListElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLOListElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLOListElement.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25171,94 +25201,94 @@
@DomName('HTMLObjectElement.data')
@DocsEditable()
- String get data => _blink.BlinkHTMLObjectElement.instance.data_Getter_(this);
-
+ String get data => _blink.BlinkHTMLObjectElement.instance.data_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.data')
@DocsEditable()
- void set data(String value) => _blink.BlinkHTMLObjectElement.instance.data_Setter_(this, value);
-
+ void set data(String value) => _blink.BlinkHTMLObjectElement.instance.data_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLObjectElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLObjectElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLObjectElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLObjectElement.height')
@DocsEditable()
- String get height => _blink.BlinkHTMLObjectElement.instance.height_Getter_(this);
-
+ String get height => _blink.BlinkHTMLObjectElement.instance.height_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.height')
@DocsEditable()
- void set height(String value) => _blink.BlinkHTMLObjectElement.instance.height_Setter_(this, value);
-
+ void set height(String value) => _blink.BlinkHTMLObjectElement.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLObjectElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLObjectElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLObjectElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLObjectElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLObjectElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLObjectElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLObjectElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLObjectElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLObjectElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLObjectElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLObjectElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLObjectElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLObjectElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLObjectElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLObjectElement.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLObjectElement.useMap')
@DocsEditable()
- String get useMap => _blink.BlinkHTMLObjectElement.instance.useMap_Getter_(this);
-
+ String get useMap => _blink.BlinkHTMLObjectElement.instance.useMap_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.useMap')
@DocsEditable()
- void set useMap(String value) => _blink.BlinkHTMLObjectElement.instance.useMap_Setter_(this, value);
-
+ void set useMap(String value) => _blink.BlinkHTMLObjectElement.instance.useMap_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLObjectElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLObjectElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLObjectElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLObjectElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLObjectElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLObjectElement.width')
@DocsEditable()
- String get width => _blink.BlinkHTMLObjectElement.instance.width_Getter_(this);
-
+ String get width => _blink.BlinkHTMLObjectElement.instance.width_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.width')
@DocsEditable()
- void set width(String value) => _blink.BlinkHTMLObjectElement.instance.width_Setter_(this, value);
-
+ void set width(String value) => _blink.BlinkHTMLObjectElement.instance.width_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLObjectElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLObjectElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLObjectElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.__getter__')
@DocsEditable()
- bool __getter__(index_OR_name) => _blink.BlinkHTMLObjectElement.instance.$__getter___Callback_1_(this, index_OR_name);
-
+ bool __getter__(index_OR_name) => _blink.BlinkHTMLObjectElement.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
+
@DomName('HTMLObjectElement.__setter__')
@DocsEditable()
- void __setter__(index_OR_name, Node value) => _blink.BlinkHTMLObjectElement.instance.$__setter___Callback_2_(this, index_OR_name, value);
-
+ void __setter__(index_OR_name, Node value) => _blink.BlinkHTMLObjectElement.instance.$__setter___Callback_2_(unwrap_jso(this), unwrap_jso(index_OR_name), unwrap_jso(value));
+
@DomName('HTMLObjectElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLObjectElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLObjectElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLObjectElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLObjectElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLObjectElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25285,20 +25315,20 @@
@DomName('HTMLOptGroupElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLOptGroupElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLOptGroupElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptGroupElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLOptGroupElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLOptGroupElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOptGroupElement.label')
@DocsEditable()
- String get label => _blink.BlinkHTMLOptGroupElement.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkHTMLOptGroupElement.instance.label_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptGroupElement.label')
@DocsEditable()
- void set label(String value) => _blink.BlinkHTMLOptGroupElement.instance.label_Setter_(this, value);
-
+ void set label(String value) => _blink.BlinkHTMLOptGroupElement.instance.label_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25325,52 +25355,52 @@
@DomName('HTMLOptionElement.defaultSelected')
@DocsEditable()
- bool get defaultSelected => _blink.BlinkHTMLOptionElement.instance.defaultSelected_Getter_(this);
-
+ bool get defaultSelected => _blink.BlinkHTMLOptionElement.instance.defaultSelected_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptionElement.defaultSelected')
@DocsEditable()
- void set defaultSelected(bool value) => _blink.BlinkHTMLOptionElement.instance.defaultSelected_Setter_(this, value);
-
+ void set defaultSelected(bool value) => _blink.BlinkHTMLOptionElement.instance.defaultSelected_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOptionElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLOptionElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLOptionElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptionElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLOptionElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLOptionElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOptionElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLOptionElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLOptionElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLOptionElement.index')
@DocsEditable()
- int get index => _blink.BlinkHTMLOptionElement.instance.index_Getter_(this);
-
+ int get index => _blink.BlinkHTMLOptionElement.instance.index_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptionElement.label')
@DocsEditable()
- String get label => _blink.BlinkHTMLOptionElement.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkHTMLOptionElement.instance.label_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptionElement.label')
@DocsEditable()
- void set label(String value) => _blink.BlinkHTMLOptionElement.instance.label_Setter_(this, value);
-
+ void set label(String value) => _blink.BlinkHTMLOptionElement.instance.label_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOptionElement.selected')
@DocsEditable()
- bool get selected => _blink.BlinkHTMLOptionElement.instance.selected_Getter_(this);
-
+ bool get selected => _blink.BlinkHTMLOptionElement.instance.selected_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptionElement.selected')
@DocsEditable()
- void set selected(bool value) => _blink.BlinkHTMLOptionElement.instance.selected_Setter_(this, value);
-
+ void set selected(bool value) => _blink.BlinkHTMLOptionElement.instance.selected_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOptionElement.value')
@DocsEditable()
- String get value => _blink.BlinkHTMLOptionElement.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkHTMLOptionElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLOptionElement.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkHTMLOptionElement.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkHTMLOptionElement.instance.value_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25403,65 +25433,65 @@
@DomName('HTMLOutputElement.defaultValue')
@DocsEditable()
- String get defaultValue => _blink.BlinkHTMLOutputElement.instance.defaultValue_Getter_(this);
-
+ String get defaultValue => _blink.BlinkHTMLOutputElement.instance.defaultValue_Getter_(unwrap_jso(this));
+
@DomName('HTMLOutputElement.defaultValue')
@DocsEditable()
- void set defaultValue(String value) => _blink.BlinkHTMLOutputElement.instance.defaultValue_Setter_(this, value);
-
+ void set defaultValue(String value) => _blink.BlinkHTMLOutputElement.instance.defaultValue_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOutputElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLOutputElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLOutputElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLOutputElement.htmlFor')
@DocsEditable()
- DomSettableTokenList get htmlFor => _blink.BlinkHTMLOutputElement.instance.htmlFor_Getter_(this);
-
+ DomSettableTokenList get htmlFor => wrap_jso(_blink.BlinkHTMLOutputElement.instance.htmlFor_Getter_(unwrap_jso(this)));
+
@DomName('HTMLOutputElement.labels')
@DocsEditable()
@Unstable()
- List<Node> get labels => _blink.BlinkHTMLOutputElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLOutputElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLOutputElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLOutputElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLOutputElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLOutputElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLOutputElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLOutputElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOutputElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLOutputElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLOutputElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLOutputElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLOutputElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLOutputElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLOutputElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLOutputElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLOutputElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLOutputElement.value')
@DocsEditable()
- String get value => _blink.BlinkHTMLOutputElement.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkHTMLOutputElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLOutputElement.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkHTMLOutputElement.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkHTMLOutputElement.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLOutputElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLOutputElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLOutputElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLOutputElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLOutputElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLOutputElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLOutputElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLOutputElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLOutputElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25491,16 +25521,16 @@
@DomName('OverflowEvent.horizontalOverflow')
@DocsEditable()
- bool get horizontalOverflow => _blink.BlinkOverflowEvent.instance.horizontalOverflow_Getter_(this);
-
+ bool get horizontalOverflow => _blink.BlinkOverflowEvent.instance.horizontalOverflow_Getter_(unwrap_jso(this));
+
@DomName('OverflowEvent.orient')
@DocsEditable()
- int get orient => _blink.BlinkOverflowEvent.instance.orient_Getter_(this);
-
+ int get orient => _blink.BlinkOverflowEvent.instance.orient_Getter_(unwrap_jso(this));
+
@DomName('OverflowEvent.verticalOverflow')
@DocsEditable()
- bool get verticalOverflow => _blink.BlinkOverflowEvent.instance.verticalOverflow_Getter_(this);
-
+ bool get verticalOverflow => _blink.BlinkOverflowEvent.instance.verticalOverflow_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25519,8 +25549,8 @@
@DomName('PageTransitionEvent.persisted')
@DocsEditable()
- bool get persisted => _blink.BlinkPageTransitionEvent.instance.persisted_Getter_(this);
-
+ bool get persisted => _blink.BlinkPageTransitionEvent.instance.persisted_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25572,20 +25602,20 @@
@DomName('HTMLParamElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLParamElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLParamElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLParamElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLParamElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLParamElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLParamElement.value')
@DocsEditable()
- String get value => _blink.BlinkHTMLParamElement.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkHTMLParamElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLParamElement.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkHTMLParamElement.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkHTMLParamElement.instance.value_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25663,58 +25693,58 @@
void addPath(Path2D path, [Matrix transform]) {
if (transform != null) {
- _blink.BlinkPath2D.instance.addPath_Callback_2_(this, path, transform);
+ _blink.BlinkPath2D.instance.addPath_Callback_2_(unwrap_jso(this), unwrap_jso(path), unwrap_jso(transform));
return;
}
- _blink.BlinkPath2D.instance.addPath_Callback_1_(this, path);
+ _blink.BlinkPath2D.instance.addPath_Callback_1_(unwrap_jso(this), unwrap_jso(path));
return;
}
@DomName('Path2D.arc')
@DocsEditable()
@Experimental() // untriaged
- void arc(num x, num y, num radius, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkPath2D.instance.arc_Callback_6_(this, x, y, radius, startAngle, endAngle, anticlockwise);
-
+ void arc(num x, num y, num radius, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkPath2D.instance.arc_Callback_6_(unwrap_jso(this), x, y, radius, startAngle, endAngle, anticlockwise);
+
@DomName('Path2D.arcTo')
@DocsEditable()
@Experimental() // untriaged
- void arcTo(num x1, num y1, num x2, num y2, num radius) => _blink.BlinkPath2D.instance.arcTo_Callback_5_(this, x1, y1, x2, y2, radius);
-
+ void arcTo(num x1, num y1, num x2, num y2, num radius) => _blink.BlinkPath2D.instance.arcTo_Callback_5_(unwrap_jso(this), x1, y1, x2, y2, radius);
+
@DomName('Path2D.bezierCurveTo')
@DocsEditable()
@Experimental() // untriaged
- void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, num x, num y) => _blink.BlinkPath2D.instance.bezierCurveTo_Callback_6_(this, cp1x, cp1y, cp2x, cp2y, x, y);
-
+ void bezierCurveTo(num cp1x, num cp1y, num cp2x, num cp2y, num x, num y) => _blink.BlinkPath2D.instance.bezierCurveTo_Callback_6_(unwrap_jso(this), cp1x, cp1y, cp2x, cp2y, x, y);
+
@DomName('Path2D.closePath')
@DocsEditable()
@Experimental() // untriaged
- void closePath() => _blink.BlinkPath2D.instance.closePath_Callback_0_(this);
-
+ void closePath() => _blink.BlinkPath2D.instance.closePath_Callback_0_(unwrap_jso(this));
+
@DomName('Path2D.ellipse')
@DocsEditable()
@Experimental() // untriaged
- void ellipse(num x, num y, num radiusX, num radiusY, num rotation, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkPath2D.instance.ellipse_Callback_8_(this, x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
-
+ void ellipse(num x, num y, num radiusX, num radiusY, num rotation, num startAngle, num endAngle, bool anticlockwise) => _blink.BlinkPath2D.instance.ellipse_Callback_8_(unwrap_jso(this), x, y, radiusX, radiusY, rotation, startAngle, endAngle, anticlockwise);
+
@DomName('Path2D.lineTo')
@DocsEditable()
@Experimental() // untriaged
- void lineTo(num x, num y) => _blink.BlinkPath2D.instance.lineTo_Callback_2_(this, x, y);
-
+ void lineTo(num x, num y) => _blink.BlinkPath2D.instance.lineTo_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('Path2D.moveTo')
@DocsEditable()
@Experimental() // untriaged
- void moveTo(num x, num y) => _blink.BlinkPath2D.instance.moveTo_Callback_2_(this, x, y);
-
+ void moveTo(num x, num y) => _blink.BlinkPath2D.instance.moveTo_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('Path2D.quadraticCurveTo')
@DocsEditable()
@Experimental() // untriaged
- void quadraticCurveTo(num cpx, num cpy, num x, num y) => _blink.BlinkPath2D.instance.quadraticCurveTo_Callback_4_(this, cpx, cpy, x, y);
-
+ void quadraticCurveTo(num cpx, num cpy, num x, num y) => _blink.BlinkPath2D.instance.quadraticCurveTo_Callback_4_(unwrap_jso(this), cpx, cpy, x, y);
+
@DomName('Path2D.rect')
@DocsEditable()
@Experimental() // untriaged
- void rect(num x, num y, num width, num height) => _blink.BlinkPath2D.instance.rect_Callback_4_(this, x, y, width, height);
-
+ void rect(num x, num y, num width, num height) => _blink.BlinkPath2D.instance.rect_Callback_4_(unwrap_jso(this), x, y, width, height);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25752,78 +25782,78 @@
@DomName('Performance.memory')
@DocsEditable()
@Experimental() // nonstandard
- MemoryInfo get memory => _blink.BlinkPerformance.instance.memory_Getter_(this);
-
+ MemoryInfo get memory => wrap_jso(_blink.BlinkPerformance.instance.memory_Getter_(unwrap_jso(this)));
+
@DomName('Performance.navigation')
@DocsEditable()
- PerformanceNavigation get navigation => _blink.BlinkPerformance.instance.navigation_Getter_(this);
-
+ PerformanceNavigation get navigation => wrap_jso(_blink.BlinkPerformance.instance.navigation_Getter_(unwrap_jso(this)));
+
@DomName('Performance.timing')
@DocsEditable()
- PerformanceTiming get timing => _blink.BlinkPerformance.instance.timing_Getter_(this);
-
+ PerformanceTiming get timing => wrap_jso(_blink.BlinkPerformance.instance.timing_Getter_(unwrap_jso(this)));
+
@DomName('Performance.clearMarks')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
- void clearMarks(String markName) => _blink.BlinkPerformance.instance.clearMarks_Callback_1_(this, markName);
-
+ void clearMarks(String markName) => _blink.BlinkPerformance.instance.clearMarks_Callback_1_(unwrap_jso(this), markName);
+
@DomName('Performance.clearMeasures')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
- void clearMeasures(String measureName) => _blink.BlinkPerformance.instance.clearMeasures_Callback_1_(this, measureName);
-
+ void clearMeasures(String measureName) => _blink.BlinkPerformance.instance.clearMeasures_Callback_1_(unwrap_jso(this), measureName);
+
@DomName('Performance.getEntries')
@DocsEditable()
// http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute
@Experimental()
- List<PerformanceEntry> getEntries() => _blink.BlinkPerformance.instance.getEntries_Callback_0_(this);
-
+ List<PerformanceEntry> getEntries() => _blink.BlinkPerformance.instance.getEntries_Callback_0_(unwrap_jso(this));
+
@DomName('Performance.getEntriesByName')
@DocsEditable()
// http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute
@Experimental()
- List<PerformanceEntry> getEntriesByName(String name, String entryType) => _blink.BlinkPerformance.instance.getEntriesByName_Callback_2_(this, name, entryType);
-
+ List<PerformanceEntry> getEntriesByName(String name, String entryType) => _blink.BlinkPerformance.instance.getEntriesByName_Callback_2_(unwrap_jso(this), name, entryType);
+
@DomName('Performance.getEntriesByType')
@DocsEditable()
// http://www.w3.org/TR/performance-timeline/#sec-window.performance-attribute
@Experimental()
- List<PerformanceEntry> getEntriesByType(String entryType) => _blink.BlinkPerformance.instance.getEntriesByType_Callback_1_(this, entryType);
-
+ List<PerformanceEntry> getEntriesByType(String entryType) => _blink.BlinkPerformance.instance.getEntriesByType_Callback_1_(unwrap_jso(this), entryType);
+
@DomName('Performance.mark')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
- void mark(String markName) => _blink.BlinkPerformance.instance.mark_Callback_1_(this, markName);
-
+ void mark(String markName) => _blink.BlinkPerformance.instance.mark_Callback_1_(unwrap_jso(this), markName);
+
@DomName('Performance.measure')
@DocsEditable()
// https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/UserTiming/Overview.html#extensions-performance-interface
@Experimental()
- void measure(String measureName, String startMark, String endMark) => _blink.BlinkPerformance.instance.measure_Callback_3_(this, measureName, startMark, endMark);
-
+ void measure(String measureName, String startMark, String endMark) => _blink.BlinkPerformance.instance.measure_Callback_3_(unwrap_jso(this), measureName, startMark, endMark);
+
@DomName('Performance.now')
@DocsEditable()
- double now() => _blink.BlinkPerformance.instance.now_Callback_0_(this);
-
+ double now() => _blink.BlinkPerformance.instance.now_Callback_0_(unwrap_jso(this));
+
@DomName('Performance.webkitClearResourceTimings')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3c-test.org/webperf/specs/ResourceTiming/#extensions-performance-interface
- void clearResourceTimings() => _blink.BlinkPerformance.instance.webkitClearResourceTimings_Callback_0_(this);
-
+ void clearResourceTimings() => _blink.BlinkPerformance.instance.webkitClearResourceTimings_Callback_0_(unwrap_jso(this));
+
@DomName('Performance.webkitSetResourceTimingBufferSize')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// http://www.w3c-test.org/webperf/specs/ResourceTiming/#performanceresourcetiming-methods
- void setResourceTimingBufferSize(int maxSize) => _blink.BlinkPerformance.instance.webkitSetResourceTimingBufferSize_Callback_1_(this, maxSize);
-
+ void setResourceTimingBufferSize(int maxSize) => _blink.BlinkPerformance.instance.webkitSetResourceTimingBufferSize_Callback_1_(unwrap_jso(this), maxSize);
+
/// Stream of `resourcetimingbufferfull` events handled by this [Performance].
@DomName('Performance.onwebkitresourcetimingbufferfull')
@DocsEditable()
@@ -25849,20 +25879,20 @@
@DomName('PerformanceEntry.duration')
@DocsEditable()
- double get duration => _blink.BlinkPerformanceEntry.instance.duration_Getter_(this);
-
+ double get duration => _blink.BlinkPerformanceEntry.instance.duration_Getter_(unwrap_jso(this));
+
@DomName('PerformanceEntry.entryType')
@DocsEditable()
- String get entryType => _blink.BlinkPerformanceEntry.instance.entryType_Getter_(this);
-
+ String get entryType => _blink.BlinkPerformanceEntry.instance.entryType_Getter_(unwrap_jso(this));
+
@DomName('PerformanceEntry.name')
@DocsEditable()
- String get name => _blink.BlinkPerformanceEntry.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkPerformanceEntry.instance.name_Getter_(unwrap_jso(this));
+
@DomName('PerformanceEntry.startTime')
@DocsEditable()
- double get startTime => _blink.BlinkPerformanceEntry.instance.startTime_Getter_(this);
-
+ double get startTime => _blink.BlinkPerformanceEntry.instance.startTime_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25928,12 +25958,12 @@
@DomName('PerformanceNavigation.redirectCount')
@DocsEditable()
- int get redirectCount => _blink.BlinkPerformanceNavigation.instance.redirectCount_Getter_(this);
-
+ int get redirectCount => _blink.BlinkPerformanceNavigation.instance.redirectCount_Getter_(unwrap_jso(this));
+
@DomName('PerformanceNavigation.type')
@DocsEditable()
- int get type => _blink.BlinkPerformanceNavigation.instance.type_Getter_(this);
-
+ int get type => _blink.BlinkPerformanceNavigation.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -25952,55 +25982,55 @@
@DomName('PerformanceResourceTiming.connectEnd')
@DocsEditable()
- double get connectEnd => _blink.BlinkPerformanceResourceTiming.instance.connectEnd_Getter_(this);
-
+ double get connectEnd => _blink.BlinkPerformanceResourceTiming.instance.connectEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.connectStart')
@DocsEditable()
- double get connectStart => _blink.BlinkPerformanceResourceTiming.instance.connectStart_Getter_(this);
-
+ double get connectStart => _blink.BlinkPerformanceResourceTiming.instance.connectStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.domainLookupEnd')
@DocsEditable()
- double get domainLookupEnd => _blink.BlinkPerformanceResourceTiming.instance.domainLookupEnd_Getter_(this);
-
+ double get domainLookupEnd => _blink.BlinkPerformanceResourceTiming.instance.domainLookupEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.domainLookupStart')
@DocsEditable()
- double get domainLookupStart => _blink.BlinkPerformanceResourceTiming.instance.domainLookupStart_Getter_(this);
-
+ double get domainLookupStart => _blink.BlinkPerformanceResourceTiming.instance.domainLookupStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.fetchStart')
@DocsEditable()
- double get fetchStart => _blink.BlinkPerformanceResourceTiming.instance.fetchStart_Getter_(this);
-
+ double get fetchStart => _blink.BlinkPerformanceResourceTiming.instance.fetchStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.initiatorType')
@DocsEditable()
- String get initiatorType => _blink.BlinkPerformanceResourceTiming.instance.initiatorType_Getter_(this);
-
+ String get initiatorType => _blink.BlinkPerformanceResourceTiming.instance.initiatorType_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.redirectEnd')
@DocsEditable()
- double get redirectEnd => _blink.BlinkPerformanceResourceTiming.instance.redirectEnd_Getter_(this);
-
+ double get redirectEnd => _blink.BlinkPerformanceResourceTiming.instance.redirectEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.redirectStart')
@DocsEditable()
- double get redirectStart => _blink.BlinkPerformanceResourceTiming.instance.redirectStart_Getter_(this);
-
+ double get redirectStart => _blink.BlinkPerformanceResourceTiming.instance.redirectStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.requestStart')
@DocsEditable()
@Experimental() // nonstandard
- double get requestStart => _blink.BlinkPerformanceResourceTiming.instance.requestStart_Getter_(this);
-
+ double get requestStart => _blink.BlinkPerformanceResourceTiming.instance.requestStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.responseEnd')
@DocsEditable()
@Experimental() // nonstandard
- double get responseEnd => _blink.BlinkPerformanceResourceTiming.instance.responseEnd_Getter_(this);
-
+ double get responseEnd => _blink.BlinkPerformanceResourceTiming.instance.responseEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.responseStart')
@DocsEditable()
@Experimental() // nonstandard
- double get responseStart => _blink.BlinkPerformanceResourceTiming.instance.responseStart_Getter_(this);
-
+ double get responseStart => _blink.BlinkPerformanceResourceTiming.instance.responseStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceResourceTiming.secureConnectionStart')
@DocsEditable()
- double get secureConnectionStart => _blink.BlinkPerformanceResourceTiming.instance.secureConnectionStart_Getter_(this);
-
+ double get secureConnectionStart => _blink.BlinkPerformanceResourceTiming.instance.secureConnectionStart_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26018,88 +26048,88 @@
@DomName('PerformanceTiming.connectEnd')
@DocsEditable()
- int get connectEnd => _blink.BlinkPerformanceTiming.instance.connectEnd_Getter_(this);
-
+ int get connectEnd => _blink.BlinkPerformanceTiming.instance.connectEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.connectStart')
@DocsEditable()
- int get connectStart => _blink.BlinkPerformanceTiming.instance.connectStart_Getter_(this);
-
+ int get connectStart => _blink.BlinkPerformanceTiming.instance.connectStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.domComplete')
@DocsEditable()
- int get domComplete => _blink.BlinkPerformanceTiming.instance.domComplete_Getter_(this);
-
+ int get domComplete => _blink.BlinkPerformanceTiming.instance.domComplete_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.domContentLoadedEventEnd')
@DocsEditable()
- int get domContentLoadedEventEnd => _blink.BlinkPerformanceTiming.instance.domContentLoadedEventEnd_Getter_(this);
-
+ int get domContentLoadedEventEnd => _blink.BlinkPerformanceTiming.instance.domContentLoadedEventEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.domContentLoadedEventStart')
@DocsEditable()
- int get domContentLoadedEventStart => _blink.BlinkPerformanceTiming.instance.domContentLoadedEventStart_Getter_(this);
-
+ int get domContentLoadedEventStart => _blink.BlinkPerformanceTiming.instance.domContentLoadedEventStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.domInteractive')
@DocsEditable()
- int get domInteractive => _blink.BlinkPerformanceTiming.instance.domInteractive_Getter_(this);
-
+ int get domInteractive => _blink.BlinkPerformanceTiming.instance.domInteractive_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.domLoading')
@DocsEditable()
- int get domLoading => _blink.BlinkPerformanceTiming.instance.domLoading_Getter_(this);
-
+ int get domLoading => _blink.BlinkPerformanceTiming.instance.domLoading_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.domainLookupEnd')
@DocsEditable()
- int get domainLookupEnd => _blink.BlinkPerformanceTiming.instance.domainLookupEnd_Getter_(this);
-
+ int get domainLookupEnd => _blink.BlinkPerformanceTiming.instance.domainLookupEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.domainLookupStart')
@DocsEditable()
- int get domainLookupStart => _blink.BlinkPerformanceTiming.instance.domainLookupStart_Getter_(this);
-
+ int get domainLookupStart => _blink.BlinkPerformanceTiming.instance.domainLookupStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.fetchStart')
@DocsEditable()
- int get fetchStart => _blink.BlinkPerformanceTiming.instance.fetchStart_Getter_(this);
-
+ int get fetchStart => _blink.BlinkPerformanceTiming.instance.fetchStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.loadEventEnd')
@DocsEditable()
- int get loadEventEnd => _blink.BlinkPerformanceTiming.instance.loadEventEnd_Getter_(this);
-
+ int get loadEventEnd => _blink.BlinkPerformanceTiming.instance.loadEventEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.loadEventStart')
@DocsEditable()
- int get loadEventStart => _blink.BlinkPerformanceTiming.instance.loadEventStart_Getter_(this);
-
+ int get loadEventStart => _blink.BlinkPerformanceTiming.instance.loadEventStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.navigationStart')
@DocsEditable()
- int get navigationStart => _blink.BlinkPerformanceTiming.instance.navigationStart_Getter_(this);
-
+ int get navigationStart => _blink.BlinkPerformanceTiming.instance.navigationStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.redirectEnd')
@DocsEditable()
- int get redirectEnd => _blink.BlinkPerformanceTiming.instance.redirectEnd_Getter_(this);
-
+ int get redirectEnd => _blink.BlinkPerformanceTiming.instance.redirectEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.redirectStart')
@DocsEditable()
- int get redirectStart => _blink.BlinkPerformanceTiming.instance.redirectStart_Getter_(this);
-
+ int get redirectStart => _blink.BlinkPerformanceTiming.instance.redirectStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.requestStart')
@DocsEditable()
- int get requestStart => _blink.BlinkPerformanceTiming.instance.requestStart_Getter_(this);
-
+ int get requestStart => _blink.BlinkPerformanceTiming.instance.requestStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.responseEnd')
@DocsEditable()
- int get responseEnd => _blink.BlinkPerformanceTiming.instance.responseEnd_Getter_(this);
-
+ int get responseEnd => _blink.BlinkPerformanceTiming.instance.responseEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.responseStart')
@DocsEditable()
- int get responseStart => _blink.BlinkPerformanceTiming.instance.responseStart_Getter_(this);
-
+ int get responseStart => _blink.BlinkPerformanceTiming.instance.responseStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.secureConnectionStart')
@DocsEditable()
- int get secureConnectionStart => _blink.BlinkPerformanceTiming.instance.secureConnectionStart_Getter_(this);
-
+ int get secureConnectionStart => _blink.BlinkPerformanceTiming.instance.secureConnectionStart_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.unloadEventEnd')
@DocsEditable()
- int get unloadEventEnd => _blink.BlinkPerformanceTiming.instance.unloadEventEnd_Getter_(this);
-
+ int get unloadEventEnd => _blink.BlinkPerformanceTiming.instance.unloadEventEnd_Getter_(unwrap_jso(this));
+
@DomName('PerformanceTiming.unloadEventStart')
@DocsEditable()
- int get unloadEventStart => _blink.BlinkPerformanceTiming.instance.unloadEventStart_Getter_(this);
-
+ int get unloadEventStart => _blink.BlinkPerformanceTiming.instance.unloadEventStart_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26138,32 +26168,32 @@
@DomName('Plugin.description')
@DocsEditable()
- String get description => _blink.BlinkPlugin.instance.description_Getter_(this);
-
+ String get description => _blink.BlinkPlugin.instance.description_Getter_(unwrap_jso(this));
+
@DomName('Plugin.filename')
@DocsEditable()
- String get filename => _blink.BlinkPlugin.instance.filename_Getter_(this);
-
+ String get filename => _blink.BlinkPlugin.instance.filename_Getter_(unwrap_jso(this));
+
@DomName('Plugin.length')
@DocsEditable()
- int get length => _blink.BlinkPlugin.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkPlugin.instance.length_Getter_(unwrap_jso(this));
+
@DomName('Plugin.name')
@DocsEditable()
- String get name => _blink.BlinkPlugin.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkPlugin.instance.name_Getter_(unwrap_jso(this));
+
@DomName('Plugin.__getter__')
@DocsEditable()
- MimeType __getter__(String name) => _blink.BlinkPlugin.instance.$__getter___Callback_1_(this, name);
-
+ MimeType __getter__(String name) => wrap_jso(_blink.BlinkPlugin.instance.$__getter___Callback_1_(unwrap_jso(this), name));
+
@DomName('Plugin.item')
@DocsEditable()
- MimeType item(int index) => _blink.BlinkPlugin.instance.item_Callback_1_(this, index);
-
+ MimeType item(int index) => wrap_jso(_blink.BlinkPlugin.instance.item_Callback_1_(unwrap_jso(this), index));
+
@DomName('Plugin.namedItem')
@DocsEditable()
- MimeType namedItem(String name) => _blink.BlinkPlugin.instance.namedItem_Callback_1_(this, name);
-
+ MimeType namedItem(String name) => wrap_jso(_blink.BlinkPlugin.instance.namedItem_Callback_1_(unwrap_jso(this), name));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26181,16 +26211,16 @@
@DomName('PluginArray.length')
@DocsEditable()
- int get length => _blink.BlinkPluginArray.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkPluginArray.instance.length_Getter_(unwrap_jso(this));
+
Plugin operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkPluginArray.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkPluginArray.instance.item_Callback_1_(unwrap_jso(this), index));
}
- Plugin _nativeIndexedGetter(int index) => _blink.BlinkPluginArray.instance.item_Callback_1_(this, index);
-
+ Plugin _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkPluginArray.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, Plugin value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -26231,20 +26261,20 @@
@DomName('PluginArray.__getter__')
@DocsEditable()
- Plugin __getter__(String name) => _blink.BlinkPluginArray.instance.$__getter___Callback_1_(this, name);
-
+ Plugin __getter__(String name) => wrap_jso(_blink.BlinkPluginArray.instance.$__getter___Callback_1_(unwrap_jso(this), name));
+
@DomName('PluginArray.item')
@DocsEditable()
- Plugin item(int index) => _blink.BlinkPluginArray.instance.item_Callback_1_(this, index);
-
+ Plugin item(int index) => wrap_jso(_blink.BlinkPluginArray.instance.item_Callback_1_(unwrap_jso(this), index));
+
@DomName('PluginArray.namedItem')
@DocsEditable()
- Plugin namedItem(String name) => _blink.BlinkPluginArray.instance.namedItem_Callback_1_(this, name);
-
+ Plugin namedItem(String name) => wrap_jso(_blink.BlinkPluginArray.instance.namedItem_Callback_1_(unwrap_jso(this), name));
+
@DomName('PluginArray.refresh')
@DocsEditable()
- void refresh(bool reload) => _blink.BlinkPluginArray.instance.refresh_Callback_1_(this, reload);
-
+ void refresh(bool reload) => _blink.BlinkPluginArray.instance.refresh_Callback_1_(unwrap_jso(this), reload);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26269,18 +26299,18 @@
@DomName('PluginPlaceholderElement.message')
@DocsEditable()
@Experimental() // untriaged
- String get message => _blink.BlinkPluginPlaceholderElement.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkPluginPlaceholderElement.instance.message_Getter_(unwrap_jso(this));
+
@DomName('PluginPlaceholderElement.message')
@DocsEditable()
@Experimental() // untriaged
- void set message(String value) => _blink.BlinkPluginPlaceholderElement.instance.message_Setter_(this, value);
-
+ void set message(String value) => _blink.BlinkPluginPlaceholderElement.instance.message_Setter_(unwrap_jso(this), value);
+
@DomName('PluginPlaceholderElement.createdCallback')
@DocsEditable()
@Experimental() // untriaged
- void createdCallback() => _blink.BlinkPluginPlaceholderElement.instance.createdCallback_Callback_0_(this);
-
+ void createdCallback() => _blink.BlinkPluginPlaceholderElement.instance.createdCallback_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26301,8 +26331,8 @@
@DomName('PopStateEvent.state')
@DocsEditable()
- Object get state => _blink.BlinkPopStateEvent.instance.state_Getter_(this);
-
+ Object get state => _blink.BlinkPopStateEvent.instance.state_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26342,12 +26372,12 @@
@DomName('PositionError.code')
@DocsEditable()
- int get code => _blink.BlinkPositionError.instance.code_Getter_(this);
-
+ int get code => _blink.BlinkPositionError.instance.code_Getter_(unwrap_jso(this));
+
@DomName('PositionError.message')
@DocsEditable()
- String get message => _blink.BlinkPositionError.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkPositionError.instance.message_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26415,12 +26445,12 @@
@DomName('ProcessingInstruction.sheet')
@DocsEditable()
@Experimental() // non-standard
- StyleSheet get sheet => _blink.BlinkProcessingInstruction.instance.sheet_Getter_(this);
-
+ StyleSheet get sheet => wrap_jso(_blink.BlinkProcessingInstruction.instance.sheet_Getter_(unwrap_jso(this)));
+
@DomName('ProcessingInstruction.target')
@DocsEditable()
- String get target => _blink.BlinkProcessingInstruction.instance.target_Getter_(this);
-
+ String get target => _blink.BlinkProcessingInstruction.instance.target_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26455,28 +26485,28 @@
@DomName('HTMLProgressElement.labels')
@DocsEditable()
@Unstable()
- List<Node> get labels => _blink.BlinkHTMLProgressElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLProgressElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLProgressElement.max')
@DocsEditable()
- num get max => _blink.BlinkHTMLProgressElement.instance.max_Getter_(this);
-
+ num get max => _blink.BlinkHTMLProgressElement.instance.max_Getter_(unwrap_jso(this));
+
@DomName('HTMLProgressElement.max')
@DocsEditable()
- void set max(num value) => _blink.BlinkHTMLProgressElement.instance.max_Setter_(this, value);
-
+ void set max(num value) => _blink.BlinkHTMLProgressElement.instance.max_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLProgressElement.position')
@DocsEditable()
- double get position => _blink.BlinkHTMLProgressElement.instance.position_Getter_(this);
-
+ double get position => _blink.BlinkHTMLProgressElement.instance.position_Getter_(unwrap_jso(this));
+
@DomName('HTMLProgressElement.value')
@DocsEditable()
- num get value => _blink.BlinkHTMLProgressElement.instance.value_Getter_(this);
-
+ num get value => _blink.BlinkHTMLProgressElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLProgressElement.value')
@DocsEditable()
- void set value(num value) => _blink.BlinkHTMLProgressElement.instance.value_Setter_(this, value);
-
+ void set value(num value) => _blink.BlinkHTMLProgressElement.instance.value_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26493,16 +26523,16 @@
@DomName('ProgressEvent.lengthComputable')
@DocsEditable()
- bool get lengthComputable => _blink.BlinkProgressEvent.instance.lengthComputable_Getter_(this);
-
+ bool get lengthComputable => _blink.BlinkProgressEvent.instance.lengthComputable_Getter_(unwrap_jso(this));
+
@DomName('ProgressEvent.loaded')
@DocsEditable()
- int get loaded => _blink.BlinkProgressEvent.instance.loaded_Getter_(this);
-
+ int get loaded => _blink.BlinkProgressEvent.instance.loaded_Getter_(unwrap_jso(this));
+
@DomName('ProgressEvent.total')
@DocsEditable()
- int get total => _blink.BlinkProgressEvent.instance.total_Getter_(this);
-
+ int get total => _blink.BlinkProgressEvent.instance.total_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26521,8 +26551,8 @@
@DomName('PushEvent.data')
@DocsEditable()
@Experimental() // untriaged
- String get data => _blink.BlinkPushEvent.instance.data_Getter_(this);
-
+ String get data => _blink.BlinkPushEvent.instance.data_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26541,8 +26571,8 @@
@DomName('PushManager.register')
@DocsEditable()
@Experimental() // untriaged
- Future register(String senderId) => _blink.BlinkPushManager.instance.register_Callback_1_(this, senderId);
-
+ Future register(String senderId) => _blink.BlinkPushManager.instance.register_Callback_1_(unwrap_jso(this), senderId);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26561,13 +26591,13 @@
@DomName('PushRegistration.pushEndpoint')
@DocsEditable()
@Experimental() // untriaged
- String get pushEndpoint => _blink.BlinkPushRegistration.instance.pushEndpoint_Getter_(this);
-
+ String get pushEndpoint => _blink.BlinkPushRegistration.instance.pushEndpoint_Getter_(unwrap_jso(this));
+
@DomName('PushRegistration.pushRegistrationId')
@DocsEditable()
@Experimental() // untriaged
- String get pushRegistrationId => _blink.BlinkPushRegistration.instance.pushRegistrationId_Getter_(this);
-
+ String get pushRegistrationId => _blink.BlinkPushRegistration.instance.pushRegistrationId_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26594,12 +26624,12 @@
@DomName('HTMLQuoteElement.cite')
@DocsEditable()
- String get cite => _blink.BlinkHTMLQuoteElement.instance.cite_Getter_(this);
-
+ String get cite => _blink.BlinkHTMLQuoteElement.instance.cite_Getter_(unwrap_jso(this));
+
@DomName('HTMLQuoteElement.cite')
@DocsEditable()
- void set cite(String value) => _blink.BlinkHTMLQuoteElement.instance.cite_Setter_(this, value);
-
+ void set cite(String value) => _blink.BlinkHTMLQuoteElement.instance.cite_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26689,127 +26719,127 @@
@DomName('Range.collapsed')
@DocsEditable()
- bool get collapsed => _blink.BlinkRange.instance.collapsed_Getter_(this);
-
+ bool get collapsed => _blink.BlinkRange.instance.collapsed_Getter_(unwrap_jso(this));
+
@DomName('Range.commonAncestorContainer')
@DocsEditable()
- Node get commonAncestorContainer => _blink.BlinkRange.instance.commonAncestorContainer_Getter_(this);
-
+ Node get commonAncestorContainer => wrap_jso(_blink.BlinkRange.instance.commonAncestorContainer_Getter_(unwrap_jso(this)));
+
@DomName('Range.endContainer')
@DocsEditable()
- Node get endContainer => _blink.BlinkRange.instance.endContainer_Getter_(this);
-
+ Node get endContainer => wrap_jso(_blink.BlinkRange.instance.endContainer_Getter_(unwrap_jso(this)));
+
@DomName('Range.endOffset')
@DocsEditable()
- int get endOffset => _blink.BlinkRange.instance.endOffset_Getter_(this);
-
+ int get endOffset => _blink.BlinkRange.instance.endOffset_Getter_(unwrap_jso(this));
+
@DomName('Range.startContainer')
@DocsEditable()
- Node get startContainer => _blink.BlinkRange.instance.startContainer_Getter_(this);
-
+ Node get startContainer => wrap_jso(_blink.BlinkRange.instance.startContainer_Getter_(unwrap_jso(this)));
+
@DomName('Range.startOffset')
@DocsEditable()
- int get startOffset => _blink.BlinkRange.instance.startOffset_Getter_(this);
-
+ int get startOffset => _blink.BlinkRange.instance.startOffset_Getter_(unwrap_jso(this));
+
@DomName('Range.cloneContents')
@DocsEditable()
- DocumentFragment cloneContents() => _blink.BlinkRange.instance.cloneContents_Callback_0_(this);
-
+ DocumentFragment cloneContents() => wrap_jso(_blink.BlinkRange.instance.cloneContents_Callback_0_(unwrap_jso(this)));
+
@DomName('Range.cloneRange')
@DocsEditable()
- Range cloneRange() => _blink.BlinkRange.instance.cloneRange_Callback_0_(this);
-
+ Range cloneRange() => wrap_jso(_blink.BlinkRange.instance.cloneRange_Callback_0_(unwrap_jso(this)));
+
void collapse([bool toStart]) {
if (toStart != null) {
- _blink.BlinkRange.instance.collapse_Callback_1_(this, toStart);
+ _blink.BlinkRange.instance.collapse_Callback_1_(unwrap_jso(this), toStart);
return;
}
- _blink.BlinkRange.instance.collapse_Callback_0_(this);
+ _blink.BlinkRange.instance.collapse_Callback_0_(unwrap_jso(this));
return;
}
@DomName('Range.compareBoundaryPoints')
@DocsEditable()
@Experimental() // untriaged
- int compareBoundaryPoints(int how, Range sourceRange) => _blink.BlinkRange.instance.compareBoundaryPoints_Callback_2_(this, how, sourceRange);
-
+ int compareBoundaryPoints(int how, Range sourceRange) => _blink.BlinkRange.instance.compareBoundaryPoints_Callback_2_(unwrap_jso(this), how, unwrap_jso(sourceRange));
+
@DomName('Range.comparePoint')
@DocsEditable()
- int comparePoint(Node refNode, int offset) => _blink.BlinkRange.instance.comparePoint_Callback_2_(this, refNode, offset);
-
+ int comparePoint(Node refNode, int offset) => _blink.BlinkRange.instance.comparePoint_Callback_2_(unwrap_jso(this), unwrap_jso(refNode), offset);
+
@DomName('Range.createContextualFragment')
@DocsEditable()
- DocumentFragment createContextualFragment(String html) => _blink.BlinkRange.instance.createContextualFragment_Callback_1_(this, html);
-
+ DocumentFragment createContextualFragment(String html) => wrap_jso(_blink.BlinkRange.instance.createContextualFragment_Callback_1_(unwrap_jso(this), html));
+
@DomName('Range.deleteContents')
@DocsEditable()
- void deleteContents() => _blink.BlinkRange.instance.deleteContents_Callback_0_(this);
-
+ void deleteContents() => _blink.BlinkRange.instance.deleteContents_Callback_0_(unwrap_jso(this));
+
@DomName('Range.detach')
@DocsEditable()
- void detach() => _blink.BlinkRange.instance.detach_Callback_0_(this);
-
+ void detach() => _blink.BlinkRange.instance.detach_Callback_0_(unwrap_jso(this));
+
@DomName('Range.expand')
@DocsEditable()
@Experimental() // non-standard
- void expand(String unit) => _blink.BlinkRange.instance.expand_Callback_1_(this, unit);
-
+ void expand(String unit) => _blink.BlinkRange.instance.expand_Callback_1_(unwrap_jso(this), unit);
+
@DomName('Range.extractContents')
@DocsEditable()
- DocumentFragment extractContents() => _blink.BlinkRange.instance.extractContents_Callback_0_(this);
-
+ DocumentFragment extractContents() => wrap_jso(_blink.BlinkRange.instance.extractContents_Callback_0_(unwrap_jso(this)));
+
@DomName('Range.getBoundingClientRect')
@DocsEditable()
- Rectangle getBoundingClientRect() => _blink.BlinkRange.instance.getBoundingClientRect_Callback_0_(this);
-
+ Rectangle getBoundingClientRect() => make_dart_rectangle(_blink.BlinkRange.instance.getBoundingClientRect_Callback_0_(unwrap_jso(this)));
+
@DomName('Range.getClientRects')
@DocsEditable()
- List<Rectangle> getClientRects() => _blink.BlinkRange.instance.getClientRects_Callback_0_(this);
-
+ List<Rectangle> getClientRects() => _blink.BlinkRange.instance.getClientRects_Callback_0_(unwrap_jso(this));
+
@DomName('Range.insertNode')
@DocsEditable()
- void insertNode(Node newNode) => _blink.BlinkRange.instance.insertNode_Callback_1_(this, newNode);
-
+ void insertNode(Node newNode) => _blink.BlinkRange.instance.insertNode_Callback_1_(unwrap_jso(this), unwrap_jso(newNode));
+
@DomName('Range.isPointInRange')
@DocsEditable()
- bool isPointInRange(Node refNode, int offset) => _blink.BlinkRange.instance.isPointInRange_Callback_2_(this, refNode, offset);
-
+ bool isPointInRange(Node refNode, int offset) => _blink.BlinkRange.instance.isPointInRange_Callback_2_(unwrap_jso(this), unwrap_jso(refNode), offset);
+
@DomName('Range.selectNode')
@DocsEditable()
- void selectNode(Node refNode) => _blink.BlinkRange.instance.selectNode_Callback_1_(this, refNode);
-
+ void selectNode(Node refNode) => _blink.BlinkRange.instance.selectNode_Callback_1_(unwrap_jso(this), unwrap_jso(refNode));
+
@DomName('Range.selectNodeContents')
@DocsEditable()
- void selectNodeContents(Node refNode) => _blink.BlinkRange.instance.selectNodeContents_Callback_1_(this, refNode);
-
+ void selectNodeContents(Node refNode) => _blink.BlinkRange.instance.selectNodeContents_Callback_1_(unwrap_jso(this), unwrap_jso(refNode));
+
@DomName('Range.setEnd')
@DocsEditable()
- void setEnd(Node refNode, int offset) => _blink.BlinkRange.instance.setEnd_Callback_2_(this, refNode, offset);
-
+ void setEnd(Node refNode, int offset) => _blink.BlinkRange.instance.setEnd_Callback_2_(unwrap_jso(this), unwrap_jso(refNode), offset);
+
@DomName('Range.setEndAfter')
@DocsEditable()
- void setEndAfter(Node refNode) => _blink.BlinkRange.instance.setEndAfter_Callback_1_(this, refNode);
-
+ void setEndAfter(Node refNode) => _blink.BlinkRange.instance.setEndAfter_Callback_1_(unwrap_jso(this), unwrap_jso(refNode));
+
@DomName('Range.setEndBefore')
@DocsEditable()
- void setEndBefore(Node refNode) => _blink.BlinkRange.instance.setEndBefore_Callback_1_(this, refNode);
-
+ void setEndBefore(Node refNode) => _blink.BlinkRange.instance.setEndBefore_Callback_1_(unwrap_jso(this), unwrap_jso(refNode));
+
@DomName('Range.setStart')
@DocsEditable()
- void setStart(Node refNode, int offset) => _blink.BlinkRange.instance.setStart_Callback_2_(this, refNode, offset);
-
+ void setStart(Node refNode, int offset) => _blink.BlinkRange.instance.setStart_Callback_2_(unwrap_jso(this), unwrap_jso(refNode), offset);
+
@DomName('Range.setStartAfter')
@DocsEditable()
- void setStartAfter(Node refNode) => _blink.BlinkRange.instance.setStartAfter_Callback_1_(this, refNode);
-
+ void setStartAfter(Node refNode) => _blink.BlinkRange.instance.setStartAfter_Callback_1_(unwrap_jso(this), unwrap_jso(refNode));
+
@DomName('Range.setStartBefore')
@DocsEditable()
- void setStartBefore(Node refNode) => _blink.BlinkRange.instance.setStartBefore_Callback_1_(this, refNode);
-
+ void setStartBefore(Node refNode) => _blink.BlinkRange.instance.setStartBefore_Callback_1_(unwrap_jso(this), unwrap_jso(refNode));
+
@DomName('Range.surroundContents')
@DocsEditable()
- void surroundContents(Node newParent) => _blink.BlinkRange.instance.surroundContents_Callback_1_(this, newParent);
-
+ void surroundContents(Node newParent) => _blink.BlinkRange.instance.surroundContents_Callback_1_(unwrap_jso(this), unwrap_jso(newParent));
+
/**
* Checks if createContextualFragment is supported.
@@ -26837,28 +26867,28 @@
@DomName('ReadableStream.closed')
@DocsEditable()
@Experimental() // untriaged
- Future get closed => _blink.BlinkReadableStream.instance.closed_Getter_(this);
-
+ Future get closed => _blink.BlinkReadableStream.instance.closed_Getter_(unwrap_jso(this));
+
@DomName('ReadableStream.state')
@DocsEditable()
@Experimental() // untriaged
- String get state => _blink.BlinkReadableStream.instance.state_Getter_(this);
-
+ String get state => _blink.BlinkReadableStream.instance.state_Getter_(unwrap_jso(this));
+
@DomName('ReadableStream.cancel')
@DocsEditable()
@Experimental() // untriaged
- Future cancel(Object reason) => _blink.BlinkReadableStream.instance.cancel_Callback_1_(this, reason);
-
+ Future cancel(Object reason) => _blink.BlinkReadableStream.instance.cancel_Callback_1_(unwrap_jso(this), reason);
+
@DomName('ReadableStream.read')
@DocsEditable()
@Experimental() // untriaged
- Object read() => _blink.BlinkReadableStream.instance.read_Callback_0_(this);
-
+ Object read() => wrap_jso(_blink.BlinkReadableStream.instance.read_Callback_0_(unwrap_jso(this)));
+
@DomName('ReadableStream.wait')
@DocsEditable()
@Experimental() // untriaged
- Future wait() => _blink.BlinkReadableStream.instance.wait_Callback_0_(this);
-
+ Future wait() => _blink.BlinkReadableStream.instance.wait_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26877,8 +26907,8 @@
@DomName('RelatedEvent.relatedTarget')
@DocsEditable()
@Experimental() // untriaged
- EventTarget get relatedTarget => _blink.BlinkRelatedEvent.instance.relatedTarget_Getter_(this);
-
+ EventTarget get relatedTarget => wrap_jso(_blink.BlinkRelatedEvent.instance.relatedTarget_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26906,8 +26936,8 @@
@DomName('ResourceProgressEvent.url')
@DocsEditable()
- String get url => _blink.BlinkResourceProgressEvent.instance.url_Getter_(this);
-
+ String get url => _blink.BlinkResourceProgressEvent.instance.url_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -26966,77 +26996,77 @@
@DomName('RTCDataChannel.binaryType')
@DocsEditable()
- String get binaryType => _blink.BlinkRTCDataChannel.instance.binaryType_Getter_(this);
-
+ String get binaryType => _blink.BlinkRTCDataChannel.instance.binaryType_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.binaryType')
@DocsEditable()
- void set binaryType(String value) => _blink.BlinkRTCDataChannel.instance.binaryType_Setter_(this, value);
-
+ void set binaryType(String value) => _blink.BlinkRTCDataChannel.instance.binaryType_Setter_(unwrap_jso(this), value);
+
@DomName('RTCDataChannel.bufferedAmount')
@DocsEditable()
- int get bufferedAmount => _blink.BlinkRTCDataChannel.instance.bufferedAmount_Getter_(this);
-
+ int get bufferedAmount => _blink.BlinkRTCDataChannel.instance.bufferedAmount_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.id')
@DocsEditable()
@Experimental() // untriaged
- int get id => _blink.BlinkRTCDataChannel.instance.id_Getter_(this);
-
+ int get id => _blink.BlinkRTCDataChannel.instance.id_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.label')
@DocsEditable()
- String get label => _blink.BlinkRTCDataChannel.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkRTCDataChannel.instance.label_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.maxRetransmitTime')
@DocsEditable()
@Experimental() // untriaged
- int get maxRetransmitTime => _blink.BlinkRTCDataChannel.instance.maxRetransmitTime_Getter_(this);
-
+ int get maxRetransmitTime => _blink.BlinkRTCDataChannel.instance.maxRetransmitTime_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.maxRetransmits')
@DocsEditable()
@Experimental() // untriaged
- int get maxRetransmits => _blink.BlinkRTCDataChannel.instance.maxRetransmits_Getter_(this);
-
+ int get maxRetransmits => _blink.BlinkRTCDataChannel.instance.maxRetransmits_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.negotiated')
@DocsEditable()
@Experimental() // untriaged
- bool get negotiated => _blink.BlinkRTCDataChannel.instance.negotiated_Getter_(this);
-
+ bool get negotiated => _blink.BlinkRTCDataChannel.instance.negotiated_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.ordered')
@DocsEditable()
@Experimental() // untriaged
- bool get ordered => _blink.BlinkRTCDataChannel.instance.ordered_Getter_(this);
-
+ bool get ordered => _blink.BlinkRTCDataChannel.instance.ordered_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.protocol')
@DocsEditable()
@Experimental() // untriaged
- String get protocol => _blink.BlinkRTCDataChannel.instance.protocol_Getter_(this);
-
+ String get protocol => _blink.BlinkRTCDataChannel.instance.protocol_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.readyState')
@DocsEditable()
- String get readyState => _blink.BlinkRTCDataChannel.instance.readyState_Getter_(this);
-
+ String get readyState => _blink.BlinkRTCDataChannel.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.reliable')
@DocsEditable()
- bool get reliable => _blink.BlinkRTCDataChannel.instance.reliable_Getter_(this);
-
+ bool get reliable => _blink.BlinkRTCDataChannel.instance.reliable_Getter_(unwrap_jso(this));
+
@DomName('RTCDataChannel.close')
@DocsEditable()
- void close() => _blink.BlinkRTCDataChannel.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkRTCDataChannel.instance.close_Callback_0_(unwrap_jso(this));
+
void send(data) {
if ((data is String || data == null)) {
- _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
+ _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
if ((data is Blob || data == null)) {
- _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
+ _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
if ((data is TypedData || data == null)) {
- _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
+ _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
if ((data is ByteBuffer || data == null)) {
- _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
+ _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -27044,20 +27074,20 @@
@DomName('RTCDataChannel.sendBlob')
@DocsEditable()
- void sendBlob(Blob data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
-
+ void sendBlob(Blob data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
+
@DomName('RTCDataChannel.sendByteBuffer')
@DocsEditable()
- void sendByteBuffer(ByteBuffer data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
-
+ void sendByteBuffer(ByteBuffer data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), data);
+
@DomName('RTCDataChannel.sendString')
@DocsEditable()
- void sendString(String data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
-
+ void sendString(String data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), data);
+
@DomName('RTCDataChannel.sendTypedData')
@DocsEditable()
- void sendTypedData(TypedData data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(this, data);
-
+ void sendTypedData(TypedData data) => _blink.BlinkRTCDataChannel.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
+
/// Stream of `close` events handled by this [RtcDataChannel].
@DomName('RTCDataChannel.onclose')
@DocsEditable()
@@ -27096,8 +27126,8 @@
@DomName('RTCDataChannelEvent.channel')
@DocsEditable()
- RtcDataChannel get channel => _blink.BlinkRTCDataChannelEvent.instance.channel_Getter_(this);
-
+ RtcDataChannel get channel => wrap_jso(_blink.BlinkRTCDataChannelEvent.instance.channel_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27126,34 +27156,34 @@
@DomName('RTCDTMFSender.canInsertDTMF')
@DocsEditable()
- bool get canInsertDtmf => _blink.BlinkRTCDTMFSender.instance.canInsertDTMF_Getter_(this);
-
+ bool get canInsertDtmf => _blink.BlinkRTCDTMFSender.instance.canInsertDTMF_Getter_(unwrap_jso(this));
+
@DomName('RTCDTMFSender.duration')
@DocsEditable()
- int get duration => _blink.BlinkRTCDTMFSender.instance.duration_Getter_(this);
-
+ int get duration => _blink.BlinkRTCDTMFSender.instance.duration_Getter_(unwrap_jso(this));
+
@DomName('RTCDTMFSender.interToneGap')
@DocsEditable()
- int get interToneGap => _blink.BlinkRTCDTMFSender.instance.interToneGap_Getter_(this);
-
+ int get interToneGap => _blink.BlinkRTCDTMFSender.instance.interToneGap_Getter_(unwrap_jso(this));
+
@DomName('RTCDTMFSender.toneBuffer')
@DocsEditable()
- String get toneBuffer => _blink.BlinkRTCDTMFSender.instance.toneBuffer_Getter_(this);
-
+ String get toneBuffer => _blink.BlinkRTCDTMFSender.instance.toneBuffer_Getter_(unwrap_jso(this));
+
@DomName('RTCDTMFSender.track')
@DocsEditable()
- MediaStreamTrack get track => _blink.BlinkRTCDTMFSender.instance.track_Getter_(this);
-
+ MediaStreamTrack get track => wrap_jso(_blink.BlinkRTCDTMFSender.instance.track_Getter_(unwrap_jso(this)));
+
void insertDtmf(String tones, [int duration, int interToneGap]) {
if (interToneGap != null) {
- _blink.BlinkRTCDTMFSender.instance.insertDTMF_Callback_3_(this, tones, duration, interToneGap);
+ _blink.BlinkRTCDTMFSender.instance.insertDTMF_Callback_3_(unwrap_jso(this), tones, duration, interToneGap);
return;
}
if (duration != null) {
- _blink.BlinkRTCDTMFSender.instance.insertDTMF_Callback_2_(this, tones, duration);
+ _blink.BlinkRTCDTMFSender.instance.insertDTMF_Callback_2_(unwrap_jso(this), tones, duration);
return;
}
- _blink.BlinkRTCDTMFSender.instance.insertDTMF_Callback_1_(this, tones);
+ _blink.BlinkRTCDTMFSender.instance.insertDTMF_Callback_1_(unwrap_jso(this), tones);
return;
}
@@ -27180,8 +27210,8 @@
@DomName('RTCDTMFToneChangeEvent.tone')
@DocsEditable()
- String get tone => _blink.BlinkRTCDTMFToneChangeEvent.instance.tone_Getter_(this);
-
+ String get tone => _blink.BlinkRTCDTMFToneChangeEvent.instance.tone_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27207,28 +27237,28 @@
@DomName('RTCIceCandidate.candidate')
@DocsEditable()
- String get candidate => _blink.BlinkRTCIceCandidate.instance.candidate_Getter_(this);
-
+ String get candidate => _blink.BlinkRTCIceCandidate.instance.candidate_Getter_(unwrap_jso(this));
+
@DomName('RTCIceCandidate.candidate')
@DocsEditable()
- void set candidate(String value) => _blink.BlinkRTCIceCandidate.instance.candidate_Setter_(this, value);
-
+ void set candidate(String value) => _blink.BlinkRTCIceCandidate.instance.candidate_Setter_(unwrap_jso(this), value);
+
@DomName('RTCIceCandidate.sdpMLineIndex')
@DocsEditable()
- int get sdpMLineIndex => _blink.BlinkRTCIceCandidate.instance.sdpMLineIndex_Getter_(this);
-
+ int get sdpMLineIndex => _blink.BlinkRTCIceCandidate.instance.sdpMLineIndex_Getter_(unwrap_jso(this));
+
@DomName('RTCIceCandidate.sdpMLineIndex')
@DocsEditable()
- void set sdpMLineIndex(int value) => _blink.BlinkRTCIceCandidate.instance.sdpMLineIndex_Setter_(this, value);
-
+ void set sdpMLineIndex(int value) => _blink.BlinkRTCIceCandidate.instance.sdpMLineIndex_Setter_(unwrap_jso(this), value);
+
@DomName('RTCIceCandidate.sdpMid')
@DocsEditable()
- String get sdpMid => _blink.BlinkRTCIceCandidate.instance.sdpMid_Getter_(this);
-
+ String get sdpMid => _blink.BlinkRTCIceCandidate.instance.sdpMid_Getter_(unwrap_jso(this));
+
@DomName('RTCIceCandidate.sdpMid')
@DocsEditable()
- void set sdpMid(String value) => _blink.BlinkRTCIceCandidate.instance.sdpMid_Setter_(this, value);
-
+ void set sdpMid(String value) => _blink.BlinkRTCIceCandidate.instance.sdpMid_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27247,8 +27277,8 @@
@DomName('RTCIceCandidateEvent.candidate')
@DocsEditable()
- RtcIceCandidate get candidate => _blink.BlinkRTCIceCandidateEvent.instance.candidate_Getter_(this);
-
+ RtcIceCandidate get candidate => wrap_jso(_blink.BlinkRTCIceCandidateEvent.instance.candidate_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27372,94 +27402,94 @@
@DomName('RTCPeerConnection.iceConnectionState')
@DocsEditable()
- String get iceConnectionState => _blink.BlinkRTCPeerConnection.instance.iceConnectionState_Getter_(this);
-
+ String get iceConnectionState => _blink.BlinkRTCPeerConnection.instance.iceConnectionState_Getter_(unwrap_jso(this));
+
@DomName('RTCPeerConnection.iceGatheringState')
@DocsEditable()
- String get iceGatheringState => _blink.BlinkRTCPeerConnection.instance.iceGatheringState_Getter_(this);
-
+ String get iceGatheringState => _blink.BlinkRTCPeerConnection.instance.iceGatheringState_Getter_(unwrap_jso(this));
+
@DomName('RTCPeerConnection.localDescription')
@DocsEditable()
- RtcSessionDescription get localDescription => _blink.BlinkRTCPeerConnection.instance.localDescription_Getter_(this);
-
+ RtcSessionDescription get localDescription => wrap_jso(_blink.BlinkRTCPeerConnection.instance.localDescription_Getter_(unwrap_jso(this)));
+
@DomName('RTCPeerConnection.remoteDescription')
@DocsEditable()
- RtcSessionDescription get remoteDescription => _blink.BlinkRTCPeerConnection.instance.remoteDescription_Getter_(this);
-
+ RtcSessionDescription get remoteDescription => wrap_jso(_blink.BlinkRTCPeerConnection.instance.remoteDescription_Getter_(unwrap_jso(this)));
+
@DomName('RTCPeerConnection.signalingState')
@DocsEditable()
- String get signalingState => _blink.BlinkRTCPeerConnection.instance.signalingState_Getter_(this);
-
+ String get signalingState => _blink.BlinkRTCPeerConnection.instance.signalingState_Getter_(unwrap_jso(this));
+
@DomName('RTCPeerConnection.addIceCandidate')
@DocsEditable()
- void addIceCandidate(RtcIceCandidate candidate, VoidCallback successCallback, _RtcErrorCallback failureCallback) => _blink.BlinkRTCPeerConnection.instance.addIceCandidate_Callback_3_(this, candidate, successCallback, failureCallback);
-
+ void addIceCandidate(RtcIceCandidate candidate, VoidCallback successCallback, _RtcErrorCallback failureCallback) => _blink.BlinkRTCPeerConnection.instance.addIceCandidate_Callback_3_(unwrap_jso(this), unwrap_jso(candidate), unwrap_jso(successCallback), unwrap_jso(failureCallback));
+
void addStream(MediaStream stream, [Map mediaConstraints]) {
if (mediaConstraints != null) {
- _blink.BlinkRTCPeerConnection.instance.addStream_Callback_2_(this, stream, mediaConstraints);
+ _blink.BlinkRTCPeerConnection.instance.addStream_Callback_2_(unwrap_jso(this), unwrap_jso(stream), mediaConstraints);
return;
}
- _blink.BlinkRTCPeerConnection.instance.addStream_Callback_1_(this, stream);
+ _blink.BlinkRTCPeerConnection.instance.addStream_Callback_1_(unwrap_jso(this), unwrap_jso(stream));
return;
}
@DomName('RTCPeerConnection.close')
@DocsEditable()
- void close() => _blink.BlinkRTCPeerConnection.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkRTCPeerConnection.instance.close_Callback_0_(unwrap_jso(this));
+
void _createAnswer(_RtcSessionDescriptionCallback successCallback, [_RtcErrorCallback failureCallback, Map mediaConstraints]) {
if (mediaConstraints != null) {
- _blink.BlinkRTCPeerConnection.instance.createAnswer_Callback_3_(this, successCallback, failureCallback, mediaConstraints);
+ _blink.BlinkRTCPeerConnection.instance.createAnswer_Callback_3_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(failureCallback), mediaConstraints);
return;
}
- _blink.BlinkRTCPeerConnection.instance.createAnswer_Callback_2_(this, successCallback, failureCallback);
+ _blink.BlinkRTCPeerConnection.instance.createAnswer_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(failureCallback));
return;
}
@DomName('RTCPeerConnection.createDTMFSender')
@DocsEditable()
- RtcDtmfSender createDtmfSender(MediaStreamTrack track) => _blink.BlinkRTCPeerConnection.instance.createDTMFSender_Callback_1_(this, track);
-
+ RtcDtmfSender createDtmfSender(MediaStreamTrack track) => _blink.BlinkRTCPeerConnection.instance.createDTMFSender_Callback_1_(unwrap_jso(this), unwrap_jso(track));
+
RtcDataChannel createDataChannel(String label, [Map options]) {
if (options != null) {
- return _blink.BlinkRTCPeerConnection.instance.createDataChannel_Callback_2_(this, label, options);
+ return _blink.BlinkRTCPeerConnection.instance.createDataChannel_Callback_2_(unwrap_jso(this), label, options);
}
- return _blink.BlinkRTCPeerConnection.instance.createDataChannel_Callback_1_(this, label);
+ return _blink.BlinkRTCPeerConnection.instance.createDataChannel_Callback_1_(unwrap_jso(this), label);
}
void _createOffer(_RtcSessionDescriptionCallback successCallback, [_RtcErrorCallback failureCallback, Map rtcOfferOptions]) {
if (rtcOfferOptions != null) {
- _blink.BlinkRTCPeerConnection.instance.createOffer_Callback_3_(this, successCallback, failureCallback, rtcOfferOptions);
+ _blink.BlinkRTCPeerConnection.instance.createOffer_Callback_3_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(failureCallback), rtcOfferOptions);
return;
}
- _blink.BlinkRTCPeerConnection.instance.createOffer_Callback_2_(this, successCallback, failureCallback);
+ _blink.BlinkRTCPeerConnection.instance.createOffer_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(failureCallback));
return;
}
@DomName('RTCPeerConnection.getLocalStreams')
@DocsEditable()
- List<MediaStream> getLocalStreams() => _blink.BlinkRTCPeerConnection.instance.getLocalStreams_Callback_0_(this);
-
+ List<MediaStream> getLocalStreams() => _blink.BlinkRTCPeerConnection.instance.getLocalStreams_Callback_0_(unwrap_jso(this));
+
@DomName('RTCPeerConnection.getRemoteStreams')
@DocsEditable()
- List<MediaStream> getRemoteStreams() => _blink.BlinkRTCPeerConnection.instance.getRemoteStreams_Callback_0_(this);
-
+ List<MediaStream> getRemoteStreams() => _blink.BlinkRTCPeerConnection.instance.getRemoteStreams_Callback_0_(unwrap_jso(this));
+
@DomName('RTCPeerConnection.getStats')
@DocsEditable()
- void _getStats(RtcStatsCallback successCallback, MediaStreamTrack selector) => _blink.BlinkRTCPeerConnection.instance.getStats_Callback_2_(this, successCallback, selector);
-
+ void _getStats(RtcStatsCallback successCallback, MediaStreamTrack selector) => _blink.BlinkRTCPeerConnection.instance.getStats_Callback_2_(unwrap_jso(this), unwrap_jso(successCallback), unwrap_jso(selector));
+
@DomName('RTCPeerConnection.getStreamById')
@DocsEditable()
- MediaStream getStreamById(String streamId) => _blink.BlinkRTCPeerConnection.instance.getStreamById_Callback_1_(this, streamId);
-
+ MediaStream getStreamById(String streamId) => wrap_jso(_blink.BlinkRTCPeerConnection.instance.getStreamById_Callback_1_(unwrap_jso(this), streamId));
+
@DomName('RTCPeerConnection.removeStream')
@DocsEditable()
- void removeStream(MediaStream stream) => _blink.BlinkRTCPeerConnection.instance.removeStream_Callback_1_(this, stream);
-
+ void removeStream(MediaStream stream) => _blink.BlinkRTCPeerConnection.instance.removeStream_Callback_1_(unwrap_jso(this), unwrap_jso(stream));
+
@DomName('RTCPeerConnection.setLocalDescription')
@DocsEditable()
- void _setLocalDescription(RtcSessionDescription description, [VoidCallback successCallback, _RtcErrorCallback failureCallback]) => _blink.BlinkRTCPeerConnection.instance.setLocalDescription_Callback_3_(this, description, successCallback, failureCallback);
-
+ void _setLocalDescription(RtcSessionDescription description, [VoidCallback successCallback, _RtcErrorCallback failureCallback]) => _blink.BlinkRTCPeerConnection.instance.setLocalDescription_Callback_3_(unwrap_jso(this), unwrap_jso(description), unwrap_jso(successCallback), unwrap_jso(failureCallback));
+
Future setLocalDescription(RtcSessionDescription description) {
var completer = new Completer();
_setLocalDescription(description,
@@ -27470,8 +27500,8 @@
@DomName('RTCPeerConnection.setRemoteDescription')
@DocsEditable()
- void _setRemoteDescription(RtcSessionDescription description, [VoidCallback successCallback, _RtcErrorCallback failureCallback]) => _blink.BlinkRTCPeerConnection.instance.setRemoteDescription_Callback_3_(this, description, successCallback, failureCallback);
-
+ void _setRemoteDescription(RtcSessionDescription description, [VoidCallback successCallback, _RtcErrorCallback failureCallback]) => _blink.BlinkRTCPeerConnection.instance.setRemoteDescription_Callback_3_(unwrap_jso(this), unwrap_jso(description), unwrap_jso(successCallback), unwrap_jso(failureCallback));
+
Future setRemoteDescription(RtcSessionDescription description) {
var completer = new Completer();
_setRemoteDescription(description,
@@ -27482,14 +27512,14 @@
void updateIce([Map configuration, Map mediaConstraints]) {
if (mediaConstraints != null) {
- _blink.BlinkRTCPeerConnection.instance.updateIce_Callback_2_(this, configuration, mediaConstraints);
+ _blink.BlinkRTCPeerConnection.instance.updateIce_Callback_2_(unwrap_jso(this), configuration, mediaConstraints);
return;
}
if (configuration != null) {
- _blink.BlinkRTCPeerConnection.instance.updateIce_Callback_1_(this, configuration);
+ _blink.BlinkRTCPeerConnection.instance.updateIce_Callback_1_(unwrap_jso(this), configuration);
return;
}
- _blink.BlinkRTCPeerConnection.instance.updateIce_Callback_0_(this);
+ _blink.BlinkRTCPeerConnection.instance.updateIce_Callback_0_(unwrap_jso(this));
return;
}
@@ -27556,20 +27586,20 @@
@DomName('RTCSessionDescription.sdp')
@DocsEditable()
- String get sdp => _blink.BlinkRTCSessionDescription.instance.sdp_Getter_(this);
-
+ String get sdp => _blink.BlinkRTCSessionDescription.instance.sdp_Getter_(unwrap_jso(this));
+
@DomName('RTCSessionDescription.sdp')
@DocsEditable()
- void set sdp(String value) => _blink.BlinkRTCSessionDescription.instance.sdp_Setter_(this, value);
-
+ void set sdp(String value) => _blink.BlinkRTCSessionDescription.instance.sdp_Setter_(unwrap_jso(this), value);
+
@DomName('RTCSessionDescription.type')
@DocsEditable()
- String get type => _blink.BlinkRTCSessionDescription.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkRTCSessionDescription.instance.type_Getter_(unwrap_jso(this));
+
@DomName('RTCSessionDescription.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkRTCSessionDescription.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkRTCSessionDescription.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27588,32 +27618,32 @@
@DomName('RTCStatsReport.id')
@DocsEditable()
- String get id => _blink.BlinkRTCStatsReport.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkRTCStatsReport.instance.id_Getter_(unwrap_jso(this));
+
@DomName('RTCStatsReport.local')
@DocsEditable()
- RtcStatsReport get local => _blink.BlinkRTCStatsReport.instance.local_Getter_(this);
-
+ RtcStatsReport get local => wrap_jso(_blink.BlinkRTCStatsReport.instance.local_Getter_(unwrap_jso(this)));
+
@DomName('RTCStatsReport.remote')
@DocsEditable()
- RtcStatsReport get remote => _blink.BlinkRTCStatsReport.instance.remote_Getter_(this);
-
+ RtcStatsReport get remote => wrap_jso(_blink.BlinkRTCStatsReport.instance.remote_Getter_(unwrap_jso(this)));
+
@DomName('RTCStatsReport.timestamp')
@DocsEditable()
- DateTime get timestamp => _blink.BlinkRTCStatsReport.instance.timestamp_Getter_(this);
-
+ DateTime get timestamp => _blink.BlinkRTCStatsReport.instance.timestamp_Getter_(unwrap_jso(this));
+
@DomName('RTCStatsReport.type')
@DocsEditable()
- String get type => _blink.BlinkRTCStatsReport.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkRTCStatsReport.instance.type_Getter_(unwrap_jso(this));
+
@DomName('RTCStatsReport.names')
@DocsEditable()
- List<String> names() => _blink.BlinkRTCStatsReport.instance.names_Callback_0_(this);
-
+ List<String> names() => _blink.BlinkRTCStatsReport.instance.names_Callback_0_(unwrap_jso(this));
+
@DomName('RTCStatsReport.stat')
@DocsEditable()
- String stat(String name) => _blink.BlinkRTCStatsReport.instance.stat_Callback_1_(this, name);
-
+ String stat(String name) => _blink.BlinkRTCStatsReport.instance.stat_Callback_1_(unwrap_jso(this), name);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27632,16 +27662,16 @@
@DomName('RTCStatsResponse.__getter__')
@DocsEditable()
- RtcStatsReport __getter__(String name) => _blink.BlinkRTCStatsResponse.instance.$__getter___Callback_1_(this, name);
-
+ RtcStatsReport __getter__(String name) => _blink.BlinkRTCStatsResponse.instance.$__getter___Callback_1_(unwrap_jso(this), name);
+
@DomName('RTCStatsResponse.namedItem')
@DocsEditable()
- RtcStatsReport namedItem(String name) => _blink.BlinkRTCStatsResponse.instance.namedItem_Callback_1_(this, name);
-
+ RtcStatsReport namedItem(String name) => _blink.BlinkRTCStatsResponse.instance.namedItem_Callback_1_(unwrap_jso(this), name);
+
@DomName('RTCStatsResponse.result')
@DocsEditable()
- List<RtcStatsReport> result() => _blink.BlinkRTCStatsResponse.instance.result_Callback_0_(this);
-
+ List<RtcStatsReport> result() => _blink.BlinkRTCStatsResponse.instance.result_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27663,43 +27693,43 @@
@DomName('Screen.availHeight')
@DocsEditable()
- int get _availHeight => _blink.BlinkScreen.instance.availHeight_Getter_(this);
-
+ int get _availHeight => _blink.BlinkScreen.instance.availHeight_Getter_(unwrap_jso(this));
+
@DomName('Screen.availLeft')
@DocsEditable()
@Experimental() // nonstandard
- int get _availLeft => _blink.BlinkScreen.instance.availLeft_Getter_(this);
-
+ int get _availLeft => _blink.BlinkScreen.instance.availLeft_Getter_(unwrap_jso(this));
+
@DomName('Screen.availTop')
@DocsEditable()
@Experimental() // nonstandard
- int get _availTop => _blink.BlinkScreen.instance.availTop_Getter_(this);
-
+ int get _availTop => _blink.BlinkScreen.instance.availTop_Getter_(unwrap_jso(this));
+
@DomName('Screen.availWidth')
@DocsEditable()
- int get _availWidth => _blink.BlinkScreen.instance.availWidth_Getter_(this);
-
+ int get _availWidth => _blink.BlinkScreen.instance.availWidth_Getter_(unwrap_jso(this));
+
@DomName('Screen.colorDepth')
@DocsEditable()
- int get colorDepth => _blink.BlinkScreen.instance.colorDepth_Getter_(this);
-
+ int get colorDepth => _blink.BlinkScreen.instance.colorDepth_Getter_(unwrap_jso(this));
+
@DomName('Screen.height')
@DocsEditable()
- int get height => _blink.BlinkScreen.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkScreen.instance.height_Getter_(unwrap_jso(this));
+
@DomName('Screen.orientation')
@DocsEditable()
@Experimental() // untriaged
- ScreenOrientation get orientation => _blink.BlinkScreen.instance.orientation_Getter_(this);
-
+ ScreenOrientation get orientation => wrap_jso(_blink.BlinkScreen.instance.orientation_Getter_(unwrap_jso(this)));
+
@DomName('Screen.pixelDepth')
@DocsEditable()
- int get pixelDepth => _blink.BlinkScreen.instance.pixelDepth_Getter_(this);
-
+ int get pixelDepth => _blink.BlinkScreen.instance.pixelDepth_Getter_(unwrap_jso(this));
+
@DomName('Screen.width')
@DocsEditable()
- int get width => _blink.BlinkScreen.instance.width_Getter_(this);
-}
+ int get width => _blink.BlinkScreen.instance.width_Getter_(unwrap_jso(this));
+ }
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -27722,23 +27752,23 @@
@DomName('ScreenOrientation.angle')
@DocsEditable()
@Experimental() // untriaged
- int get angle => _blink.BlinkScreenOrientation.instance.angle_Getter_(this);
-
+ int get angle => _blink.BlinkScreenOrientation.instance.angle_Getter_(unwrap_jso(this));
+
@DomName('ScreenOrientation.type')
@DocsEditable()
@Experimental() // untriaged
- String get type => _blink.BlinkScreenOrientation.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkScreenOrientation.instance.type_Getter_(unwrap_jso(this));
+
@DomName('ScreenOrientation.lock')
@DocsEditable()
@Experimental() // untriaged
- Future lock(String orientation) => _blink.BlinkScreenOrientation.instance.lock_Callback_1_(this, orientation);
-
+ Future lock(String orientation) => _blink.BlinkScreenOrientation.instance.lock_Callback_1_(unwrap_jso(this), orientation);
+
@DomName('ScreenOrientation.unlock')
@DocsEditable()
@Experimental() // untriaged
- void unlock() => _blink.BlinkScreenOrientation.instance.unlock_Callback_0_(this);
-
+ void unlock() => _blink.BlinkScreenOrientation.instance.unlock_Callback_0_(unwrap_jso(this));
+
@DomName('ScreenOrientation.onchange')
@DocsEditable()
@Experimental() // untriaged
@@ -27770,78 +27800,78 @@
@DomName('HTMLScriptElement.async')
@DocsEditable()
- bool get async => _blink.BlinkHTMLScriptElement.instance.async_Getter_(this);
-
+ bool get async => _blink.BlinkHTMLScriptElement.instance.async_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.async')
@DocsEditable()
- void set async(bool value) => _blink.BlinkHTMLScriptElement.instance.async_Setter_(this, value);
-
+ void set async(bool value) => _blink.BlinkHTMLScriptElement.instance.async_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLScriptElement.charset')
@DocsEditable()
- String get charset => _blink.BlinkHTMLScriptElement.instance.charset_Getter_(this);
-
+ String get charset => _blink.BlinkHTMLScriptElement.instance.charset_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.charset')
@DocsEditable()
- void set charset(String value) => _blink.BlinkHTMLScriptElement.instance.charset_Setter_(this, value);
-
+ void set charset(String value) => _blink.BlinkHTMLScriptElement.instance.charset_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLScriptElement.crossOrigin')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-crossorigin
@Experimental()
- String get crossOrigin => _blink.BlinkHTMLScriptElement.instance.crossOrigin_Getter_(this);
-
+ String get crossOrigin => _blink.BlinkHTMLScriptElement.instance.crossOrigin_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.crossOrigin')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#attr-script-crossorigin
@Experimental()
- void set crossOrigin(String value) => _blink.BlinkHTMLScriptElement.instance.crossOrigin_Setter_(this, value);
-
+ void set crossOrigin(String value) => _blink.BlinkHTMLScriptElement.instance.crossOrigin_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLScriptElement.defer')
@DocsEditable()
- bool get defer => _blink.BlinkHTMLScriptElement.instance.defer_Getter_(this);
-
+ bool get defer => _blink.BlinkHTMLScriptElement.instance.defer_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.defer')
@DocsEditable()
- void set defer(bool value) => _blink.BlinkHTMLScriptElement.instance.defer_Setter_(this, value);
-
+ void set defer(bool value) => _blink.BlinkHTMLScriptElement.instance.defer_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLScriptElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLScriptElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLScriptElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLScriptElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLScriptElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLScriptElement.nonce')
@DocsEditable()
// https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#interaction-with-the-script-src-directive
@Experimental()
- String get nonce => _blink.BlinkHTMLScriptElement.instance.nonce_Getter_(this);
-
+ String get nonce => _blink.BlinkHTMLScriptElement.instance.nonce_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.nonce')
@DocsEditable()
// https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#interaction-with-the-script-src-directive
@Experimental()
- void set nonce(String value) => _blink.BlinkHTMLScriptElement.instance.nonce_Setter_(this, value);
-
+ void set nonce(String value) => _blink.BlinkHTMLScriptElement.instance.nonce_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLScriptElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLScriptElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLScriptElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLScriptElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLScriptElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLScriptElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLScriptElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLScriptElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLScriptElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLScriptElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLScriptElement.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27860,45 +27890,45 @@
@DomName('SecurityPolicyViolationEvent.blockedURI')
@DocsEditable()
- String get blockedUri => _blink.BlinkSecurityPolicyViolationEvent.instance.blockedURI_Getter_(this);
-
+ String get blockedUri => _blink.BlinkSecurityPolicyViolationEvent.instance.blockedURI_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.columnNumber')
@DocsEditable()
- int get columnNumber => _blink.BlinkSecurityPolicyViolationEvent.instance.columnNumber_Getter_(this);
-
+ int get columnNumber => _blink.BlinkSecurityPolicyViolationEvent.instance.columnNumber_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.documentURI')
@DocsEditable()
- String get documentUri => _blink.BlinkSecurityPolicyViolationEvent.instance.documentURI_Getter_(this);
-
+ String get documentUri => _blink.BlinkSecurityPolicyViolationEvent.instance.documentURI_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.effectiveDirective')
@DocsEditable()
- String get effectiveDirective => _blink.BlinkSecurityPolicyViolationEvent.instance.effectiveDirective_Getter_(this);
-
+ String get effectiveDirective => _blink.BlinkSecurityPolicyViolationEvent.instance.effectiveDirective_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.lineNumber')
@DocsEditable()
- int get lineNumber => _blink.BlinkSecurityPolicyViolationEvent.instance.lineNumber_Getter_(this);
-
+ int get lineNumber => _blink.BlinkSecurityPolicyViolationEvent.instance.lineNumber_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.originalPolicy')
@DocsEditable()
- String get originalPolicy => _blink.BlinkSecurityPolicyViolationEvent.instance.originalPolicy_Getter_(this);
-
+ String get originalPolicy => _blink.BlinkSecurityPolicyViolationEvent.instance.originalPolicy_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.referrer')
@DocsEditable()
- String get referrer => _blink.BlinkSecurityPolicyViolationEvent.instance.referrer_Getter_(this);
-
+ String get referrer => _blink.BlinkSecurityPolicyViolationEvent.instance.referrer_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.sourceFile')
@DocsEditable()
- String get sourceFile => _blink.BlinkSecurityPolicyViolationEvent.instance.sourceFile_Getter_(this);
-
+ String get sourceFile => _blink.BlinkSecurityPolicyViolationEvent.instance.sourceFile_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.statusCode')
@DocsEditable()
@Experimental() // untriaged
- int get statusCode => _blink.BlinkSecurityPolicyViolationEvent.instance.statusCode_Getter_(this);
-
+ int get statusCode => _blink.BlinkSecurityPolicyViolationEvent.instance.statusCode_Getter_(unwrap_jso(this));
+
@DomName('SecurityPolicyViolationEvent.violatedDirective')
@DocsEditable()
- String get violatedDirective => _blink.BlinkSecurityPolicyViolationEvent.instance.violatedDirective_Getter_(this);
-
+ String get violatedDirective => _blink.BlinkSecurityPolicyViolationEvent.instance.violatedDirective_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -27922,126 +27952,126 @@
@DomName('HTMLSelectElement.autofocus')
@DocsEditable()
- bool get autofocus => _blink.BlinkHTMLSelectElement.instance.autofocus_Getter_(this);
-
+ bool get autofocus => _blink.BlinkHTMLSelectElement.instance.autofocus_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.autofocus')
@DocsEditable()
- void set autofocus(bool value) => _blink.BlinkHTMLSelectElement.instance.autofocus_Setter_(this, value);
-
+ void set autofocus(bool value) => _blink.BlinkHTMLSelectElement.instance.autofocus_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLSelectElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLSelectElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLSelectElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLSelectElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLSelectElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLSelectElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLSelectElement.labels')
@DocsEditable()
@Unstable()
- List<Node> get labels => _blink.BlinkHTMLSelectElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLSelectElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLSelectElement.length')
@DocsEditable()
- int get length => _blink.BlinkHTMLSelectElement.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkHTMLSelectElement.instance.length_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.length')
@DocsEditable()
- void set length(int value) => _blink.BlinkHTMLSelectElement.instance.length_Setter_(this, value);
-
+ void set length(int value) => _blink.BlinkHTMLSelectElement.instance.length_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.multiple')
@DocsEditable()
- bool get multiple => _blink.BlinkHTMLSelectElement.instance.multiple_Getter_(this);
-
+ bool get multiple => _blink.BlinkHTMLSelectElement.instance.multiple_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.multiple')
@DocsEditable()
- void set multiple(bool value) => _blink.BlinkHTMLSelectElement.instance.multiple_Setter_(this, value);
-
+ void set multiple(bool value) => _blink.BlinkHTMLSelectElement.instance.multiple_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLSelectElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLSelectElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLSelectElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLSelectElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.required')
@DocsEditable()
- bool get required => _blink.BlinkHTMLSelectElement.instance.required_Getter_(this);
-
+ bool get required => _blink.BlinkHTMLSelectElement.instance.required_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.required')
@DocsEditable()
- void set required(bool value) => _blink.BlinkHTMLSelectElement.instance.required_Setter_(this, value);
-
+ void set required(bool value) => _blink.BlinkHTMLSelectElement.instance.required_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.selectedIndex')
@DocsEditable()
- int get selectedIndex => _blink.BlinkHTMLSelectElement.instance.selectedIndex_Getter_(this);
-
+ int get selectedIndex => _blink.BlinkHTMLSelectElement.instance.selectedIndex_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.selectedIndex')
@DocsEditable()
- void set selectedIndex(int value) => _blink.BlinkHTMLSelectElement.instance.selectedIndex_Setter_(this, value);
-
+ void set selectedIndex(int value) => _blink.BlinkHTMLSelectElement.instance.selectedIndex_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.size')
@DocsEditable()
- int get size => _blink.BlinkHTMLSelectElement.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkHTMLSelectElement.instance.size_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.size')
@DocsEditable()
- void set size(int value) => _blink.BlinkHTMLSelectElement.instance.size_Setter_(this, value);
-
+ void set size(int value) => _blink.BlinkHTMLSelectElement.instance.size_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLSelectElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLSelectElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLSelectElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLSelectElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLSelectElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLSelectElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLSelectElement.value')
@DocsEditable()
- String get value => _blink.BlinkHTMLSelectElement.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkHTMLSelectElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkHTMLSelectElement.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkHTMLSelectElement.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSelectElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLSelectElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLSelectElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.__setter__')
@DocsEditable()
- void __setter__(int index, OptionElement value) => _blink.BlinkHTMLSelectElement.instance.$__setter___Callback_2_(this, index, value);
-
+ void __setter__(int index, OptionElement value) => _blink.BlinkHTMLSelectElement.instance.$__setter___Callback_2_(unwrap_jso(this), index, unwrap_jso(value));
+
@DomName('HTMLSelectElement.add')
@DocsEditable()
@Experimental() // untriaged
- void add(HtmlElement element, int before) => _blink.BlinkHTMLSelectElement.instance.add_Callback_2_(this, element, before);
-
+ void add(HtmlElement element, int before) => _blink.BlinkHTMLSelectElement.instance.add_Callback_2_(unwrap_jso(this), unwrap_jso(element), before);
+
@DomName('HTMLSelectElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLSelectElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLSelectElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLSelectElement.item')
@DocsEditable()
- Element item(int index) => _blink.BlinkHTMLSelectElement.instance.item_Callback_1_(this, index);
-
+ Element item(int index) => wrap_jso(_blink.BlinkHTMLSelectElement.instance.item_Callback_1_(unwrap_jso(this), index));
+
@DomName('HTMLSelectElement.namedItem')
@DocsEditable()
- Element namedItem(String name) => _blink.BlinkHTMLSelectElement.instance.namedItem_Callback_1_(this, name);
-
+ Element namedItem(String name) => wrap_jso(_blink.BlinkHTMLSelectElement.instance.namedItem_Callback_1_(unwrap_jso(this), name));
+
@DomName('HTMLSelectElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLSelectElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLSelectElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
// Override default options, since IE returns SelectElement itself and it
// does not operate as a List.
@@ -28076,125 +28106,125 @@
@DomName('Selection.anchorNode')
@DocsEditable()
- Node get anchorNode => _blink.BlinkSelection.instance.anchorNode_Getter_(this);
-
+ Node get anchorNode => wrap_jso(_blink.BlinkSelection.instance.anchorNode_Getter_(unwrap_jso(this)));
+
@DomName('Selection.anchorOffset')
@DocsEditable()
- int get anchorOffset => _blink.BlinkSelection.instance.anchorOffset_Getter_(this);
-
+ int get anchorOffset => _blink.BlinkSelection.instance.anchorOffset_Getter_(unwrap_jso(this));
+
@DomName('Selection.baseNode')
@DocsEditable()
@Experimental() // non-standard
- Node get baseNode => _blink.BlinkSelection.instance.baseNode_Getter_(this);
-
+ Node get baseNode => wrap_jso(_blink.BlinkSelection.instance.baseNode_Getter_(unwrap_jso(this)));
+
@DomName('Selection.baseOffset')
@DocsEditable()
@Experimental() // non-standard
- int get baseOffset => _blink.BlinkSelection.instance.baseOffset_Getter_(this);
-
+ int get baseOffset => _blink.BlinkSelection.instance.baseOffset_Getter_(unwrap_jso(this));
+
@DomName('Selection.extentNode')
@DocsEditable()
@Experimental() // non-standard
- Node get extentNode => _blink.BlinkSelection.instance.extentNode_Getter_(this);
-
+ Node get extentNode => wrap_jso(_blink.BlinkSelection.instance.extentNode_Getter_(unwrap_jso(this)));
+
@DomName('Selection.extentOffset')
@DocsEditable()
@Experimental() // non-standard
- int get extentOffset => _blink.BlinkSelection.instance.extentOffset_Getter_(this);
-
+ int get extentOffset => _blink.BlinkSelection.instance.extentOffset_Getter_(unwrap_jso(this));
+
@DomName('Selection.focusNode')
@DocsEditable()
- Node get focusNode => _blink.BlinkSelection.instance.focusNode_Getter_(this);
-
+ Node get focusNode => wrap_jso(_blink.BlinkSelection.instance.focusNode_Getter_(unwrap_jso(this)));
+
@DomName('Selection.focusOffset')
@DocsEditable()
- int get focusOffset => _blink.BlinkSelection.instance.focusOffset_Getter_(this);
-
+ int get focusOffset => _blink.BlinkSelection.instance.focusOffset_Getter_(unwrap_jso(this));
+
@DomName('Selection.isCollapsed')
@DocsEditable()
- bool get isCollapsed => _blink.BlinkSelection.instance.isCollapsed_Getter_(this);
-
+ bool get isCollapsed => _blink.BlinkSelection.instance.isCollapsed_Getter_(unwrap_jso(this));
+
@DomName('Selection.rangeCount')
@DocsEditable()
- int get rangeCount => _blink.BlinkSelection.instance.rangeCount_Getter_(this);
-
+ int get rangeCount => _blink.BlinkSelection.instance.rangeCount_Getter_(unwrap_jso(this));
+
@DomName('Selection.type')
@DocsEditable()
@Experimental() // non-standard
- String get type => _blink.BlinkSelection.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkSelection.instance.type_Getter_(unwrap_jso(this));
+
@DomName('Selection.addRange')
@DocsEditable()
- void addRange(Range range) => _blink.BlinkSelection.instance.addRange_Callback_1_(this, range);
-
+ void addRange(Range range) => _blink.BlinkSelection.instance.addRange_Callback_1_(unwrap_jso(this), unwrap_jso(range));
+
void collapse(Node node, [int offset]) {
if (offset != null) {
- _blink.BlinkSelection.instance.collapse_Callback_2_(this, node, offset);
+ _blink.BlinkSelection.instance.collapse_Callback_2_(unwrap_jso(this), unwrap_jso(node), offset);
return;
}
- _blink.BlinkSelection.instance.collapse_Callback_1_(this, node);
+ _blink.BlinkSelection.instance.collapse_Callback_1_(unwrap_jso(this), unwrap_jso(node));
return;
}
@DomName('Selection.collapseToEnd')
@DocsEditable()
- void collapseToEnd() => _blink.BlinkSelection.instance.collapseToEnd_Callback_0_(this);
-
+ void collapseToEnd() => _blink.BlinkSelection.instance.collapseToEnd_Callback_0_(unwrap_jso(this));
+
@DomName('Selection.collapseToStart')
@DocsEditable()
- void collapseToStart() => _blink.BlinkSelection.instance.collapseToStart_Callback_0_(this);
-
+ void collapseToStart() => _blink.BlinkSelection.instance.collapseToStart_Callback_0_(unwrap_jso(this));
+
@DomName('Selection.containsNode')
@DocsEditable()
@Experimental() // non-standard
- bool containsNode(Node node, bool allowPartial) => _blink.BlinkSelection.instance.containsNode_Callback_2_(this, node, allowPartial);
-
+ bool containsNode(Node node, bool allowPartial) => _blink.BlinkSelection.instance.containsNode_Callback_2_(unwrap_jso(this), unwrap_jso(node), allowPartial);
+
@DomName('Selection.deleteFromDocument')
@DocsEditable()
- void deleteFromDocument() => _blink.BlinkSelection.instance.deleteFromDocument_Callback_0_(this);
-
+ void deleteFromDocument() => _blink.BlinkSelection.instance.deleteFromDocument_Callback_0_(unwrap_jso(this));
+
@DomName('Selection.empty')
@DocsEditable()
@Experimental() // non-standard
- void empty() => _blink.BlinkSelection.instance.empty_Callback_0_(this);
-
+ void empty() => _blink.BlinkSelection.instance.empty_Callback_0_(unwrap_jso(this));
+
void extend(Node node, [int offset]) {
if (offset != null) {
- _blink.BlinkSelection.instance.extend_Callback_2_(this, node, offset);
+ _blink.BlinkSelection.instance.extend_Callback_2_(unwrap_jso(this), unwrap_jso(node), offset);
return;
}
- _blink.BlinkSelection.instance.extend_Callback_1_(this, node);
+ _blink.BlinkSelection.instance.extend_Callback_1_(unwrap_jso(this), unwrap_jso(node));
return;
}
@DomName('Selection.getRangeAt')
@DocsEditable()
- Range getRangeAt(int index) => _blink.BlinkSelection.instance.getRangeAt_Callback_1_(this, index);
-
+ Range getRangeAt(int index) => wrap_jso(_blink.BlinkSelection.instance.getRangeAt_Callback_1_(unwrap_jso(this), index));
+
@DomName('Selection.modify')
@DocsEditable()
@Experimental() // non-standard
- void modify(String alter, String direction, String granularity) => _blink.BlinkSelection.instance.modify_Callback_3_(this, alter, direction, granularity);
-
+ void modify(String alter, String direction, String granularity) => _blink.BlinkSelection.instance.modify_Callback_3_(unwrap_jso(this), alter, direction, granularity);
+
@DomName('Selection.removeAllRanges')
@DocsEditable()
- void removeAllRanges() => _blink.BlinkSelection.instance.removeAllRanges_Callback_0_(this);
-
+ void removeAllRanges() => _blink.BlinkSelection.instance.removeAllRanges_Callback_0_(unwrap_jso(this));
+
@DomName('Selection.selectAllChildren')
@DocsEditable()
- void selectAllChildren(Node node) => _blink.BlinkSelection.instance.selectAllChildren_Callback_1_(this, node);
-
+ void selectAllChildren(Node node) => _blink.BlinkSelection.instance.selectAllChildren_Callback_1_(unwrap_jso(this), unwrap_jso(node));
+
@DomName('Selection.setBaseAndExtent')
@DocsEditable()
@Experimental() // non-standard
- void setBaseAndExtent(Node baseNode, int baseOffset, Node extentNode, int extentOffset) => _blink.BlinkSelection.instance.setBaseAndExtent_Callback_4_(this, baseNode, baseOffset, extentNode, extentOffset);
-
+ void setBaseAndExtent(Node baseNode, int baseOffset, Node extentNode, int extentOffset) => _blink.BlinkSelection.instance.setBaseAndExtent_Callback_4_(unwrap_jso(this), unwrap_jso(baseNode), baseOffset, unwrap_jso(extentNode), extentOffset);
+
void setPosition(Node node, [int offset]) {
if (offset != null) {
- _blink.BlinkSelection.instance.setPosition_Callback_2_(this, node, offset);
+ _blink.BlinkSelection.instance.setPosition_Callback_2_(unwrap_jso(this), unwrap_jso(node), offset);
return;
}
- _blink.BlinkSelection.instance.setPosition_Callback_1_(this, node);
+ _blink.BlinkSelection.instance.setPosition_Callback_1_(unwrap_jso(this), unwrap_jso(node));
return;
}
@@ -28216,13 +28246,13 @@
@DomName('ServiceWorkerClient.id')
@DocsEditable()
@Experimental() // untriaged
- int get id => _blink.BlinkServiceWorkerClient.instance.id_Getter_(this);
-
+ int get id => _blink.BlinkServiceWorkerClient.instance.id_Getter_(unwrap_jso(this));
+
@DomName('ServiceWorkerClient.postMessage')
@DocsEditable()
@Experimental() // untriaged
- void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> transfer]) => _blink.BlinkServiceWorkerClient.instance.postMessage_Callback_2_(this, message, transfer);
-
+ void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> transfer]) => _blink.BlinkServiceWorkerClient.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28240,9 +28270,9 @@
Future getAll([Map options]) {
if (options != null) {
- return _blink.BlinkServiceWorkerClients.instance.getAll_Callback_1_(this, options);
+ return _blink.BlinkServiceWorkerClients.instance.getAll_Callback_1_(unwrap_jso(this), options);
}
- return _blink.BlinkServiceWorkerClients.instance.getAll_Callback_0_(this);
+ return _blink.BlinkServiceWorkerClients.instance.getAll_Callback_0_(unwrap_jso(this));
}
}
@@ -28263,25 +28293,25 @@
@DomName('ServiceWorkerContainer.controller')
@DocsEditable()
@Experimental() // untriaged
- _ServiceWorker get controller => _blink.BlinkServiceWorkerContainer.instance.controller_Getter_(this);
-
+ _ServiceWorker get controller => wrap_jso(_blink.BlinkServiceWorkerContainer.instance.controller_Getter_(unwrap_jso(this)));
+
@DomName('ServiceWorkerContainer.ready')
@DocsEditable()
@Experimental() // untriaged
- Future get ready => _blink.BlinkServiceWorkerContainer.instance.ready_Getter_(this);
-
+ Future get ready => _blink.BlinkServiceWorkerContainer.instance.ready_Getter_(unwrap_jso(this));
+
Future getRegistration([String documentURL]) {
if (documentURL != null) {
- return _blink.BlinkServiceWorkerContainer.instance.getRegistration_Callback_1_(this, documentURL);
+ return _blink.BlinkServiceWorkerContainer.instance.getRegistration_Callback_1_(unwrap_jso(this), documentURL);
}
- return _blink.BlinkServiceWorkerContainer.instance.getRegistration_Callback_0_(this);
+ return _blink.BlinkServiceWorkerContainer.instance.getRegistration_Callback_0_(unwrap_jso(this));
}
Future register(String url, [Map options]) {
if (options != null) {
- return _blink.BlinkServiceWorkerContainer.instance.register_Callback_2_(this, url, options);
+ return _blink.BlinkServiceWorkerContainer.instance.register_Callback_2_(unwrap_jso(this), url, options);
}
- return _blink.BlinkServiceWorkerContainer.instance.register_Callback_1_(this, url);
+ return _blink.BlinkServiceWorkerContainer.instance.register_Callback_1_(unwrap_jso(this), url);
}
}
@@ -28307,35 +28337,35 @@
@DomName('ServiceWorkerGlobalScope.caches')
@DocsEditable()
@Experimental() // untriaged
- CacheStorage get caches => _blink.BlinkServiceWorkerGlobalScope.instance.caches_Getter_(this);
-
+ CacheStorage get caches => wrap_jso(_blink.BlinkServiceWorkerGlobalScope.instance.caches_Getter_(unwrap_jso(this)));
+
@DomName('ServiceWorkerGlobalScope.clients')
@DocsEditable()
@Experimental() // untriaged
- ServiceWorkerClients get clients => _blink.BlinkServiceWorkerGlobalScope.instance.clients_Getter_(this);
-
+ ServiceWorkerClients get clients => wrap_jso(_blink.BlinkServiceWorkerGlobalScope.instance.clients_Getter_(unwrap_jso(this)));
+
@DomName('ServiceWorkerGlobalScope.scope')
@DocsEditable()
@Experimental() // untriaged
- String get scope => _blink.BlinkServiceWorkerGlobalScope.instance.scope_Getter_(this);
-
+ String get scope => _blink.BlinkServiceWorkerGlobalScope.instance.scope_Getter_(unwrap_jso(this));
+
@DomName('ServiceWorkerGlobalScope.close')
@DocsEditable()
@Experimental() // untriaged
- void close() => _blink.BlinkServiceWorkerGlobalScope.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkServiceWorkerGlobalScope.instance.close_Callback_0_(unwrap_jso(this));
+
Future _fetch(request, [Map requestInitDict]) {
if ((request is String || request == null) && requestInitDict == null) {
- return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_1_(this, request);
+ return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_1_(unwrap_jso(this), unwrap_jso(request));
}
if ((requestInitDict is Map || requestInitDict == null) && (request is String || request == null)) {
- return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_2_(this, request, requestInitDict);
+ return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_2_(unwrap_jso(this), unwrap_jso(request), requestInitDict);
}
if ((request is _Request || request == null) && requestInitDict == null) {
- return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_1_(this, request);
+ return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_1_(unwrap_jso(this), unwrap_jso(request));
}
if ((requestInitDict is Map || requestInitDict == null) && (request is _Request || request == null)) {
- return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_2_(this, request, requestInitDict);
+ return _blink.BlinkServiceWorkerGlobalScope.instance.fetch_Callback_2_(unwrap_jso(this), unwrap_jso(request), requestInitDict);
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@@ -28363,28 +28393,28 @@
@DomName('ServiceWorkerRegistration.active')
@DocsEditable()
@Experimental() // untriaged
- _ServiceWorker get active => _blink.BlinkServiceWorkerRegistration.instance.active_Getter_(this);
-
+ _ServiceWorker get active => wrap_jso(_blink.BlinkServiceWorkerRegistration.instance.active_Getter_(unwrap_jso(this)));
+
@DomName('ServiceWorkerRegistration.installing')
@DocsEditable()
@Experimental() // untriaged
- _ServiceWorker get installing => _blink.BlinkServiceWorkerRegistration.instance.installing_Getter_(this);
-
+ _ServiceWorker get installing => wrap_jso(_blink.BlinkServiceWorkerRegistration.instance.installing_Getter_(unwrap_jso(this)));
+
@DomName('ServiceWorkerRegistration.scope')
@DocsEditable()
@Experimental() // untriaged
- String get scope => _blink.BlinkServiceWorkerRegistration.instance.scope_Getter_(this);
-
+ String get scope => _blink.BlinkServiceWorkerRegistration.instance.scope_Getter_(unwrap_jso(this));
+
@DomName('ServiceWorkerRegistration.waiting')
@DocsEditable()
@Experimental() // untriaged
- _ServiceWorker get waiting => _blink.BlinkServiceWorkerRegistration.instance.waiting_Getter_(this);
-
+ _ServiceWorker get waiting => wrap_jso(_blink.BlinkServiceWorkerRegistration.instance.waiting_Getter_(unwrap_jso(this)));
+
@DomName('ServiceWorkerRegistration.unregister')
@DocsEditable()
@Experimental() // untriaged
- Future unregister() => _blink.BlinkServiceWorkerRegistration.instance.unregister_Callback_0_(this);
-
+ Future unregister() => _blink.BlinkServiceWorkerRegistration.instance.unregister_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28418,8 +28448,8 @@
@DomName('HTMLShadowElement.getDistributedNodes')
@DocsEditable()
@Experimental() // untriaged
- List<Node> getDistributedNodes() => _blink.BlinkHTMLShadowElement.instance.getDistributedNodes_Callback_0_(this);
-
+ List<Node> getDistributedNodes() => wrap_jso_list(_blink.BlinkHTMLShadowElement.instance.getDistributedNodes_Callback_0_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28438,55 +28468,55 @@
@DomName('ShadowRoot.activeElement')
@DocsEditable()
- Element get activeElement => _blink.BlinkShadowRoot.instance.activeElement_Getter_(this);
-
+ Element get activeElement => wrap_jso(_blink.BlinkShadowRoot.instance.activeElement_Getter_(unwrap_jso(this)));
+
@DomName('ShadowRoot.host')
@DocsEditable()
@Experimental() // untriaged
- Element get host => _blink.BlinkShadowRoot.instance.host_Getter_(this);
-
+ Element get host => wrap_jso(_blink.BlinkShadowRoot.instance.host_Getter_(unwrap_jso(this)));
+
@DomName('ShadowRoot.innerHTML')
@DocsEditable()
- String get innerHtml => _blink.BlinkShadowRoot.instance.innerHTML_Getter_(this);
-
+ String get innerHtml => _blink.BlinkShadowRoot.instance.innerHTML_Getter_(unwrap_jso(this));
+
@DomName('ShadowRoot.innerHTML')
@DocsEditable()
- void set innerHtml(String value) => _blink.BlinkShadowRoot.instance.innerHTML_Setter_(this, value);
-
+ void set innerHtml(String value) => _blink.BlinkShadowRoot.instance.innerHTML_Setter_(unwrap_jso(this), value);
+
@DomName('ShadowRoot.olderShadowRoot')
@DocsEditable()
@Experimental() // untriaged
- ShadowRoot get olderShadowRoot => _blink.BlinkShadowRoot.instance.olderShadowRoot_Getter_(this);
-
+ ShadowRoot get olderShadowRoot => wrap_jso(_blink.BlinkShadowRoot.instance.olderShadowRoot_Getter_(unwrap_jso(this)));
+
@DomName('ShadowRoot.styleSheets')
@DocsEditable()
@Experimental() // untriaged
- List<StyleSheet> get styleSheets => _blink.BlinkShadowRoot.instance.styleSheets_Getter_(this);
-
+ List<StyleSheet> get styleSheets => wrap_jso_list(_blink.BlinkShadowRoot.instance.styleSheets_Getter_(unwrap_jso(this)));
+
@DomName('ShadowRoot.cloneNode')
@DocsEditable()
- Node clone(bool deep) => _blink.BlinkShadowRoot.instance.cloneNode_Callback_1_(this, deep);
-
+ Node clone(bool deep) => wrap_jso(_blink.BlinkShadowRoot.instance.cloneNode_Callback_1_(unwrap_jso(this), deep));
+
@DomName('ShadowRoot.elementFromPoint')
@DocsEditable()
- Element elementFromPoint(int x, int y) => _blink.BlinkShadowRoot.instance.elementFromPoint_Callback_2_(this, x, y);
-
+ Element elementFromPoint(int x, int y) => wrap_jso(_blink.BlinkShadowRoot.instance.elementFromPoint_Callback_2_(unwrap_jso(this), x, y));
+
@DomName('ShadowRoot.getElementById')
@DocsEditable()
- Element getElementById(String elementId) => _blink.BlinkShadowRoot.instance.getElementById_Callback_1_(this, elementId);
-
+ Element getElementById(String elementId) => wrap_jso(_blink.BlinkShadowRoot.instance.getElementById_Callback_1_(unwrap_jso(this), elementId));
+
@DomName('ShadowRoot.getElementsByClassName')
@DocsEditable()
- List<Node> getElementsByClassName(String className) => _blink.BlinkShadowRoot.instance.getElementsByClassName_Callback_1_(this, className);
-
+ List<Node> getElementsByClassName(String className) => wrap_jso_list(_blink.BlinkShadowRoot.instance.getElementsByClassName_Callback_1_(unwrap_jso(this), className));
+
@DomName('ShadowRoot.getElementsByTagName')
@DocsEditable()
- List<Node> getElementsByTagName(String tagName) => _blink.BlinkShadowRoot.instance.getElementsByTagName_Callback_1_(this, tagName);
-
+ List<Node> getElementsByTagName(String tagName) => wrap_jso_list(_blink.BlinkShadowRoot.instance.getElementsByTagName_Callback_1_(unwrap_jso(this), tagName));
+
@DomName('ShadowRoot.getSelection')
@DocsEditable()
- Selection getSelection() => _blink.BlinkShadowRoot.instance.getSelection_Callback_0_(this);
-
+ Selection getSelection() => wrap_jso(_blink.BlinkShadowRoot.instance.getSelection_Callback_0_(unwrap_jso(this)));
+
static final bool supported = true;
static bool _shadowRootDeprecationReported = false;
@@ -28552,13 +28582,13 @@
@DomName('SharedWorker.port')
@DocsEditable()
- MessagePort get port => _blink.BlinkSharedWorker.instance.port_Getter_(this);
-
+ MessagePort get port => wrap_jso(_blink.BlinkSharedWorker.instance.port_Getter_(unwrap_jso(this)));
+
@DomName('SharedWorker.workerStart')
@DocsEditable()
@Experimental() // untriaged
- double get workerStart => _blink.BlinkSharedWorker.instance.workerStart_Getter_(this);
-
+ double get workerStart => _blink.BlinkSharedWorker.instance.workerStart_Getter_(unwrap_jso(this));
+
@DomName('SharedWorker.onerror')
@DocsEditable()
@Experimental() // untriaged
@@ -28593,8 +28623,8 @@
@DomName('SharedWorkerGlobalScope.name')
@DocsEditable()
@Experimental() // untriaged
- String get name => _blink.BlinkSharedWorkerGlobalScope.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkSharedWorkerGlobalScope.instance.name_Getter_(unwrap_jso(this));
+
/// Stream of `connect` events handled by this [SharedWorkerGlobalScope].
@DomName('SharedWorkerGlobalScope.onconnect')
@DocsEditable()
@@ -28620,78 +28650,78 @@
@DomName('SourceBuffer.appendWindowEnd')
@DocsEditable()
@Experimental() // untriaged
- num get appendWindowEnd => _blink.BlinkSourceBuffer.instance.appendWindowEnd_Getter_(this);
-
+ num get appendWindowEnd => _blink.BlinkSourceBuffer.instance.appendWindowEnd_Getter_(unwrap_jso(this));
+
@DomName('SourceBuffer.appendWindowEnd')
@DocsEditable()
@Experimental() // untriaged
- void set appendWindowEnd(num value) => _blink.BlinkSourceBuffer.instance.appendWindowEnd_Setter_(this, value);
-
+ void set appendWindowEnd(num value) => _blink.BlinkSourceBuffer.instance.appendWindowEnd_Setter_(unwrap_jso(this), value);
+
@DomName('SourceBuffer.appendWindowStart')
@DocsEditable()
@Experimental() // untriaged
- num get appendWindowStart => _blink.BlinkSourceBuffer.instance.appendWindowStart_Getter_(this);
-
+ num get appendWindowStart => _blink.BlinkSourceBuffer.instance.appendWindowStart_Getter_(unwrap_jso(this));
+
@DomName('SourceBuffer.appendWindowStart')
@DocsEditable()
@Experimental() // untriaged
- void set appendWindowStart(num value) => _blink.BlinkSourceBuffer.instance.appendWindowStart_Setter_(this, value);
-
+ void set appendWindowStart(num value) => _blink.BlinkSourceBuffer.instance.appendWindowStart_Setter_(unwrap_jso(this), value);
+
@DomName('SourceBuffer.buffered')
@DocsEditable()
- TimeRanges get buffered => _blink.BlinkSourceBuffer.instance.buffered_Getter_(this);
-
+ TimeRanges get buffered => wrap_jso(_blink.BlinkSourceBuffer.instance.buffered_Getter_(unwrap_jso(this)));
+
@DomName('SourceBuffer.mode')
@DocsEditable()
@Experimental() // untriaged
- String get mode => _blink.BlinkSourceBuffer.instance.mode_Getter_(this);
-
+ String get mode => _blink.BlinkSourceBuffer.instance.mode_Getter_(unwrap_jso(this));
+
@DomName('SourceBuffer.mode')
@DocsEditable()
@Experimental() // untriaged
- void set mode(String value) => _blink.BlinkSourceBuffer.instance.mode_Setter_(this, value);
-
+ void set mode(String value) => _blink.BlinkSourceBuffer.instance.mode_Setter_(unwrap_jso(this), value);
+
@DomName('SourceBuffer.timestampOffset')
@DocsEditable()
- num get timestampOffset => _blink.BlinkSourceBuffer.instance.timestampOffset_Getter_(this);
-
+ num get timestampOffset => _blink.BlinkSourceBuffer.instance.timestampOffset_Getter_(unwrap_jso(this));
+
@DomName('SourceBuffer.timestampOffset')
@DocsEditable()
- void set timestampOffset(num value) => _blink.BlinkSourceBuffer.instance.timestampOffset_Setter_(this, value);
-
+ void set timestampOffset(num value) => _blink.BlinkSourceBuffer.instance.timestampOffset_Setter_(unwrap_jso(this), value);
+
@DomName('SourceBuffer.updating')
@DocsEditable()
@Experimental() // untriaged
- bool get updating => _blink.BlinkSourceBuffer.instance.updating_Getter_(this);
-
+ bool get updating => _blink.BlinkSourceBuffer.instance.updating_Getter_(unwrap_jso(this));
+
@DomName('SourceBuffer.abort')
@DocsEditable()
- void abort() => _blink.BlinkSourceBuffer.instance.abort_Callback_0_(this);
-
+ void abort() => _blink.BlinkSourceBuffer.instance.abort_Callback_0_(unwrap_jso(this));
+
@DomName('SourceBuffer.appendBuffer')
@DocsEditable()
@Experimental() // untriaged
- void appendBuffer(ByteBuffer data) => _blink.BlinkSourceBuffer.instance.appendBuffer_Callback_1_(this, data);
-
+ void appendBuffer(ByteBuffer data) => _blink.BlinkSourceBuffer.instance.appendBuffer_Callback_1_(unwrap_jso(this), data);
+
void appendStream(FileStream stream, [int maxSize]) {
if (maxSize != null) {
- _blink.BlinkSourceBuffer.instance.appendStream_Callback_2_(this, stream, maxSize);
+ _blink.BlinkSourceBuffer.instance.appendStream_Callback_2_(unwrap_jso(this), unwrap_jso(stream), maxSize);
return;
}
- _blink.BlinkSourceBuffer.instance.appendStream_Callback_1_(this, stream);
+ _blink.BlinkSourceBuffer.instance.appendStream_Callback_1_(unwrap_jso(this), unwrap_jso(stream));
return;
}
@DomName('SourceBuffer.appendTypedData')
@DocsEditable()
@Experimental() // untriaged
- void appendTypedData(TypedData data) => _blink.BlinkSourceBuffer.instance.appendBuffer_Callback_1_(this, data);
-
+ void appendTypedData(TypedData data) => _blink.BlinkSourceBuffer.instance.appendBuffer_Callback_1_(unwrap_jso(this), unwrap_jso(data));
+
@DomName('SourceBuffer.remove')
@DocsEditable()
@Experimental() // untriaged
- void remove(num start, num end) => _blink.BlinkSourceBuffer.instance.remove_Callback_2_(this, start, end);
-
+ void remove(num start, num end) => _blink.BlinkSourceBuffer.instance.remove_Callback_2_(unwrap_jso(this), start, end);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28710,16 +28740,16 @@
@DomName('SourceBufferList.length')
@DocsEditable()
- int get length => _blink.BlinkSourceBufferList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSourceBufferList.instance.length_Getter_(unwrap_jso(this));
+
SourceBuffer operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkSourceBufferList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkSourceBufferList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- SourceBuffer _nativeIndexedGetter(int index) => _blink.BlinkSourceBufferList.instance.item_Callback_1_(this, index);
-
+ SourceBuffer _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkSourceBufferList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, SourceBuffer value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -28760,8 +28790,8 @@
@DomName('SourceBufferList.item')
@DocsEditable()
- SourceBuffer item(int index) => _blink.BlinkSourceBufferList.instance.item_Callback_1_(this, index);
-
+ SourceBuffer item(int index) => wrap_jso(_blink.BlinkSourceBufferList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28789,57 +28819,57 @@
@DomName('HTMLSourceElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLSourceElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLSourceElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLSourceElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLSourceElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLSourceElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSourceElement.media')
@DocsEditable()
- String get media => _blink.BlinkHTMLSourceElement.instance.media_Getter_(this);
-
+ String get media => _blink.BlinkHTMLSourceElement.instance.media_Getter_(unwrap_jso(this));
+
@DomName('HTMLSourceElement.media')
@DocsEditable()
- void set media(String value) => _blink.BlinkHTMLSourceElement.instance.media_Setter_(this, value);
-
+ void set media(String value) => _blink.BlinkHTMLSourceElement.instance.media_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSourceElement.sizes')
@DocsEditable()
@Experimental() // untriaged
- String get sizes => _blink.BlinkHTMLSourceElement.instance.sizes_Getter_(this);
-
+ String get sizes => _blink.BlinkHTMLSourceElement.instance.sizes_Getter_(unwrap_jso(this));
+
@DomName('HTMLSourceElement.sizes')
@DocsEditable()
@Experimental() // untriaged
- void set sizes(String value) => _blink.BlinkHTMLSourceElement.instance.sizes_Setter_(this, value);
-
+ void set sizes(String value) => _blink.BlinkHTMLSourceElement.instance.sizes_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSourceElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLSourceElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLSourceElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLSourceElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLSourceElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLSourceElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSourceElement.srcset')
@DocsEditable()
@Experimental() // untriaged
- String get srcset => _blink.BlinkHTMLSourceElement.instance.srcset_Getter_(this);
-
+ String get srcset => _blink.BlinkHTMLSourceElement.instance.srcset_Getter_(unwrap_jso(this));
+
@DomName('HTMLSourceElement.srcset')
@DocsEditable()
@Experimental() // untriaged
- void set srcset(String value) => _blink.BlinkHTMLSourceElement.instance.srcset_Setter_(this, value);
-
+ void set srcset(String value) => _blink.BlinkHTMLSourceElement.instance.srcset_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLSourceElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLSourceElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLSourceElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLSourceElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLSourceElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLSourceElement.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28858,23 +28888,23 @@
@DomName('SourceInfo.facing')
@DocsEditable()
@Experimental() // untriaged
- String get facing => _blink.BlinkSourceInfo.instance.facing_Getter_(this);
-
+ String get facing => _blink.BlinkSourceInfo.instance.facing_Getter_(unwrap_jso(this));
+
@DomName('SourceInfo.id')
@DocsEditable()
@Experimental() // untriaged
- String get id => _blink.BlinkSourceInfo.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkSourceInfo.instance.id_Getter_(unwrap_jso(this));
+
@DomName('SourceInfo.kind')
@DocsEditable()
@Experimental() // untriaged
- String get kind => _blink.BlinkSourceInfo.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkSourceInfo.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('SourceInfo.label')
@DocsEditable()
@Experimental() // untriaged
- String get label => _blink.BlinkSourceInfo.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkSourceInfo.instance.label_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28923,20 +28953,20 @@
@DomName('SpeechGrammar.src')
@DocsEditable()
- String get src => _blink.BlinkSpeechGrammar.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkSpeechGrammar.instance.src_Getter_(unwrap_jso(this));
+
@DomName('SpeechGrammar.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkSpeechGrammar.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkSpeechGrammar.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechGrammar.weight')
@DocsEditable()
- num get weight => _blink.BlinkSpeechGrammar.instance.weight_Getter_(this);
-
+ num get weight => _blink.BlinkSpeechGrammar.instance.weight_Getter_(unwrap_jso(this));
+
@DomName('SpeechGrammar.weight')
@DocsEditable()
- void set weight(num value) => _blink.BlinkSpeechGrammar.instance.weight_Setter_(this, value);
-
+ void set weight(num value) => _blink.BlinkSpeechGrammar.instance.weight_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -28961,16 +28991,16 @@
@DomName('SpeechGrammarList.length')
@DocsEditable()
- int get length => _blink.BlinkSpeechGrammarList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSpeechGrammarList.instance.length_Getter_(unwrap_jso(this));
+
SpeechGrammar operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkSpeechGrammarList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkSpeechGrammarList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- SpeechGrammar _nativeIndexedGetter(int index) => _blink.BlinkSpeechGrammarList.instance.item_Callback_1_(this, index);
-
+ SpeechGrammar _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkSpeechGrammarList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, SpeechGrammar value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -29011,26 +29041,26 @@
void addFromString(String string, [num weight]) {
if (weight != null) {
- _blink.BlinkSpeechGrammarList.instance.addFromString_Callback_2_(this, string, weight);
+ _blink.BlinkSpeechGrammarList.instance.addFromString_Callback_2_(unwrap_jso(this), string, weight);
return;
}
- _blink.BlinkSpeechGrammarList.instance.addFromString_Callback_1_(this, string);
+ _blink.BlinkSpeechGrammarList.instance.addFromString_Callback_1_(unwrap_jso(this), string);
return;
}
void addFromUri(String src, [num weight]) {
if (weight != null) {
- _blink.BlinkSpeechGrammarList.instance.addFromUri_Callback_2_(this, src, weight);
+ _blink.BlinkSpeechGrammarList.instance.addFromUri_Callback_2_(unwrap_jso(this), src, weight);
return;
}
- _blink.BlinkSpeechGrammarList.instance.addFromUri_Callback_1_(this, src);
+ _blink.BlinkSpeechGrammarList.instance.addFromUri_Callback_1_(unwrap_jso(this), src);
return;
}
@DomName('SpeechGrammarList.item')
@DocsEditable()
- SpeechGrammar item(int index) => _blink.BlinkSpeechGrammarList.instance.item_Callback_1_(this, index);
-
+ SpeechGrammar item(int index) => wrap_jso(_blink.BlinkSpeechGrammarList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29169,56 +29199,56 @@
@DomName('SpeechRecognition.continuous')
@DocsEditable()
- bool get continuous => _blink.BlinkSpeechRecognition.instance.continuous_Getter_(this);
-
+ bool get continuous => _blink.BlinkSpeechRecognition.instance.continuous_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognition.continuous')
@DocsEditable()
- void set continuous(bool value) => _blink.BlinkSpeechRecognition.instance.continuous_Setter_(this, value);
-
+ void set continuous(bool value) => _blink.BlinkSpeechRecognition.instance.continuous_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechRecognition.grammars')
@DocsEditable()
- SpeechGrammarList get grammars => _blink.BlinkSpeechRecognition.instance.grammars_Getter_(this);
-
+ SpeechGrammarList get grammars => wrap_jso(_blink.BlinkSpeechRecognition.instance.grammars_Getter_(unwrap_jso(this)));
+
@DomName('SpeechRecognition.grammars')
@DocsEditable()
- void set grammars(SpeechGrammarList value) => _blink.BlinkSpeechRecognition.instance.grammars_Setter_(this, value);
-
+ void set grammars(SpeechGrammarList value) => _blink.BlinkSpeechRecognition.instance.grammars_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('SpeechRecognition.interimResults')
@DocsEditable()
- bool get interimResults => _blink.BlinkSpeechRecognition.instance.interimResults_Getter_(this);
-
+ bool get interimResults => _blink.BlinkSpeechRecognition.instance.interimResults_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognition.interimResults')
@DocsEditable()
- void set interimResults(bool value) => _blink.BlinkSpeechRecognition.instance.interimResults_Setter_(this, value);
-
+ void set interimResults(bool value) => _blink.BlinkSpeechRecognition.instance.interimResults_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechRecognition.lang')
@DocsEditable()
- String get lang => _blink.BlinkSpeechRecognition.instance.lang_Getter_(this);
-
+ String get lang => _blink.BlinkSpeechRecognition.instance.lang_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognition.lang')
@DocsEditable()
- void set lang(String value) => _blink.BlinkSpeechRecognition.instance.lang_Setter_(this, value);
-
+ void set lang(String value) => _blink.BlinkSpeechRecognition.instance.lang_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechRecognition.maxAlternatives')
@DocsEditable()
- int get maxAlternatives => _blink.BlinkSpeechRecognition.instance.maxAlternatives_Getter_(this);
-
+ int get maxAlternatives => _blink.BlinkSpeechRecognition.instance.maxAlternatives_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognition.maxAlternatives')
@DocsEditable()
- void set maxAlternatives(int value) => _blink.BlinkSpeechRecognition.instance.maxAlternatives_Setter_(this, value);
-
+ void set maxAlternatives(int value) => _blink.BlinkSpeechRecognition.instance.maxAlternatives_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechRecognition.abort')
@DocsEditable()
- void abort() => _blink.BlinkSpeechRecognition.instance.abort_Callback_0_(this);
-
+ void abort() => _blink.BlinkSpeechRecognition.instance.abort_Callback_0_(unwrap_jso(this));
+
@DomName('SpeechRecognition.start')
@DocsEditable()
- void start() => _blink.BlinkSpeechRecognition.instance.start_Callback_0_(this);
-
+ void start() => _blink.BlinkSpeechRecognition.instance.start_Callback_0_(unwrap_jso(this));
+
@DomName('SpeechRecognition.stop')
@DocsEditable()
- void stop() => _blink.BlinkSpeechRecognition.instance.stop_Callback_0_(this);
-
+ void stop() => _blink.BlinkSpeechRecognition.instance.stop_Callback_0_(unwrap_jso(this));
+
/// Stream of `audioend` events handled by this [SpeechRecognition].
@DomName('SpeechRecognition.onaudioend')
@DocsEditable()
@@ -29293,12 +29323,12 @@
@DomName('SpeechRecognitionAlternative.confidence')
@DocsEditable()
- double get confidence => _blink.BlinkSpeechRecognitionAlternative.instance.confidence_Getter_(this);
-
+ double get confidence => _blink.BlinkSpeechRecognitionAlternative.instance.confidence_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognitionAlternative.transcript')
@DocsEditable()
- String get transcript => _blink.BlinkSpeechRecognitionAlternative.instance.transcript_Getter_(this);
-
+ String get transcript => _blink.BlinkSpeechRecognitionAlternative.instance.transcript_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29318,12 +29348,12 @@
@DomName('SpeechRecognitionError.error')
@DocsEditable()
- String get error => _blink.BlinkSpeechRecognitionError.instance.error_Getter_(this);
-
+ String get error => _blink.BlinkSpeechRecognitionError.instance.error_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognitionError.message')
@DocsEditable()
- String get message => _blink.BlinkSpeechRecognitionError.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkSpeechRecognitionError.instance.message_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29343,20 +29373,20 @@
@DomName('SpeechRecognitionEvent.emma')
@DocsEditable()
- Document get emma => _blink.BlinkSpeechRecognitionEvent.instance.emma_Getter_(this);
-
+ Document get emma => wrap_jso(_blink.BlinkSpeechRecognitionEvent.instance.emma_Getter_(unwrap_jso(this)));
+
@DomName('SpeechRecognitionEvent.interpretation')
@DocsEditable()
- Document get interpretation => _blink.BlinkSpeechRecognitionEvent.instance.interpretation_Getter_(this);
-
+ Document get interpretation => wrap_jso(_blink.BlinkSpeechRecognitionEvent.instance.interpretation_Getter_(unwrap_jso(this)));
+
@DomName('SpeechRecognitionEvent.resultIndex')
@DocsEditable()
- int get resultIndex => _blink.BlinkSpeechRecognitionEvent.instance.resultIndex_Getter_(this);
-
+ int get resultIndex => _blink.BlinkSpeechRecognitionEvent.instance.resultIndex_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognitionEvent.results')
@DocsEditable()
- List<SpeechRecognitionResult> get results => _blink.BlinkSpeechRecognitionEvent.instance.results_Getter_(this);
-
+ List<SpeechRecognitionResult> get results => wrap_jso_list(_blink.BlinkSpeechRecognitionEvent.instance.results_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29376,16 +29406,16 @@
@DomName('SpeechRecognitionResult.isFinal')
@DocsEditable()
- bool get isFinal => _blink.BlinkSpeechRecognitionResult.instance.isFinal_Getter_(this);
-
+ bool get isFinal => _blink.BlinkSpeechRecognitionResult.instance.isFinal_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognitionResult.length')
@DocsEditable()
- int get length => _blink.BlinkSpeechRecognitionResult.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSpeechRecognitionResult.instance.length_Getter_(unwrap_jso(this));
+
@DomName('SpeechRecognitionResult.item')
@DocsEditable()
- SpeechRecognitionAlternative item(int index) => _blink.BlinkSpeechRecognitionResult.instance.item_Callback_1_(this, index);
-
+ SpeechRecognitionAlternative item(int index) => wrap_jso(_blink.BlinkSpeechRecognitionResult.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29404,36 +29434,36 @@
@DomName('SpeechSynthesis.paused')
@DocsEditable()
- bool get paused => _blink.BlinkSpeechSynthesis.instance.paused_Getter_(this);
-
+ bool get paused => _blink.BlinkSpeechSynthesis.instance.paused_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesis.pending')
@DocsEditable()
- bool get pending => _blink.BlinkSpeechSynthesis.instance.pending_Getter_(this);
-
+ bool get pending => _blink.BlinkSpeechSynthesis.instance.pending_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesis.speaking')
@DocsEditable()
- bool get speaking => _blink.BlinkSpeechSynthesis.instance.speaking_Getter_(this);
-
+ bool get speaking => _blink.BlinkSpeechSynthesis.instance.speaking_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesis.cancel')
@DocsEditable()
- void cancel() => _blink.BlinkSpeechSynthesis.instance.cancel_Callback_0_(this);
-
+ void cancel() => _blink.BlinkSpeechSynthesis.instance.cancel_Callback_0_(unwrap_jso(this));
+
@DomName('SpeechSynthesis.getVoices')
@DocsEditable()
- List<SpeechSynthesisVoice> getVoices() => _blink.BlinkSpeechSynthesis.instance.getVoices_Callback_0_(this);
-
+ List<SpeechSynthesisVoice> getVoices() => _blink.BlinkSpeechSynthesis.instance.getVoices_Callback_0_(unwrap_jso(this));
+
@DomName('SpeechSynthesis.pause')
@DocsEditable()
- void pause() => _blink.BlinkSpeechSynthesis.instance.pause_Callback_0_(this);
-
+ void pause() => _blink.BlinkSpeechSynthesis.instance.pause_Callback_0_(unwrap_jso(this));
+
@DomName('SpeechSynthesis.resume')
@DocsEditable()
- void resume() => _blink.BlinkSpeechSynthesis.instance.resume_Callback_0_(this);
-
+ void resume() => _blink.BlinkSpeechSynthesis.instance.resume_Callback_0_(unwrap_jso(this));
+
@DomName('SpeechSynthesis.speak')
@DocsEditable()
- void speak(SpeechSynthesisUtterance utterance) => _blink.BlinkSpeechSynthesis.instance.speak_Callback_1_(this, utterance);
-
+ void speak(SpeechSynthesisUtterance utterance) => _blink.BlinkSpeechSynthesis.instance.speak_Callback_1_(unwrap_jso(this), unwrap_jso(utterance));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29452,16 +29482,16 @@
@DomName('SpeechSynthesisEvent.charIndex')
@DocsEditable()
- int get charIndex => _blink.BlinkSpeechSynthesisEvent.instance.charIndex_Getter_(this);
-
+ int get charIndex => _blink.BlinkSpeechSynthesisEvent.instance.charIndex_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisEvent.elapsedTime')
@DocsEditable()
- double get elapsedTime => _blink.BlinkSpeechSynthesisEvent.instance.elapsedTime_Getter_(this);
-
+ double get elapsedTime => _blink.BlinkSpeechSynthesisEvent.instance.elapsedTime_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisEvent.name')
@DocsEditable()
- String get name => _blink.BlinkSpeechSynthesisEvent.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkSpeechSynthesisEvent.instance.name_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29556,52 +29586,52 @@
@DomName('SpeechSynthesisUtterance.lang')
@DocsEditable()
- String get lang => _blink.BlinkSpeechSynthesisUtterance.instance.lang_Getter_(this);
-
+ String get lang => _blink.BlinkSpeechSynthesisUtterance.instance.lang_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisUtterance.lang')
@DocsEditable()
- void set lang(String value) => _blink.BlinkSpeechSynthesisUtterance.instance.lang_Setter_(this, value);
-
+ void set lang(String value) => _blink.BlinkSpeechSynthesisUtterance.instance.lang_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechSynthesisUtterance.pitch')
@DocsEditable()
- num get pitch => _blink.BlinkSpeechSynthesisUtterance.instance.pitch_Getter_(this);
-
+ num get pitch => _blink.BlinkSpeechSynthesisUtterance.instance.pitch_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisUtterance.pitch')
@DocsEditable()
- void set pitch(num value) => _blink.BlinkSpeechSynthesisUtterance.instance.pitch_Setter_(this, value);
-
+ void set pitch(num value) => _blink.BlinkSpeechSynthesisUtterance.instance.pitch_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechSynthesisUtterance.rate')
@DocsEditable()
- num get rate => _blink.BlinkSpeechSynthesisUtterance.instance.rate_Getter_(this);
-
+ num get rate => _blink.BlinkSpeechSynthesisUtterance.instance.rate_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisUtterance.rate')
@DocsEditable()
- void set rate(num value) => _blink.BlinkSpeechSynthesisUtterance.instance.rate_Setter_(this, value);
-
+ void set rate(num value) => _blink.BlinkSpeechSynthesisUtterance.instance.rate_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechSynthesisUtterance.text')
@DocsEditable()
- String get text => _blink.BlinkSpeechSynthesisUtterance.instance.text_Getter_(this);
-
+ String get text => _blink.BlinkSpeechSynthesisUtterance.instance.text_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisUtterance.text')
@DocsEditable()
- void set text(String value) => _blink.BlinkSpeechSynthesisUtterance.instance.text_Setter_(this, value);
-
+ void set text(String value) => _blink.BlinkSpeechSynthesisUtterance.instance.text_Setter_(unwrap_jso(this), value);
+
@DomName('SpeechSynthesisUtterance.voice')
@DocsEditable()
- SpeechSynthesisVoice get voice => _blink.BlinkSpeechSynthesisUtterance.instance.voice_Getter_(this);
-
+ SpeechSynthesisVoice get voice => wrap_jso(_blink.BlinkSpeechSynthesisUtterance.instance.voice_Getter_(unwrap_jso(this)));
+
@DomName('SpeechSynthesisUtterance.voice')
@DocsEditable()
- void set voice(SpeechSynthesisVoice value) => _blink.BlinkSpeechSynthesisUtterance.instance.voice_Setter_(this, value);
-
+ void set voice(SpeechSynthesisVoice value) => _blink.BlinkSpeechSynthesisUtterance.instance.voice_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('SpeechSynthesisUtterance.volume')
@DocsEditable()
- num get volume => _blink.BlinkSpeechSynthesisUtterance.instance.volume_Getter_(this);
-
+ num get volume => _blink.BlinkSpeechSynthesisUtterance.instance.volume_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisUtterance.volume')
@DocsEditable()
- void set volume(num value) => _blink.BlinkSpeechSynthesisUtterance.instance.volume_Setter_(this, value);
-
+ void set volume(num value) => _blink.BlinkSpeechSynthesisUtterance.instance.volume_Setter_(unwrap_jso(this), value);
+
/// Stream of `boundary` events handled by this [SpeechSynthesisUtterance].
@DomName('SpeechSynthesisUtterance.onboundary')
@DocsEditable()
@@ -29655,24 +29685,24 @@
@DomName('SpeechSynthesisVoice.default')
@DocsEditable()
- bool get defaultValue => _blink.BlinkSpeechSynthesisVoice.instance.default_Getter_(this);
-
+ bool get defaultValue => _blink.BlinkSpeechSynthesisVoice.instance.default_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisVoice.lang')
@DocsEditable()
- String get lang => _blink.BlinkSpeechSynthesisVoice.instance.lang_Getter_(this);
-
+ String get lang => _blink.BlinkSpeechSynthesisVoice.instance.lang_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisVoice.localService')
@DocsEditable()
- bool get localService => _blink.BlinkSpeechSynthesisVoice.instance.localService_Getter_(this);
-
+ bool get localService => _blink.BlinkSpeechSynthesisVoice.instance.localService_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisVoice.name')
@DocsEditable()
- String get name => _blink.BlinkSpeechSynthesisVoice.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkSpeechSynthesisVoice.instance.name_Getter_(unwrap_jso(this));
+
@DomName('SpeechSynthesisVoice.voiceURI')
@DocsEditable()
- String get voiceUri => _blink.BlinkSpeechSynthesisVoice.instance.voiceURI_Getter_(this);
-
+ String get voiceUri => _blink.BlinkSpeechSynthesisVoice.instance.voiceURI_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29766,35 +29796,35 @@
@DomName('Storage.length')
@DocsEditable()
- int get _length => _blink.BlinkStorage.instance.length_Getter_(this);
-
+ int get _length => _blink.BlinkStorage.instance.length_Getter_(unwrap_jso(this));
+
bool __delete__(index_OR_name) {
if ((index_OR_name is int || index_OR_name == null)) {
- return _blink.BlinkStorage.instance.$__delete___Callback_1_(this, index_OR_name);
+ return _blink.BlinkStorage.instance.$__delete___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
if ((index_OR_name is String || index_OR_name == null)) {
- return _blink.BlinkStorage.instance.$__delete___Callback_1_(this, index_OR_name);
+ return _blink.BlinkStorage.instance.$__delete___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
String __getter__(index_OR_name) {
if ((index_OR_name is int || index_OR_name == null)) {
- return _blink.BlinkStorage.instance.$__getter___Callback_1_(this, index_OR_name);
+ return _blink.BlinkStorage.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
if ((index_OR_name is String || index_OR_name == null)) {
- return _blink.BlinkStorage.instance.$__getter___Callback_1_(this, index_OR_name);
+ return _blink.BlinkStorage.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
void __setter__(index_OR_name, String value) {
if ((value is String || value == null) && (index_OR_name is int || index_OR_name == null)) {
- _blink.BlinkStorage.instance.$__setter___Callback_2_(this, index_OR_name, value);
+ _blink.BlinkStorage.instance.$__setter___Callback_2_(unwrap_jso(this), unwrap_jso(index_OR_name), value);
return;
}
if ((value is String || value == null) && (index_OR_name is String || index_OR_name == null)) {
- _blink.BlinkStorage.instance.$__setter___Callback_2_(this, index_OR_name, value);
+ _blink.BlinkStorage.instance.$__setter___Callback_2_(unwrap_jso(this), unwrap_jso(index_OR_name), value);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -29802,24 +29832,24 @@
@DomName('Storage.clear')
@DocsEditable()
- void _clear() => _blink.BlinkStorage.instance.clear_Callback_0_(this);
-
+ void _clear() => _blink.BlinkStorage.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('Storage.getItem')
@DocsEditable()
- String _getItem(String key) => _blink.BlinkStorage.instance.getItem_Callback_1_(this, key);
-
+ String _getItem(String key) => _blink.BlinkStorage.instance.getItem_Callback_1_(unwrap_jso(this), key);
+
@DomName('Storage.key')
@DocsEditable()
- String _key(int index) => _blink.BlinkStorage.instance.key_Callback_1_(this, index);
-
+ String _key(int index) => _blink.BlinkStorage.instance.key_Callback_1_(unwrap_jso(this), index);
+
@DomName('Storage.removeItem')
@DocsEditable()
- void _removeItem(String key) => _blink.BlinkStorage.instance.removeItem_Callback_1_(this, key);
-
+ void _removeItem(String key) => _blink.BlinkStorage.instance.removeItem_Callback_1_(unwrap_jso(this), key);
+
@DomName('Storage.setItem')
@DocsEditable()
- void _setItem(String key, String data) => _blink.BlinkStorage.instance.setItem_Callback_2_(this, key, data);
-
+ void _setItem(String key, String data) => _blink.BlinkStorage.instance.setItem_Callback_2_(unwrap_jso(this), key, data);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29856,28 +29886,28 @@
@DomName('StorageEvent.key')
@DocsEditable()
- String get key => _blink.BlinkStorageEvent.instance.key_Getter_(this);
-
+ String get key => _blink.BlinkStorageEvent.instance.key_Getter_(unwrap_jso(this));
+
@DomName('StorageEvent.newValue')
@DocsEditable()
- String get newValue => _blink.BlinkStorageEvent.instance.newValue_Getter_(this);
-
+ String get newValue => _blink.BlinkStorageEvent.instance.newValue_Getter_(unwrap_jso(this));
+
@DomName('StorageEvent.oldValue')
@DocsEditable()
- String get oldValue => _blink.BlinkStorageEvent.instance.oldValue_Getter_(this);
-
+ String get oldValue => _blink.BlinkStorageEvent.instance.oldValue_Getter_(unwrap_jso(this));
+
@DomName('StorageEvent.storageArea')
@DocsEditable()
- Storage get storageArea => _blink.BlinkStorageEvent.instance.storageArea_Getter_(this);
-
+ Storage get storageArea => wrap_jso(_blink.BlinkStorageEvent.instance.storageArea_Getter_(unwrap_jso(this)));
+
@DomName('StorageEvent.url')
@DocsEditable()
- String get url => _blink.BlinkStorageEvent.instance.url_Getter_(this);
-
+ String get url => _blink.BlinkStorageEvent.instance.url_Getter_(unwrap_jso(this));
+
@DomName('StorageEvent.initStorageEvent')
@DocsEditable()
- void _initStorageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, String keyArg, String oldValueArg, String newValueArg, String urlArg, Storage storageAreaArg) => _blink.BlinkStorageEvent.instance.initStorageEvent_Callback_8_(this, typeArg, canBubbleArg, cancelableArg, keyArg, oldValueArg, newValueArg, urlArg, storageAreaArg);
-
+ void _initStorageEvent(String typeArg, bool canBubbleArg, bool cancelableArg, String keyArg, String oldValueArg, String newValueArg, String urlArg, Storage storageAreaArg) => _blink.BlinkStorageEvent.instance.initStorageEvent_Callback_8_(unwrap_jso(this), typeArg, canBubbleArg, cancelableArg, keyArg, oldValueArg, newValueArg, urlArg, unwrap_jso(storageAreaArg));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29897,13 +29927,13 @@
@DomName('StorageInfo.quota')
@DocsEditable()
@Experimental() // untriaged
- int get quota => _blink.BlinkStorageInfo.instance.quota_Getter_(this);
-
+ int get quota => _blink.BlinkStorageInfo.instance.quota_Getter_(unwrap_jso(this));
+
@DomName('StorageInfo.usage')
@DocsEditable()
@Experimental() // untriaged
- int get usage => _blink.BlinkStorageInfo.instance.usage_Getter_(this);
-
+ int get usage => _blink.BlinkStorageInfo.instance.usage_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29923,18 +29953,18 @@
@DomName('StorageQuota.supportedTypes')
@DocsEditable()
@Experimental() // untriaged
- List<String> get supportedTypes => _blink.BlinkStorageQuota.instance.supportedTypes_Getter_(this);
-
+ List<String> get supportedTypes => _blink.BlinkStorageQuota.instance.supportedTypes_Getter_(unwrap_jso(this));
+
@DomName('StorageQuota.queryInfo')
@DocsEditable()
@Experimental() // untriaged
- Future queryInfo(String type) => _blink.BlinkStorageQuota.instance.queryInfo_Callback_1_(this, type);
-
+ Future queryInfo(String type) => _blink.BlinkStorageQuota.instance.queryInfo_Callback_1_(unwrap_jso(this), type);
+
@DomName('StorageQuota.requestPersistentQuota')
@DocsEditable()
@Experimental() // untriaged
- Future requestPersistentQuota(int newQuota) => _blink.BlinkStorageQuota.instance.requestPersistentQuota_Callback_1_(this, newQuota);
-
+ Future requestPersistentQuota(int newQuota) => _blink.BlinkStorageQuota.instance.requestPersistentQuota_Callback_1_(unwrap_jso(this), newQuota);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -29994,32 +30024,32 @@
@DomName('HTMLStyleElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLStyleElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLStyleElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLStyleElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLStyleElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLStyleElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLStyleElement.media')
@DocsEditable()
- String get media => _blink.BlinkHTMLStyleElement.instance.media_Getter_(this);
-
+ String get media => _blink.BlinkHTMLStyleElement.instance.media_Getter_(unwrap_jso(this));
+
@DomName('HTMLStyleElement.media')
@DocsEditable()
- void set media(String value) => _blink.BlinkHTMLStyleElement.instance.media_Setter_(this, value);
-
+ void set media(String value) => _blink.BlinkHTMLStyleElement.instance.media_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLStyleElement.sheet')
@DocsEditable()
- StyleSheet get sheet => _blink.BlinkHTMLStyleElement.instance.sheet_Getter_(this);
-
+ StyleSheet get sheet => wrap_jso(_blink.BlinkHTMLStyleElement.instance.sheet_Getter_(unwrap_jso(this)));
+
@DomName('HTMLStyleElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLStyleElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLStyleElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLStyleElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkHTMLStyleElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkHTMLStyleElement.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30038,12 +30068,12 @@
@DomName('StyleMedia.type')
@DocsEditable()
- String get type => _blink.BlinkStyleMedia.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkStyleMedia.instance.type_Getter_(unwrap_jso(this));
+
@DomName('StyleMedia.matchMedium')
@DocsEditable()
- bool matchMedium(String mediaquery) => _blink.BlinkStyleMedia.instance.matchMedium_Callback_1_(this, mediaquery);
-
+ bool matchMedium(String mediaquery) => _blink.BlinkStyleMedia.instance.matchMedium_Callback_1_(unwrap_jso(this), mediaquery);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30060,36 +30090,36 @@
@DomName('StyleSheet.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkStyleSheet.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkStyleSheet.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('StyleSheet.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkStyleSheet.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkStyleSheet.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('StyleSheet.href')
@DocsEditable()
- String get href => _blink.BlinkStyleSheet.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkStyleSheet.instance.href_Getter_(unwrap_jso(this));
+
@DomName('StyleSheet.media')
@DocsEditable()
- MediaList get media => _blink.BlinkStyleSheet.instance.media_Getter_(this);
-
+ MediaList get media => wrap_jso(_blink.BlinkStyleSheet.instance.media_Getter_(unwrap_jso(this)));
+
@DomName('StyleSheet.ownerNode')
@DocsEditable()
- Node get ownerNode => _blink.BlinkStyleSheet.instance.ownerNode_Getter_(this);
-
+ Node get ownerNode => wrap_jso(_blink.BlinkStyleSheet.instance.ownerNode_Getter_(unwrap_jso(this)));
+
@DomName('StyleSheet.parentStyleSheet')
@DocsEditable()
- StyleSheet get parentStyleSheet => _blink.BlinkStyleSheet.instance.parentStyleSheet_Getter_(this);
-
+ StyleSheet get parentStyleSheet => wrap_jso(_blink.BlinkStyleSheet.instance.parentStyleSheet_Getter_(unwrap_jso(this)));
+
@DomName('StyleSheet.title')
@DocsEditable()
- String get title => _blink.BlinkStyleSheet.instance.title_Getter_(this);
-
+ String get title => _blink.BlinkStyleSheet.instance.title_Getter_(unwrap_jso(this));
+
@DomName('StyleSheet.type')
@DocsEditable()
- String get type => _blink.BlinkStyleSheet.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkStyleSheet.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30140,32 +30170,32 @@
@DomName('HTMLTableCellElement.cellIndex')
@DocsEditable()
- int get cellIndex => _blink.BlinkHTMLTableCellElement.instance.cellIndex_Getter_(this);
-
+ int get cellIndex => _blink.BlinkHTMLTableCellElement.instance.cellIndex_Getter_(unwrap_jso(this));
+
@DomName('HTMLTableCellElement.colSpan')
@DocsEditable()
- int get colSpan => _blink.BlinkHTMLTableCellElement.instance.colSpan_Getter_(this);
-
+ int get colSpan => _blink.BlinkHTMLTableCellElement.instance.colSpan_Getter_(unwrap_jso(this));
+
@DomName('HTMLTableCellElement.colSpan')
@DocsEditable()
- void set colSpan(int value) => _blink.BlinkHTMLTableCellElement.instance.colSpan_Setter_(this, value);
-
+ void set colSpan(int value) => _blink.BlinkHTMLTableCellElement.instance.colSpan_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTableCellElement.headers')
@DocsEditable()
- String get headers => _blink.BlinkHTMLTableCellElement.instance.headers_Getter_(this);
-
+ String get headers => _blink.BlinkHTMLTableCellElement.instance.headers_Getter_(unwrap_jso(this));
+
@DomName('HTMLTableCellElement.headers')
@DocsEditable()
- void set headers(String value) => _blink.BlinkHTMLTableCellElement.instance.headers_Setter_(this, value);
-
+ void set headers(String value) => _blink.BlinkHTMLTableCellElement.instance.headers_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTableCellElement.rowSpan')
@DocsEditable()
- int get rowSpan => _blink.BlinkHTMLTableCellElement.instance.rowSpan_Getter_(this);
-
+ int get rowSpan => _blink.BlinkHTMLTableCellElement.instance.rowSpan_Getter_(unwrap_jso(this));
+
@DomName('HTMLTableCellElement.rowSpan')
@DocsEditable()
- void set rowSpan(int value) => _blink.BlinkHTMLTableCellElement.instance.rowSpan_Setter_(this, value);
-
+ void set rowSpan(int value) => _blink.BlinkHTMLTableCellElement.instance.rowSpan_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30192,12 +30222,12 @@
@DomName('HTMLTableColElement.span')
@DocsEditable()
- int get span => _blink.BlinkHTMLTableColElement.instance.span_Getter_(this);
-
+ int get span => _blink.BlinkHTMLTableColElement.instance.span_Getter_(unwrap_jso(this));
+
@DomName('HTMLTableColElement.span')
@DocsEditable()
- void set span(int value) => _blink.BlinkHTMLTableColElement.instance.span_Setter_(this, value);
-
+ void set span(int value) => _blink.BlinkHTMLTableColElement.instance.span_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30242,73 +30272,73 @@
@DomName('HTMLTableElement.caption')
@DocsEditable()
- TableCaptionElement get caption => _blink.BlinkHTMLTableElement.instance.caption_Getter_(this);
-
+ TableCaptionElement get caption => wrap_jso(_blink.BlinkHTMLTableElement.instance.caption_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.caption')
@DocsEditable()
- void set caption(TableCaptionElement value) => _blink.BlinkHTMLTableElement.instance.caption_Setter_(this, value);
-
+ void set caption(TableCaptionElement value) => _blink.BlinkHTMLTableElement.instance.caption_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('HTMLTableElement.rows')
@DocsEditable()
- List<Node> get _rows => _blink.BlinkHTMLTableElement.instance.rows_Getter_(this);
-
+ List<Node> get _rows => wrap_jso_list(_blink.BlinkHTMLTableElement.instance.rows_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.tBodies')
@DocsEditable()
- List<Node> get _tBodies => _blink.BlinkHTMLTableElement.instance.tBodies_Getter_(this);
-
+ List<Node> get _tBodies => wrap_jso_list(_blink.BlinkHTMLTableElement.instance.tBodies_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.tFoot')
@DocsEditable()
- TableSectionElement get tFoot => _blink.BlinkHTMLTableElement.instance.tFoot_Getter_(this);
-
+ TableSectionElement get tFoot => wrap_jso(_blink.BlinkHTMLTableElement.instance.tFoot_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.tFoot')
@DocsEditable()
- void set tFoot(TableSectionElement value) => _blink.BlinkHTMLTableElement.instance.tFoot_Setter_(this, value);
-
+ void set tFoot(TableSectionElement value) => _blink.BlinkHTMLTableElement.instance.tFoot_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('HTMLTableElement.tHead')
@DocsEditable()
- TableSectionElement get tHead => _blink.BlinkHTMLTableElement.instance.tHead_Getter_(this);
-
+ TableSectionElement get tHead => wrap_jso(_blink.BlinkHTMLTableElement.instance.tHead_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.tHead')
@DocsEditable()
- void set tHead(TableSectionElement value) => _blink.BlinkHTMLTableElement.instance.tHead_Setter_(this, value);
-
+ void set tHead(TableSectionElement value) => _blink.BlinkHTMLTableElement.instance.tHead_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('HTMLTableElement.createCaption')
@DocsEditable()
- HtmlElement _createCaption() => _blink.BlinkHTMLTableElement.instance.createCaption_Callback_0_(this);
-
+ HtmlElement _createCaption() => wrap_jso(_blink.BlinkHTMLTableElement.instance.createCaption_Callback_0_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.createTBody')
@DocsEditable()
- HtmlElement _createTBody() => _blink.BlinkHTMLTableElement.instance.createTBody_Callback_0_(this);
-
+ HtmlElement _createTBody() => wrap_jso(_blink.BlinkHTMLTableElement.instance.createTBody_Callback_0_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.createTFoot')
@DocsEditable()
- HtmlElement _createTFoot() => _blink.BlinkHTMLTableElement.instance.createTFoot_Callback_0_(this);
-
+ HtmlElement _createTFoot() => wrap_jso(_blink.BlinkHTMLTableElement.instance.createTFoot_Callback_0_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.createTHead')
@DocsEditable()
- HtmlElement _createTHead() => _blink.BlinkHTMLTableElement.instance.createTHead_Callback_0_(this);
-
+ HtmlElement _createTHead() => wrap_jso(_blink.BlinkHTMLTableElement.instance.createTHead_Callback_0_(unwrap_jso(this)));
+
@DomName('HTMLTableElement.deleteCaption')
@DocsEditable()
- void deleteCaption() => _blink.BlinkHTMLTableElement.instance.deleteCaption_Callback_0_(this);
-
+ void deleteCaption() => _blink.BlinkHTMLTableElement.instance.deleteCaption_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLTableElement.deleteRow')
@DocsEditable()
- void deleteRow(int index) => _blink.BlinkHTMLTableElement.instance.deleteRow_Callback_1_(this, index);
-
+ void deleteRow(int index) => _blink.BlinkHTMLTableElement.instance.deleteRow_Callback_1_(unwrap_jso(this), index);
+
@DomName('HTMLTableElement.deleteTFoot')
@DocsEditable()
- void deleteTFoot() => _blink.BlinkHTMLTableElement.instance.deleteTFoot_Callback_0_(this);
-
+ void deleteTFoot() => _blink.BlinkHTMLTableElement.instance.deleteTFoot_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLTableElement.deleteTHead')
@DocsEditable()
- void deleteTHead() => _blink.BlinkHTMLTableElement.instance.deleteTHead_Callback_0_(this);
-
+ void deleteTHead() => _blink.BlinkHTMLTableElement.instance.deleteTHead_Callback_0_(unwrap_jso(this));
+
HtmlElement _insertRow([int index]) {
if (index != null) {
- return _blink.BlinkHTMLTableElement.instance.insertRow_Callback_1_(this, index);
+ return _blink.BlinkHTMLTableElement.instance.insertRow_Callback_1_(unwrap_jso(this), index);
}
- return _blink.BlinkHTMLTableElement.instance.insertRow_Callback_0_(this);
+ return _blink.BlinkHTMLTableElement.instance.insertRow_Callback_0_(unwrap_jso(this));
}
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
@@ -30346,25 +30376,25 @@
@DomName('HTMLTableRowElement.cells')
@DocsEditable()
- List<Node> get _cells => _blink.BlinkHTMLTableRowElement.instance.cells_Getter_(this);
-
+ List<Node> get _cells => wrap_jso_list(_blink.BlinkHTMLTableRowElement.instance.cells_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTableRowElement.rowIndex')
@DocsEditable()
- int get rowIndex => _blink.BlinkHTMLTableRowElement.instance.rowIndex_Getter_(this);
-
+ int get rowIndex => _blink.BlinkHTMLTableRowElement.instance.rowIndex_Getter_(unwrap_jso(this));
+
@DomName('HTMLTableRowElement.sectionRowIndex')
@DocsEditable()
- int get sectionRowIndex => _blink.BlinkHTMLTableRowElement.instance.sectionRowIndex_Getter_(this);
-
+ int get sectionRowIndex => _blink.BlinkHTMLTableRowElement.instance.sectionRowIndex_Getter_(unwrap_jso(this));
+
@DomName('HTMLTableRowElement.deleteCell')
@DocsEditable()
- void deleteCell(int index) => _blink.BlinkHTMLTableRowElement.instance.deleteCell_Callback_1_(this, index);
-
+ void deleteCell(int index) => _blink.BlinkHTMLTableRowElement.instance.deleteCell_Callback_1_(unwrap_jso(this), index);
+
HtmlElement _insertCell([int index]) {
if (index != null) {
- return _blink.BlinkHTMLTableRowElement.instance.insertCell_Callback_1_(this, index);
+ return _blink.BlinkHTMLTableRowElement.instance.insertCell_Callback_1_(unwrap_jso(this), index);
}
- return _blink.BlinkHTMLTableRowElement.instance.insertCell_Callback_0_(this);
+ return _blink.BlinkHTMLTableRowElement.instance.insertCell_Callback_0_(unwrap_jso(this));
}
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
@@ -30398,17 +30428,17 @@
@DomName('HTMLTableSectionElement.rows')
@DocsEditable()
- List<Node> get _rows => _blink.BlinkHTMLTableSectionElement.instance.rows_Getter_(this);
-
+ List<Node> get _rows => wrap_jso_list(_blink.BlinkHTMLTableSectionElement.instance.rows_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTableSectionElement.deleteRow')
@DocsEditable()
- void deleteRow(int index) => _blink.BlinkHTMLTableSectionElement.instance.deleteRow_Callback_1_(this, index);
-
+ void deleteRow(int index) => _blink.BlinkHTMLTableSectionElement.instance.deleteRow_Callback_1_(unwrap_jso(this), index);
+
HtmlElement _insertRow([int index]) {
if (index != null) {
- return _blink.BlinkHTMLTableSectionElement.instance.insertRow_Callback_1_(this, index);
+ return _blink.BlinkHTMLTableSectionElement.instance.insertRow_Callback_1_(unwrap_jso(this), index);
}
- return _blink.BlinkHTMLTableSectionElement.instance.insertRow_Callback_0_(this);
+ return _blink.BlinkHTMLTableSectionElement.instance.insertRow_Callback_0_(unwrap_jso(this));
}
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
@@ -30442,8 +30472,8 @@
@DomName('HTMLTemplateElement.content')
@DocsEditable()
- DocumentFragment get content => _blink.BlinkHTMLTemplateElement.instance.content_Getter_(this);
-
+ DocumentFragment get content => wrap_jso(_blink.BlinkHTMLTemplateElement.instance.content_Getter_(unwrap_jso(this)));
+
/**
* An override to place the contents into content rather than as child nodes.
@@ -30476,17 +30506,17 @@
@DomName('Text.wholeText')
@DocsEditable()
- String get wholeText => _blink.BlinkText.instance.wholeText_Getter_(this);
-
+ String get wholeText => _blink.BlinkText.instance.wholeText_Getter_(unwrap_jso(this));
+
@DomName('Text.getDestinationInsertionPoints')
@DocsEditable()
@Experimental() // untriaged
- List<Node> getDestinationInsertionPoints() => _blink.BlinkText.instance.getDestinationInsertionPoints_Callback_0_(this);
-
+ List<Node> getDestinationInsertionPoints() => wrap_jso_list(_blink.BlinkText.instance.getDestinationInsertionPoints_Callback_0_(unwrap_jso(this)));
+
@DomName('Text.splitText')
@DocsEditable()
- Text splitText(int offset) => _blink.BlinkText.instance.splitText_Callback_1_(this, offset);
-
+ Text splitText(int offset) => wrap_jso(_blink.BlinkText.instance.splitText_Callback_1_(unwrap_jso(this), offset));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30513,194 +30543,194 @@
@DomName('HTMLTextAreaElement.autofocus')
@DocsEditable()
- bool get autofocus => _blink.BlinkHTMLTextAreaElement.instance.autofocus_Getter_(this);
-
+ bool get autofocus => _blink.BlinkHTMLTextAreaElement.instance.autofocus_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.autofocus')
@DocsEditable()
- void set autofocus(bool value) => _blink.BlinkHTMLTextAreaElement.instance.autofocus_Setter_(this, value);
-
+ void set autofocus(bool value) => _blink.BlinkHTMLTextAreaElement.instance.autofocus_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.cols')
@DocsEditable()
- int get cols => _blink.BlinkHTMLTextAreaElement.instance.cols_Getter_(this);
-
+ int get cols => _blink.BlinkHTMLTextAreaElement.instance.cols_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.cols')
@DocsEditable()
- void set cols(int value) => _blink.BlinkHTMLTextAreaElement.instance.cols_Setter_(this, value);
-
+ void set cols(int value) => _blink.BlinkHTMLTextAreaElement.instance.cols_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.defaultValue')
@DocsEditable()
- String get defaultValue => _blink.BlinkHTMLTextAreaElement.instance.defaultValue_Getter_(this);
-
+ String get defaultValue => _blink.BlinkHTMLTextAreaElement.instance.defaultValue_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.defaultValue')
@DocsEditable()
- void set defaultValue(String value) => _blink.BlinkHTMLTextAreaElement.instance.defaultValue_Setter_(this, value);
-
+ void set defaultValue(String value) => _blink.BlinkHTMLTextAreaElement.instance.defaultValue_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.dirName')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-textarea-dirname
@Experimental()
- String get dirName => _blink.BlinkHTMLTextAreaElement.instance.dirName_Getter_(this);
-
+ String get dirName => _blink.BlinkHTMLTextAreaElement.instance.dirName_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.dirName')
@DocsEditable()
// http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-textarea-dirname
@Experimental()
- void set dirName(String value) => _blink.BlinkHTMLTextAreaElement.instance.dirName_Setter_(this, value);
-
+ void set dirName(String value) => _blink.BlinkHTMLTextAreaElement.instance.dirName_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkHTMLTextAreaElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkHTMLTextAreaElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkHTMLTextAreaElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkHTMLTextAreaElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.form')
@DocsEditable()
- FormElement get form => _blink.BlinkHTMLTextAreaElement.instance.form_Getter_(this);
-
+ FormElement get form => wrap_jso(_blink.BlinkHTMLTextAreaElement.instance.form_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTextAreaElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
- String get inputMode => _blink.BlinkHTMLTextAreaElement.instance.inputMode_Getter_(this);
-
+ String get inputMode => _blink.BlinkHTMLTextAreaElement.instance.inputMode_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.inputMode')
@DocsEditable()
@Experimental() // untriaged
- void set inputMode(String value) => _blink.BlinkHTMLTextAreaElement.instance.inputMode_Setter_(this, value);
-
+ void set inputMode(String value) => _blink.BlinkHTMLTextAreaElement.instance.inputMode_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.labels')
@DocsEditable()
@Unstable()
- List<Node> get labels => _blink.BlinkHTMLTextAreaElement.instance.labels_Getter_(this);
-
+ List<Node> get labels => wrap_jso_list(_blink.BlinkHTMLTextAreaElement.instance.labels_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTextAreaElement.maxLength')
@DocsEditable()
- int get maxLength => _blink.BlinkHTMLTextAreaElement.instance.maxLength_Getter_(this);
-
+ int get maxLength => _blink.BlinkHTMLTextAreaElement.instance.maxLength_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.maxLength')
@DocsEditable()
- void set maxLength(int value) => _blink.BlinkHTMLTextAreaElement.instance.maxLength_Setter_(this, value);
-
+ void set maxLength(int value) => _blink.BlinkHTMLTextAreaElement.instance.maxLength_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.name')
@DocsEditable()
- String get name => _blink.BlinkHTMLTextAreaElement.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkHTMLTextAreaElement.instance.name_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkHTMLTextAreaElement.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkHTMLTextAreaElement.instance.name_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.placeholder')
@DocsEditable()
- String get placeholder => _blink.BlinkHTMLTextAreaElement.instance.placeholder_Getter_(this);
-
+ String get placeholder => _blink.BlinkHTMLTextAreaElement.instance.placeholder_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.placeholder')
@DocsEditable()
- void set placeholder(String value) => _blink.BlinkHTMLTextAreaElement.instance.placeholder_Setter_(this, value);
-
+ void set placeholder(String value) => _blink.BlinkHTMLTextAreaElement.instance.placeholder_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.readOnly')
@DocsEditable()
- bool get readOnly => _blink.BlinkHTMLTextAreaElement.instance.readOnly_Getter_(this);
-
+ bool get readOnly => _blink.BlinkHTMLTextAreaElement.instance.readOnly_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.readOnly')
@DocsEditable()
- void set readOnly(bool value) => _blink.BlinkHTMLTextAreaElement.instance.readOnly_Setter_(this, value);
-
+ void set readOnly(bool value) => _blink.BlinkHTMLTextAreaElement.instance.readOnly_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.required')
@DocsEditable()
- bool get required => _blink.BlinkHTMLTextAreaElement.instance.required_Getter_(this);
-
+ bool get required => _blink.BlinkHTMLTextAreaElement.instance.required_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.required')
@DocsEditable()
- void set required(bool value) => _blink.BlinkHTMLTextAreaElement.instance.required_Setter_(this, value);
-
+ void set required(bool value) => _blink.BlinkHTMLTextAreaElement.instance.required_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.rows')
@DocsEditable()
- int get rows => _blink.BlinkHTMLTextAreaElement.instance.rows_Getter_(this);
-
+ int get rows => _blink.BlinkHTMLTextAreaElement.instance.rows_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.rows')
@DocsEditable()
- void set rows(int value) => _blink.BlinkHTMLTextAreaElement.instance.rows_Setter_(this, value);
-
+ void set rows(int value) => _blink.BlinkHTMLTextAreaElement.instance.rows_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.selectionDirection')
@DocsEditable()
- String get selectionDirection => _blink.BlinkHTMLTextAreaElement.instance.selectionDirection_Getter_(this);
-
+ String get selectionDirection => _blink.BlinkHTMLTextAreaElement.instance.selectionDirection_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.selectionDirection')
@DocsEditable()
- void set selectionDirection(String value) => _blink.BlinkHTMLTextAreaElement.instance.selectionDirection_Setter_(this, value);
-
+ void set selectionDirection(String value) => _blink.BlinkHTMLTextAreaElement.instance.selectionDirection_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.selectionEnd')
@DocsEditable()
- int get selectionEnd => _blink.BlinkHTMLTextAreaElement.instance.selectionEnd_Getter_(this);
-
+ int get selectionEnd => _blink.BlinkHTMLTextAreaElement.instance.selectionEnd_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.selectionEnd')
@DocsEditable()
- void set selectionEnd(int value) => _blink.BlinkHTMLTextAreaElement.instance.selectionEnd_Setter_(this, value);
-
+ void set selectionEnd(int value) => _blink.BlinkHTMLTextAreaElement.instance.selectionEnd_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.selectionStart')
@DocsEditable()
- int get selectionStart => _blink.BlinkHTMLTextAreaElement.instance.selectionStart_Getter_(this);
-
+ int get selectionStart => _blink.BlinkHTMLTextAreaElement.instance.selectionStart_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.selectionStart')
@DocsEditable()
- void set selectionStart(int value) => _blink.BlinkHTMLTextAreaElement.instance.selectionStart_Setter_(this, value);
-
+ void set selectionStart(int value) => _blink.BlinkHTMLTextAreaElement.instance.selectionStart_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.textLength')
@DocsEditable()
- int get textLength => _blink.BlinkHTMLTextAreaElement.instance.textLength_Getter_(this);
-
+ int get textLength => _blink.BlinkHTMLTextAreaElement.instance.textLength_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.type')
@DocsEditable()
- String get type => _blink.BlinkHTMLTextAreaElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkHTMLTextAreaElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.validationMessage')
@DocsEditable()
- String get validationMessage => _blink.BlinkHTMLTextAreaElement.instance.validationMessage_Getter_(this);
-
+ String get validationMessage => _blink.BlinkHTMLTextAreaElement.instance.validationMessage_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.validity')
@DocsEditable()
- ValidityState get validity => _blink.BlinkHTMLTextAreaElement.instance.validity_Getter_(this);
-
+ ValidityState get validity => wrap_jso(_blink.BlinkHTMLTextAreaElement.instance.validity_Getter_(unwrap_jso(this)));
+
@DomName('HTMLTextAreaElement.value')
@DocsEditable()
- String get value => _blink.BlinkHTMLTextAreaElement.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkHTMLTextAreaElement.instance.value_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkHTMLTextAreaElement.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkHTMLTextAreaElement.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.willValidate')
@DocsEditable()
- bool get willValidate => _blink.BlinkHTMLTextAreaElement.instance.willValidate_Getter_(this);
-
+ bool get willValidate => _blink.BlinkHTMLTextAreaElement.instance.willValidate_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.wrap')
@DocsEditable()
- String get wrap => _blink.BlinkHTMLTextAreaElement.instance.wrap_Getter_(this);
-
+ String get wrap => _blink.BlinkHTMLTextAreaElement.instance.wrap_Getter_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.wrap')
@DocsEditable()
- void set wrap(String value) => _blink.BlinkHTMLTextAreaElement.instance.wrap_Setter_(this, value);
-
+ void set wrap(String value) => _blink.BlinkHTMLTextAreaElement.instance.wrap_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTextAreaElement.checkValidity')
@DocsEditable()
- bool checkValidity() => _blink.BlinkHTMLTextAreaElement.instance.checkValidity_Callback_0_(this);
-
+ bool checkValidity() => _blink.BlinkHTMLTextAreaElement.instance.checkValidity_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.select')
@DocsEditable()
- void select() => _blink.BlinkHTMLTextAreaElement.instance.select_Callback_0_(this);
-
+ void select() => _blink.BlinkHTMLTextAreaElement.instance.select_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLTextAreaElement.setCustomValidity')
@DocsEditable()
- void setCustomValidity(String error) => _blink.BlinkHTMLTextAreaElement.instance.setCustomValidity_Callback_1_(this, error);
-
+ void setCustomValidity(String error) => _blink.BlinkHTMLTextAreaElement.instance.setCustomValidity_Callback_1_(unwrap_jso(this), error);
+
void setRangeText(String replacement, {int start, int end, String selectionMode}) {
if ((replacement is String || replacement == null) && start == null && end == null && selectionMode == null) {
- _blink.BlinkHTMLTextAreaElement.instance.setRangeText_Callback_1_(this, replacement);
+ _blink.BlinkHTMLTextAreaElement.instance.setRangeText_Callback_1_(unwrap_jso(this), replacement);
return;
}
if ((selectionMode is String || selectionMode == null) && (end is int || end == null) && (start is int || start == null) && (replacement is String || replacement == null)) {
- _blink.BlinkHTMLTextAreaElement.instance.setRangeText_Callback_4_(this, replacement, start, end, selectionMode);
+ _blink.BlinkHTMLTextAreaElement.instance.setRangeText_Callback_4_(unwrap_jso(this), replacement, start, end, selectionMode);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -30708,10 +30738,10 @@
void setSelectionRange(int start, int end, [String direction]) {
if (direction != null) {
- _blink.BlinkHTMLTextAreaElement.instance.setSelectionRange_Callback_3_(this, start, end, direction);
+ _blink.BlinkHTMLTextAreaElement.instance.setSelectionRange_Callback_3_(unwrap_jso(this), start, end, direction);
return;
}
- _blink.BlinkHTMLTextAreaElement.instance.setSelectionRange_Callback_2_(this, start, end);
+ _blink.BlinkHTMLTextAreaElement.instance.setSelectionRange_Callback_2_(unwrap_jso(this), start, end);
return;
}
@@ -30740,12 +30770,12 @@
@DomName('TextEvent.data')
@DocsEditable()
- String get data => _blink.BlinkTextEvent.instance.data_Getter_(this);
-
+ String get data => _blink.BlinkTextEvent.instance.data_Getter_(unwrap_jso(this));
+
@DomName('TextEvent.initTextEvent')
@DocsEditable()
- void _initTextEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Window viewArg, String dataArg) => _blink.BlinkTextEvent.instance.initTextEvent_Callback_5_(this, typeArg, canBubbleArg, cancelableArg, viewArg, dataArg);
-
+ void _initTextEvent(String typeArg, bool canBubbleArg, bool cancelableArg, Window viewArg, String dataArg) => _blink.BlinkTextEvent.instance.initTextEvent_Callback_5_(unwrap_jso(this), typeArg, canBubbleArg, cancelableArg, unwrap_jso(viewArg), dataArg);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30763,62 +30793,62 @@
@DomName('TextMetrics.actualBoundingBoxAscent')
@DocsEditable()
@Experimental() // untriaged
- double get actualBoundingBoxAscent => _blink.BlinkTextMetrics.instance.actualBoundingBoxAscent_Getter_(this);
-
+ double get actualBoundingBoxAscent => _blink.BlinkTextMetrics.instance.actualBoundingBoxAscent_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.actualBoundingBoxDescent')
@DocsEditable()
@Experimental() // untriaged
- double get actualBoundingBoxDescent => _blink.BlinkTextMetrics.instance.actualBoundingBoxDescent_Getter_(this);
-
+ double get actualBoundingBoxDescent => _blink.BlinkTextMetrics.instance.actualBoundingBoxDescent_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.actualBoundingBoxLeft')
@DocsEditable()
@Experimental() // untriaged
- double get actualBoundingBoxLeft => _blink.BlinkTextMetrics.instance.actualBoundingBoxLeft_Getter_(this);
-
+ double get actualBoundingBoxLeft => _blink.BlinkTextMetrics.instance.actualBoundingBoxLeft_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.actualBoundingBoxRight')
@DocsEditable()
@Experimental() // untriaged
- double get actualBoundingBoxRight => _blink.BlinkTextMetrics.instance.actualBoundingBoxRight_Getter_(this);
-
+ double get actualBoundingBoxRight => _blink.BlinkTextMetrics.instance.actualBoundingBoxRight_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.alphabeticBaseline')
@DocsEditable()
@Experimental() // untriaged
- double get alphabeticBaseline => _blink.BlinkTextMetrics.instance.alphabeticBaseline_Getter_(this);
-
+ double get alphabeticBaseline => _blink.BlinkTextMetrics.instance.alphabeticBaseline_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.emHeightAscent')
@DocsEditable()
@Experimental() // untriaged
- double get emHeightAscent => _blink.BlinkTextMetrics.instance.emHeightAscent_Getter_(this);
-
+ double get emHeightAscent => _blink.BlinkTextMetrics.instance.emHeightAscent_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.emHeightDescent')
@DocsEditable()
@Experimental() // untriaged
- double get emHeightDescent => _blink.BlinkTextMetrics.instance.emHeightDescent_Getter_(this);
-
+ double get emHeightDescent => _blink.BlinkTextMetrics.instance.emHeightDescent_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.fontBoundingBoxAscent')
@DocsEditable()
@Experimental() // untriaged
- double get fontBoundingBoxAscent => _blink.BlinkTextMetrics.instance.fontBoundingBoxAscent_Getter_(this);
-
+ double get fontBoundingBoxAscent => _blink.BlinkTextMetrics.instance.fontBoundingBoxAscent_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.fontBoundingBoxDescent')
@DocsEditable()
@Experimental() // untriaged
- double get fontBoundingBoxDescent => _blink.BlinkTextMetrics.instance.fontBoundingBoxDescent_Getter_(this);
-
+ double get fontBoundingBoxDescent => _blink.BlinkTextMetrics.instance.fontBoundingBoxDescent_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.hangingBaseline')
@DocsEditable()
@Experimental() // untriaged
- double get hangingBaseline => _blink.BlinkTextMetrics.instance.hangingBaseline_Getter_(this);
-
+ double get hangingBaseline => _blink.BlinkTextMetrics.instance.hangingBaseline_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.ideographicBaseline')
@DocsEditable()
@Experimental() // untriaged
- double get ideographicBaseline => _blink.BlinkTextMetrics.instance.ideographicBaseline_Getter_(this);
-
+ double get ideographicBaseline => _blink.BlinkTextMetrics.instance.ideographicBaseline_Getter_(unwrap_jso(this));
+
@DomName('TextMetrics.width')
@DocsEditable()
- double get width => _blink.BlinkTextMetrics.instance.width_Getter_(this);
-
+ double get width => _blink.BlinkTextMetrics.instance.width_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -30847,60 +30877,60 @@
@DomName('TextTrack.activeCues')
@DocsEditable()
- TextTrackCueList get activeCues => _blink.BlinkTextTrack.instance.activeCues_Getter_(this);
-
+ TextTrackCueList get activeCues => wrap_jso(_blink.BlinkTextTrack.instance.activeCues_Getter_(unwrap_jso(this)));
+
@DomName('TextTrack.cues')
@DocsEditable()
- TextTrackCueList get cues => _blink.BlinkTextTrack.instance.cues_Getter_(this);
-
+ TextTrackCueList get cues => wrap_jso(_blink.BlinkTextTrack.instance.cues_Getter_(unwrap_jso(this)));
+
@DomName('TextTrack.id')
@DocsEditable()
@Experimental() // untriaged
- String get id => _blink.BlinkTextTrack.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkTextTrack.instance.id_Getter_(unwrap_jso(this));
+
@DomName('TextTrack.kind')
@DocsEditable()
- String get kind => _blink.BlinkTextTrack.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkTextTrack.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('TextTrack.label')
@DocsEditable()
- String get label => _blink.BlinkTextTrack.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkTextTrack.instance.label_Getter_(unwrap_jso(this));
+
@DomName('TextTrack.language')
@DocsEditable()
- String get language => _blink.BlinkTextTrack.instance.language_Getter_(this);
-
+ String get language => _blink.BlinkTextTrack.instance.language_Getter_(unwrap_jso(this));
+
@DomName('TextTrack.mode')
@DocsEditable()
- String get mode => _blink.BlinkTextTrack.instance.mode_Getter_(this);
-
+ String get mode => _blink.BlinkTextTrack.instance.mode_Getter_(unwrap_jso(this));
+
@DomName('TextTrack.mode')
@DocsEditable()
- void set mode(String value) => _blink.BlinkTextTrack.instance.mode_Setter_(this, value);
-
+ void set mode(String value) => _blink.BlinkTextTrack.instance.mode_Setter_(unwrap_jso(this), value);
+
@DomName('TextTrack.regions')
@DocsEditable()
@Experimental() // untriaged
- VttRegionList get regions => _blink.BlinkTextTrack.instance.regions_Getter_(this);
-
+ VttRegionList get regions => wrap_jso(_blink.BlinkTextTrack.instance.regions_Getter_(unwrap_jso(this)));
+
@DomName('TextTrack.addCue')
@DocsEditable()
- void addCue(TextTrackCue cue) => _blink.BlinkTextTrack.instance.addCue_Callback_1_(this, cue);
-
+ void addCue(TextTrackCue cue) => _blink.BlinkTextTrack.instance.addCue_Callback_1_(unwrap_jso(this), unwrap_jso(cue));
+
@DomName('TextTrack.addRegion')
@DocsEditable()
@Experimental() // untriaged
- void addRegion(VttRegion region) => _blink.BlinkTextTrack.instance.addRegion_Callback_1_(this, region);
-
+ void addRegion(VttRegion region) => _blink.BlinkTextTrack.instance.addRegion_Callback_1_(unwrap_jso(this), unwrap_jso(region));
+
@DomName('TextTrack.removeCue')
@DocsEditable()
- void removeCue(TextTrackCue cue) => _blink.BlinkTextTrack.instance.removeCue_Callback_1_(this, cue);
-
+ void removeCue(TextTrackCue cue) => _blink.BlinkTextTrack.instance.removeCue_Callback_1_(unwrap_jso(this), unwrap_jso(cue));
+
@DomName('TextTrack.removeRegion')
@DocsEditable()
@Experimental() // untriaged
- void removeRegion(VttRegion region) => _blink.BlinkTextTrack.instance.removeRegion_Callback_1_(this, region);
-
+ void removeRegion(VttRegion region) => _blink.BlinkTextTrack.instance.removeRegion_Callback_1_(unwrap_jso(this), unwrap_jso(region));
+
/// Stream of `cuechange` events handled by this [TextTrack].
@DomName('TextTrack.oncuechange')
@DocsEditable()
@@ -30944,40 +30974,40 @@
@DomName('TextTrackCue.endTime')
@DocsEditable()
- num get endTime => _blink.BlinkTextTrackCue.instance.endTime_Getter_(this);
-
+ num get endTime => _blink.BlinkTextTrackCue.instance.endTime_Getter_(unwrap_jso(this));
+
@DomName('TextTrackCue.endTime')
@DocsEditable()
- void set endTime(num value) => _blink.BlinkTextTrackCue.instance.endTime_Setter_(this, value);
-
+ void set endTime(num value) => _blink.BlinkTextTrackCue.instance.endTime_Setter_(unwrap_jso(this), value);
+
@DomName('TextTrackCue.id')
@DocsEditable()
- String get id => _blink.BlinkTextTrackCue.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkTextTrackCue.instance.id_Getter_(unwrap_jso(this));
+
@DomName('TextTrackCue.id')
@DocsEditable()
- void set id(String value) => _blink.BlinkTextTrackCue.instance.id_Setter_(this, value);
-
+ void set id(String value) => _blink.BlinkTextTrackCue.instance.id_Setter_(unwrap_jso(this), value);
+
@DomName('TextTrackCue.pauseOnExit')
@DocsEditable()
- bool get pauseOnExit => _blink.BlinkTextTrackCue.instance.pauseOnExit_Getter_(this);
-
+ bool get pauseOnExit => _blink.BlinkTextTrackCue.instance.pauseOnExit_Getter_(unwrap_jso(this));
+
@DomName('TextTrackCue.pauseOnExit')
@DocsEditable()
- void set pauseOnExit(bool value) => _blink.BlinkTextTrackCue.instance.pauseOnExit_Setter_(this, value);
-
+ void set pauseOnExit(bool value) => _blink.BlinkTextTrackCue.instance.pauseOnExit_Setter_(unwrap_jso(this), value);
+
@DomName('TextTrackCue.startTime')
@DocsEditable()
- num get startTime => _blink.BlinkTextTrackCue.instance.startTime_Getter_(this);
-
+ num get startTime => _blink.BlinkTextTrackCue.instance.startTime_Getter_(unwrap_jso(this));
+
@DomName('TextTrackCue.startTime')
@DocsEditable()
- void set startTime(num value) => _blink.BlinkTextTrackCue.instance.startTime_Setter_(this, value);
-
+ void set startTime(num value) => _blink.BlinkTextTrackCue.instance.startTime_Setter_(unwrap_jso(this), value);
+
@DomName('TextTrackCue.track')
@DocsEditable()
- TextTrack get track => _blink.BlinkTextTrackCue.instance.track_Getter_(this);
-
+ TextTrack get track => wrap_jso(_blink.BlinkTextTrackCue.instance.track_Getter_(unwrap_jso(this)));
+
/// Stream of `enter` events handled by this [TextTrackCue].
@DomName('TextTrackCue.onenter')
@DocsEditable()
@@ -31006,16 +31036,16 @@
@DomName('TextTrackCueList.length')
@DocsEditable()
- int get length => _blink.BlinkTextTrackCueList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkTextTrackCueList.instance.length_Getter_(unwrap_jso(this));
+
TextTrackCue operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkTextTrackCueList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkTextTrackCueList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- TextTrackCue _nativeIndexedGetter(int index) => _blink.BlinkTextTrackCueList.instance.item_Callback_1_(this, index);
-
+ TextTrackCue _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkTextTrackCueList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, TextTrackCue value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -31056,12 +31086,12 @@
@DomName('TextTrackCueList.getCueById')
@DocsEditable()
- TextTrackCue getCueById(String id) => _blink.BlinkTextTrackCueList.instance.getCueById_Callback_1_(this, id);
-
+ TextTrackCue getCueById(String id) => wrap_jso(_blink.BlinkTextTrackCueList.instance.getCueById_Callback_1_(unwrap_jso(this), id));
+
@DomName('TextTrackCueList.item')
@DocsEditable()
- TextTrackCue item(int index) => _blink.BlinkTextTrackCueList.instance.item_Callback_1_(this, index);
-
+ TextTrackCue item(int index) => wrap_jso(_blink.BlinkTextTrackCueList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31095,16 +31125,16 @@
@DomName('TextTrackList.length')
@DocsEditable()
- int get length => _blink.BlinkTextTrackList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkTextTrackList.instance.length_Getter_(unwrap_jso(this));
+
TextTrack operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkTextTrackList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkTextTrackList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- TextTrack _nativeIndexedGetter(int index) => _blink.BlinkTextTrackList.instance.item_Callback_1_(this, index);
-
+ TextTrack _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkTextTrackList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, TextTrack value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -31146,12 +31176,12 @@
@DomName('TextTrackList.getTrackById')
@DocsEditable()
@Experimental() // untriaged
- TextTrack getTrackById(String id) => _blink.BlinkTextTrackList.instance.getTrackById_Callback_1_(this, id);
-
+ TextTrack getTrackById(String id) => wrap_jso(_blink.BlinkTextTrackList.instance.getTrackById_Callback_1_(unwrap_jso(this), id));
+
@DomName('TextTrackList.item')
@DocsEditable()
- TextTrack item(int index) => _blink.BlinkTextTrackList.instance.item_Callback_1_(this, index);
-
+ TextTrack item(int index) => wrap_jso(_blink.BlinkTextTrackList.instance.item_Callback_1_(unwrap_jso(this), index));
+
/// Stream of `addtrack` events handled by this [TextTrackList].
@DomName('TextTrackList.onaddtrack')
@DocsEditable()
@@ -31179,16 +31209,16 @@
@DomName('TimeRanges.length')
@DocsEditable()
- int get length => _blink.BlinkTimeRanges.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkTimeRanges.instance.length_Getter_(unwrap_jso(this));
+
@DomName('TimeRanges.end')
@DocsEditable()
- double end(int index) => _blink.BlinkTimeRanges.instance.end_Callback_1_(this, index);
-
+ double end(int index) => _blink.BlinkTimeRanges.instance.end_Callback_1_(unwrap_jso(this), index);
+
@DomName('TimeRanges.start')
@DocsEditable()
- double start(int index) => _blink.BlinkTimeRanges.instance.start_Callback_1_(this, index);
-
+ double start(int index) => _blink.BlinkTimeRanges.instance.start_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31216,93 +31246,93 @@
@DomName('Timing.delay')
@DocsEditable()
@Experimental() // untriaged
- num get delay => _blink.BlinkTiming.instance.delay_Getter_(this);
-
+ num get delay => _blink.BlinkTiming.instance.delay_Getter_(unwrap_jso(this));
+
@DomName('Timing.delay')
@DocsEditable()
@Experimental() // untriaged
- void set delay(num value) => _blink.BlinkTiming.instance.delay_Setter_(this, value);
-
+ void set delay(num value) => _blink.BlinkTiming.instance.delay_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.direction')
@DocsEditable()
@Experimental() // untriaged
- String get direction => _blink.BlinkTiming.instance.direction_Getter_(this);
-
+ String get direction => _blink.BlinkTiming.instance.direction_Getter_(unwrap_jso(this));
+
@DomName('Timing.direction')
@DocsEditable()
@Experimental() // untriaged
- void set direction(String value) => _blink.BlinkTiming.instance.direction_Setter_(this, value);
-
+ void set direction(String value) => _blink.BlinkTiming.instance.direction_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.easing')
@DocsEditable()
@Experimental() // untriaged
- String get easing => _blink.BlinkTiming.instance.easing_Getter_(this);
-
+ String get easing => _blink.BlinkTiming.instance.easing_Getter_(unwrap_jso(this));
+
@DomName('Timing.easing')
@DocsEditable()
@Experimental() // untriaged
- void set easing(String value) => _blink.BlinkTiming.instance.easing_Setter_(this, value);
-
+ void set easing(String value) => _blink.BlinkTiming.instance.easing_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.endDelay')
@DocsEditable()
@Experimental() // untriaged
- num get endDelay => _blink.BlinkTiming.instance.endDelay_Getter_(this);
-
+ num get endDelay => _blink.BlinkTiming.instance.endDelay_Getter_(unwrap_jso(this));
+
@DomName('Timing.endDelay')
@DocsEditable()
@Experimental() // untriaged
- void set endDelay(num value) => _blink.BlinkTiming.instance.endDelay_Setter_(this, value);
-
+ void set endDelay(num value) => _blink.BlinkTiming.instance.endDelay_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.fill')
@DocsEditable()
@Experimental() // untriaged
- String get fill => _blink.BlinkTiming.instance.fill_Getter_(this);
-
+ String get fill => _blink.BlinkTiming.instance.fill_Getter_(unwrap_jso(this));
+
@DomName('Timing.fill')
@DocsEditable()
@Experimental() // untriaged
- void set fill(String value) => _blink.BlinkTiming.instance.fill_Setter_(this, value);
-
+ void set fill(String value) => _blink.BlinkTiming.instance.fill_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.iterationStart')
@DocsEditable()
@Experimental() // untriaged
- num get iterationStart => _blink.BlinkTiming.instance.iterationStart_Getter_(this);
-
+ num get iterationStart => _blink.BlinkTiming.instance.iterationStart_Getter_(unwrap_jso(this));
+
@DomName('Timing.iterationStart')
@DocsEditable()
@Experimental() // untriaged
- void set iterationStart(num value) => _blink.BlinkTiming.instance.iterationStart_Setter_(this, value);
-
+ void set iterationStart(num value) => _blink.BlinkTiming.instance.iterationStart_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.iterations')
@DocsEditable()
@Experimental() // untriaged
- num get iterations => _blink.BlinkTiming.instance.iterations_Getter_(this);
-
+ num get iterations => _blink.BlinkTiming.instance.iterations_Getter_(unwrap_jso(this));
+
@DomName('Timing.iterations')
@DocsEditable()
@Experimental() // untriaged
- void set iterations(num value) => _blink.BlinkTiming.instance.iterations_Setter_(this, value);
-
+ void set iterations(num value) => _blink.BlinkTiming.instance.iterations_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.playbackRate')
@DocsEditable()
@Experimental() // untriaged
- num get playbackRate => _blink.BlinkTiming.instance.playbackRate_Getter_(this);
-
+ num get playbackRate => _blink.BlinkTiming.instance.playbackRate_Getter_(unwrap_jso(this));
+
@DomName('Timing.playbackRate')
@DocsEditable()
@Experimental() // untriaged
- void set playbackRate(num value) => _blink.BlinkTiming.instance.playbackRate_Setter_(this, value);
-
+ void set playbackRate(num value) => _blink.BlinkTiming.instance.playbackRate_Setter_(unwrap_jso(this), value);
+
@DomName('Timing.__getter__')
@DocsEditable()
@Experimental() // untriaged
- Object __getter__(String name) => _blink.BlinkTiming.instance.$__getter___Callback_1_(this, name);
-
+ Object __getter__(String name) => wrap_jso(_blink.BlinkTiming.instance.$__getter___Callback_1_(unwrap_jso(this), name));
+
@DomName('Timing.__setter__')
@DocsEditable()
@Experimental() // untriaged
- void __setter__(String name, num duration) => _blink.BlinkTiming.instance.$__setter___Callback_2_(this, name, duration);
-
+ void __setter__(String name, num duration) => _blink.BlinkTiming.instance.$__setter___Callback_2_(unwrap_jso(this), name, duration);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31343,69 +31373,69 @@
@DomName('Touch.clientX')
@DocsEditable()
- double get _clientX => _blink.BlinkTouch.instance.clientX_Getter_(this);
-
+ double get _clientX => _blink.BlinkTouch.instance.clientX_Getter_(unwrap_jso(this));
+
@DomName('Touch.clientY')
@DocsEditable()
- double get _clientY => _blink.BlinkTouch.instance.clientY_Getter_(this);
-
+ double get _clientY => _blink.BlinkTouch.instance.clientY_Getter_(unwrap_jso(this));
+
@DomName('Touch.force')
@DocsEditable()
@Experimental() // untriaged
- double get force => _blink.BlinkTouch.instance.force_Getter_(this);
-
+ double get force => _blink.BlinkTouch.instance.force_Getter_(unwrap_jso(this));
+
@DomName('Touch.identifier')
@DocsEditable()
- int get identifier => _blink.BlinkTouch.instance.identifier_Getter_(this);
-
+ int get identifier => _blink.BlinkTouch.instance.identifier_Getter_(unwrap_jso(this));
+
@DomName('Touch.pageX')
@DocsEditable()
- double get _pageX => _blink.BlinkTouch.instance.pageX_Getter_(this);
-
+ double get _pageX => _blink.BlinkTouch.instance.pageX_Getter_(unwrap_jso(this));
+
@DomName('Touch.pageY')
@DocsEditable()
- double get _pageY => _blink.BlinkTouch.instance.pageY_Getter_(this);
-
+ double get _pageY => _blink.BlinkTouch.instance.pageY_Getter_(unwrap_jso(this));
+
@DomName('Touch.radiusX')
@DocsEditable()
@Experimental() // untriaged
- double get _radiusX => _blink.BlinkTouch.instance.radiusX_Getter_(this);
-
+ double get _radiusX => _blink.BlinkTouch.instance.radiusX_Getter_(unwrap_jso(this));
+
@DomName('Touch.radiusY')
@DocsEditable()
@Experimental() // untriaged
- double get _radiusY => _blink.BlinkTouch.instance.radiusY_Getter_(this);
-
+ double get _radiusY => _blink.BlinkTouch.instance.radiusY_Getter_(unwrap_jso(this));
+
@DomName('Touch.screenX')
@DocsEditable()
- double get _screenX => _blink.BlinkTouch.instance.screenX_Getter_(this);
-
+ double get _screenX => _blink.BlinkTouch.instance.screenX_Getter_(unwrap_jso(this));
+
@DomName('Touch.screenY')
@DocsEditable()
- double get _screenY => _blink.BlinkTouch.instance.screenY_Getter_(this);
-
+ double get _screenY => _blink.BlinkTouch.instance.screenY_Getter_(unwrap_jso(this));
+
@DomName('Touch.target')
@DocsEditable()
- EventTarget get target => _blink.BlinkTouch.instance.target_Getter_(this);
-
+ EventTarget get target => wrap_jso(_blink.BlinkTouch.instance.target_Getter_(unwrap_jso(this)));
+
@DomName('Touch.webkitRotationAngle')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
- double get rotationAngle => _blink.BlinkTouch.instance.webkitRotationAngle_Getter_(this);
-
+ double get rotationAngle => _blink.BlinkTouch.instance.webkitRotationAngle_Getter_(unwrap_jso(this));
+
// As of Chrome 37, these all changed from long to double. This code
// preserves backwards compatability for the time being.
- int get __clientX => _blink.BlinkTouch.clientX_Getter(this).round();
- int get __clientY => _blink.BlinkTouch.clientY_Getter(this).round();
- int get __screenX => _blink.BlinkTouch.screenX_Getter(this).round();
- int get __screenY => _blink.BlinkTouch.screenY_Getter(this).round();
- int get __pageX => _blink.BlinkTouch.pageX_Getter(this).round();
- int get __pageY => _blink.BlinkTouch.pageY_Getter(this).round();
- int get __radiusX => _blink.BlinkTouch.radiusX_Getter(this).round();
- int get __radiusY => _blink.BlinkTouch.radiusY_Getter(this).round();
+ int get __clientX => _blink.BlinkTouch.clientX_Getter(unwrap_jso(this)).round();
+ int get __clientY => _blink.BlinkTouch.clientY_Getter(unwrap_jso(this)).round();
+ int get __screenX => _blink.BlinkTouch.screenX_Getter(unwrap_jso(this)).round();
+ int get __screenY => _blink.BlinkTouch.screenY_Getter(unwrap_jso(this)).round();
+ int get __pageX => _blink.BlinkTouch.pageX_Getter(unwrap_jso(this)).round();
+ int get __pageY => _blink.BlinkTouch.pageY_Getter(unwrap_jso(this)).round();
+ int get __radiusX => _blink.BlinkTouch.radiusX_Getter(unwrap_jso(this)).round();
+ int get __radiusY => _blink.BlinkTouch.radiusY_Getter(unwrap_jso(this)).round();
@DomName('Touch.clientX')
@DomName('Touch.clientY')
@@ -31463,36 +31493,36 @@
@DomName('TouchEvent.altKey')
@DocsEditable()
- bool get altKey => _blink.BlinkTouchEvent.instance.altKey_Getter_(this);
-
+ bool get altKey => _blink.BlinkTouchEvent.instance.altKey_Getter_(unwrap_jso(this));
+
@DomName('TouchEvent.changedTouches')
@DocsEditable()
- TouchList get changedTouches => _blink.BlinkTouchEvent.instance.changedTouches_Getter_(this);
-
+ TouchList get changedTouches => wrap_jso(_blink.BlinkTouchEvent.instance.changedTouches_Getter_(unwrap_jso(this)));
+
@DomName('TouchEvent.ctrlKey')
@DocsEditable()
- bool get ctrlKey => _blink.BlinkTouchEvent.instance.ctrlKey_Getter_(this);
-
+ bool get ctrlKey => _blink.BlinkTouchEvent.instance.ctrlKey_Getter_(unwrap_jso(this));
+
@DomName('TouchEvent.metaKey')
@DocsEditable()
- bool get metaKey => _blink.BlinkTouchEvent.instance.metaKey_Getter_(this);
-
+ bool get metaKey => _blink.BlinkTouchEvent.instance.metaKey_Getter_(unwrap_jso(this));
+
@DomName('TouchEvent.shiftKey')
@DocsEditable()
- bool get shiftKey => _blink.BlinkTouchEvent.instance.shiftKey_Getter_(this);
-
+ bool get shiftKey => _blink.BlinkTouchEvent.instance.shiftKey_Getter_(unwrap_jso(this));
+
@DomName('TouchEvent.targetTouches')
@DocsEditable()
- TouchList get targetTouches => _blink.BlinkTouchEvent.instance.targetTouches_Getter_(this);
-
+ TouchList get targetTouches => wrap_jso(_blink.BlinkTouchEvent.instance.targetTouches_Getter_(unwrap_jso(this)));
+
@DomName('TouchEvent.touches')
@DocsEditable()
- TouchList get touches => _blink.BlinkTouchEvent.instance.touches_Getter_(this);
-
+ TouchList get touches => wrap_jso(_blink.BlinkTouchEvent.instance.touches_Getter_(unwrap_jso(this)));
+
@DomName('TouchEvent.initTouchEvent')
@DocsEditable()
- void _initTouchEvent(TouchList touches, TouchList targetTouches, TouchList changedTouches, String type, Window view, int unused1, int unused2, int unused3, int unused4, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) => _blink.BlinkTouchEvent.instance.initTouchEvent_Callback_13_(this, touches, targetTouches, changedTouches, type, view, unused1, unused2, unused3, unused4, ctrlKey, altKey, shiftKey, metaKey);
-
+ void _initTouchEvent(TouchList touches, TouchList targetTouches, TouchList changedTouches, String type, Window view, int unused1, int unused2, int unused3, int unused4, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey) => _blink.BlinkTouchEvent.instance.initTouchEvent_Callback_13_(unwrap_jso(this), unwrap_jso(touches), unwrap_jso(targetTouches), unwrap_jso(changedTouches), type, unwrap_jso(view), unused1, unused2, unused3, unused4, ctrlKey, altKey, shiftKey, metaKey);
+
/**
* Checks if touch events supported on the current platform.
@@ -31526,16 +31556,16 @@
@DomName('TouchList.length')
@DocsEditable()
- int get length => _blink.BlinkTouchList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkTouchList.instance.length_Getter_(unwrap_jso(this));
+
Touch operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkTouchList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkTouchList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- Touch _nativeIndexedGetter(int index) => _blink.BlinkTouchList.instance.item_Callback_1_(this, index);
-
+ Touch _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkTouchList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, Touch value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -31576,8 +31606,8 @@
@DomName('TouchList.item')
@DocsEditable()
- Touch item(int index) => _blink.BlinkTouchList.instance.item_Callback_1_(this, index);
-
+ Touch item(int index) => wrap_jso(_blink.BlinkTouchList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31628,62 +31658,62 @@
@DomName('HTMLTrackElement.default')
@DocsEditable()
- bool get defaultValue => _blink.BlinkHTMLTrackElement.instance.default_Getter_(this);
-
+ bool get defaultValue => _blink.BlinkHTMLTrackElement.instance.default_Getter_(unwrap_jso(this));
+
@DomName('HTMLTrackElement.default')
@DocsEditable()
- void set defaultValue(bool value) => _blink.BlinkHTMLTrackElement.instance.default_Setter_(this, value);
-
+ void set defaultValue(bool value) => _blink.BlinkHTMLTrackElement.instance.default_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTrackElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- String get integrity => _blink.BlinkHTMLTrackElement.instance.integrity_Getter_(this);
-
+ String get integrity => _blink.BlinkHTMLTrackElement.instance.integrity_Getter_(unwrap_jso(this));
+
@DomName('HTMLTrackElement.integrity')
@DocsEditable()
@Experimental() // untriaged
- void set integrity(String value) => _blink.BlinkHTMLTrackElement.instance.integrity_Setter_(this, value);
-
+ void set integrity(String value) => _blink.BlinkHTMLTrackElement.instance.integrity_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTrackElement.kind')
@DocsEditable()
- String get kind => _blink.BlinkHTMLTrackElement.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkHTMLTrackElement.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('HTMLTrackElement.kind')
@DocsEditable()
- void set kind(String value) => _blink.BlinkHTMLTrackElement.instance.kind_Setter_(this, value);
-
+ void set kind(String value) => _blink.BlinkHTMLTrackElement.instance.kind_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTrackElement.label')
@DocsEditable()
- String get label => _blink.BlinkHTMLTrackElement.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkHTMLTrackElement.instance.label_Getter_(unwrap_jso(this));
+
@DomName('HTMLTrackElement.label')
@DocsEditable()
- void set label(String value) => _blink.BlinkHTMLTrackElement.instance.label_Setter_(this, value);
-
+ void set label(String value) => _blink.BlinkHTMLTrackElement.instance.label_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTrackElement.readyState')
@DocsEditable()
- int get readyState => _blink.BlinkHTMLTrackElement.instance.readyState_Getter_(this);
-
+ int get readyState => _blink.BlinkHTMLTrackElement.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('HTMLTrackElement.src')
@DocsEditable()
- String get src => _blink.BlinkHTMLTrackElement.instance.src_Getter_(this);
-
+ String get src => _blink.BlinkHTMLTrackElement.instance.src_Getter_(unwrap_jso(this));
+
@DomName('HTMLTrackElement.src')
@DocsEditable()
- void set src(String value) => _blink.BlinkHTMLTrackElement.instance.src_Setter_(this, value);
-
+ void set src(String value) => _blink.BlinkHTMLTrackElement.instance.src_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTrackElement.srclang')
@DocsEditable()
- String get srclang => _blink.BlinkHTMLTrackElement.instance.srclang_Getter_(this);
-
+ String get srclang => _blink.BlinkHTMLTrackElement.instance.srclang_Getter_(unwrap_jso(this));
+
@DomName('HTMLTrackElement.srclang')
@DocsEditable()
- void set srclang(String value) => _blink.BlinkHTMLTrackElement.instance.srclang_Setter_(this, value);
-
+ void set srclang(String value) => _blink.BlinkHTMLTrackElement.instance.srclang_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLTrackElement.track')
@DocsEditable()
- TextTrack get track => _blink.BlinkHTMLTrackElement.instance.track_Getter_(this);
-
+ TextTrack get track => wrap_jso(_blink.BlinkHTMLTrackElement.instance.track_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31701,8 +31731,8 @@
@DomName('TrackEvent.track')
@DocsEditable()
- Object get track => _blink.BlinkTrackEvent.instance.track_Getter_(this);
-
+ Object get track => _blink.BlinkTrackEvent.instance.track_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31719,16 +31749,16 @@
@DomName('TransitionEvent.elapsedTime')
@DocsEditable()
- double get elapsedTime => _blink.BlinkTransitionEvent.instance.elapsedTime_Getter_(this);
-
+ double get elapsedTime => _blink.BlinkTransitionEvent.instance.elapsedTime_Getter_(unwrap_jso(this));
+
@DomName('TransitionEvent.propertyName')
@DocsEditable()
- String get propertyName => _blink.BlinkTransitionEvent.instance.propertyName_Getter_(this);
-
+ String get propertyName => _blink.BlinkTransitionEvent.instance.propertyName_Getter_(unwrap_jso(this));
+
@DomName('TransitionEvent.pseudoElement')
@DocsEditable()
- String get pseudoElement => _blink.BlinkTransitionEvent.instance.pseudoElement_Getter_(this);
-
+ String get pseudoElement => _blink.BlinkTransitionEvent.instance.pseudoElement_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31746,52 +31776,52 @@
@DomName('TreeWalker.currentNode')
@DocsEditable()
- Node get currentNode => _blink.BlinkTreeWalker.instance.currentNode_Getter_(this);
-
+ Node get currentNode => wrap_jso(_blink.BlinkTreeWalker.instance.currentNode_Getter_(unwrap_jso(this)));
+
@DomName('TreeWalker.currentNode')
@DocsEditable()
- void set currentNode(Node value) => _blink.BlinkTreeWalker.instance.currentNode_Setter_(this, value);
-
+ void set currentNode(Node value) => _blink.BlinkTreeWalker.instance.currentNode_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('TreeWalker.filter')
@DocsEditable()
- NodeFilter get filter => _blink.BlinkTreeWalker.instance.filter_Getter_(this);
-
+ NodeFilter get filter => wrap_jso(_blink.BlinkTreeWalker.instance.filter_Getter_(unwrap_jso(this)));
+
@DomName('TreeWalker.root')
@DocsEditable()
- Node get root => _blink.BlinkTreeWalker.instance.root_Getter_(this);
-
+ Node get root => wrap_jso(_blink.BlinkTreeWalker.instance.root_Getter_(unwrap_jso(this)));
+
@DomName('TreeWalker.whatToShow')
@DocsEditable()
- int get whatToShow => _blink.BlinkTreeWalker.instance.whatToShow_Getter_(this);
-
+ int get whatToShow => _blink.BlinkTreeWalker.instance.whatToShow_Getter_(unwrap_jso(this));
+
@DomName('TreeWalker.firstChild')
@DocsEditable()
- Node firstChild() => _blink.BlinkTreeWalker.instance.firstChild_Callback_0_(this);
-
+ Node firstChild() => wrap_jso(_blink.BlinkTreeWalker.instance.firstChild_Callback_0_(unwrap_jso(this)));
+
@DomName('TreeWalker.lastChild')
@DocsEditable()
- Node lastChild() => _blink.BlinkTreeWalker.instance.lastChild_Callback_0_(this);
-
+ Node lastChild() => wrap_jso(_blink.BlinkTreeWalker.instance.lastChild_Callback_0_(unwrap_jso(this)));
+
@DomName('TreeWalker.nextNode')
@DocsEditable()
- Node nextNode() => _blink.BlinkTreeWalker.instance.nextNode_Callback_0_(this);
-
+ Node nextNode() => wrap_jso(_blink.BlinkTreeWalker.instance.nextNode_Callback_0_(unwrap_jso(this)));
+
@DomName('TreeWalker.nextSibling')
@DocsEditable()
- Node nextSibling() => _blink.BlinkTreeWalker.instance.nextSibling_Callback_0_(this);
-
+ Node nextSibling() => wrap_jso(_blink.BlinkTreeWalker.instance.nextSibling_Callback_0_(unwrap_jso(this)));
+
@DomName('TreeWalker.parentNode')
@DocsEditable()
- Node parentNode() => _blink.BlinkTreeWalker.instance.parentNode_Callback_0_(this);
-
+ Node parentNode() => wrap_jso(_blink.BlinkTreeWalker.instance.parentNode_Callback_0_(unwrap_jso(this)));
+
@DomName('TreeWalker.previousNode')
@DocsEditable()
- Node previousNode() => _blink.BlinkTreeWalker.instance.previousNode_Callback_0_(this);
-
+ Node previousNode() => wrap_jso(_blink.BlinkTreeWalker.instance.previousNode_Callback_0_(unwrap_jso(this)));
+
@DomName('TreeWalker.previousSibling')
@DocsEditable()
- Node previousSibling() => _blink.BlinkTreeWalker.instance.previousSibling_Callback_0_(this);
-
+ Node previousSibling() => wrap_jso(_blink.BlinkTreeWalker.instance.previousSibling_Callback_0_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -31824,54 +31854,54 @@
@DomName('UIEvent.charCode')
@DocsEditable()
@Unstable()
- int get _charCode => _blink.BlinkUIEvent.instance.charCode_Getter_(this);
-
+ int get _charCode => _blink.BlinkUIEvent.instance.charCode_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.detail')
@DocsEditable()
- int get detail => _blink.BlinkUIEvent.instance.detail_Getter_(this);
-
+ int get detail => _blink.BlinkUIEvent.instance.detail_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.keyCode')
@DocsEditable()
@Unstable()
- int get _keyCode => _blink.BlinkUIEvent.instance.keyCode_Getter_(this);
-
+ int get _keyCode => _blink.BlinkUIEvent.instance.keyCode_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.layerX')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
- int get _layerX => _blink.BlinkUIEvent.instance.layerX_Getter_(this);
-
+ int get _layerX => _blink.BlinkUIEvent.instance.layerX_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.layerY')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
- int get _layerY => _blink.BlinkUIEvent.instance.layerY_Getter_(this);
-
+ int get _layerY => _blink.BlinkUIEvent.instance.layerY_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.pageX')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
- int get _pageX => _blink.BlinkUIEvent.instance.pageX_Getter_(this);
-
+ int get _pageX => _blink.BlinkUIEvent.instance.pageX_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.pageY')
@DocsEditable()
// http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-mouseevents
@Experimental() // nonstandard
- int get _pageY => _blink.BlinkUIEvent.instance.pageY_Getter_(this);
-
+ int get _pageY => _blink.BlinkUIEvent.instance.pageY_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.view')
@DocsEditable()
- WindowBase get view => _blink.BlinkUIEvent.instance.view_Getter_(this);
-
+ WindowBase get view => wrap_jso(_blink.BlinkUIEvent.instance.view_Getter_(unwrap_jso(this)));
+
@DomName('UIEvent.which')
@DocsEditable()
@Unstable()
- int get which => _blink.BlinkUIEvent.instance.which_Getter_(this);
-
+ int get which => _blink.BlinkUIEvent.instance.which_Getter_(unwrap_jso(this));
+
@DomName('UIEvent.initUIEvent')
@DocsEditable()
- void _initUIEvent(String type, bool canBubble, bool cancelable, Window view, int detail) => _blink.BlinkUIEvent.instance.initUIEvent_Callback_5_(this, type, canBubble, cancelable, view, detail);
-
+ void _initUIEvent(String type, bool canBubble, bool cancelable, Window view, int detail) => _blink.BlinkUIEvent.instance.initUIEvent_Callback_5_(unwrap_jso(this), type, canBubble, cancelable, unwrap_jso(view), detail);
+
@DomName('UIEvent.layerX')
@DomName('UIEvent.layerY')
@@ -31940,143 +31970,143 @@
static String createObjectUrl(blob_OR_source_OR_stream) {
if ((blob_OR_source_OR_stream is Blob || blob_OR_source_OR_stream == null)) {
- return _blink.BlinkURL.instance.createObjectURL_Callback_1_(blob_OR_source_OR_stream);
+ return _blink.BlinkURL.instance.createObjectURL_Callback_1_(unwrap_jso(blob_OR_source_OR_stream));
}
if ((blob_OR_source_OR_stream is MediaSource)) {
- return _blink.BlinkURL.instance.createObjectURL_Callback_1_(blob_OR_source_OR_stream);
+ return _blink.BlinkURL.instance.createObjectURL_Callback_1_(unwrap_jso(blob_OR_source_OR_stream));
}
if ((blob_OR_source_OR_stream is MediaStream)) {
- return _blink.BlinkURL.instance.createObjectURL_Callback_1_(blob_OR_source_OR_stream);
+ return _blink.BlinkURL.instance.createObjectURL_Callback_1_(unwrap_jso(blob_OR_source_OR_stream));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@DomName('URL.createObjectUrlFromBlob')
@DocsEditable()
- static String createObjectUrlFromBlob(Blob blob) => _blink.BlinkURL.instance.createObjectURL_Callback_1_(blob);
-
+ static String createObjectUrlFromBlob(Blob blob) => _blink.BlinkURL.instance.createObjectURL_Callback_1_(unwrap_jso(blob));
+
@DomName('URL.createObjectUrlFromSource')
@DocsEditable()
- static String createObjectUrlFromSource(MediaSource source) => _blink.BlinkURL.instance.createObjectURL_Callback_1_(source);
-
+ static String createObjectUrlFromSource(MediaSource source) => _blink.BlinkURL.instance.createObjectURL_Callback_1_(unwrap_jso(source));
+
@DomName('URL.createObjectUrlFromStream')
@DocsEditable()
- static String createObjectUrlFromStream(MediaStream stream) => _blink.BlinkURL.instance.createObjectURL_Callback_1_(stream);
-
+ static String createObjectUrlFromStream(MediaStream stream) => _blink.BlinkURL.instance.createObjectURL_Callback_1_(unwrap_jso(stream));
+
@DomName('URL.revokeObjectURL')
@DocsEditable()
static void revokeObjectUrl(String url) => _blink.BlinkURL.instance.revokeObjectURL_Callback_1_(url);
-
+
@DomName('URL.hash')
@DocsEditable()
@Experimental() // untriaged
- String get hash => _blink.BlinkURL.instance.hash_Getter_(this);
-
+ String get hash => _blink.BlinkURL.instance.hash_Getter_(unwrap_jso(this));
+
@DomName('URL.hash')
@DocsEditable()
@Experimental() // untriaged
- void set hash(String value) => _blink.BlinkURL.instance.hash_Setter_(this, value);
-
+ void set hash(String value) => _blink.BlinkURL.instance.hash_Setter_(unwrap_jso(this), value);
+
@DomName('URL.host')
@DocsEditable()
@Experimental() // untriaged
- String get host => _blink.BlinkURL.instance.host_Getter_(this);
-
+ String get host => _blink.BlinkURL.instance.host_Getter_(unwrap_jso(this));
+
@DomName('URL.host')
@DocsEditable()
@Experimental() // untriaged
- void set host(String value) => _blink.BlinkURL.instance.host_Setter_(this, value);
-
+ void set host(String value) => _blink.BlinkURL.instance.host_Setter_(unwrap_jso(this), value);
+
@DomName('URL.hostname')
@DocsEditable()
@Experimental() // untriaged
- String get hostname => _blink.BlinkURL.instance.hostname_Getter_(this);
-
+ String get hostname => _blink.BlinkURL.instance.hostname_Getter_(unwrap_jso(this));
+
@DomName('URL.hostname')
@DocsEditable()
@Experimental() // untriaged
- void set hostname(String value) => _blink.BlinkURL.instance.hostname_Setter_(this, value);
-
+ void set hostname(String value) => _blink.BlinkURL.instance.hostname_Setter_(unwrap_jso(this), value);
+
@DomName('URL.href')
@DocsEditable()
@Experimental() // untriaged
- String get href => _blink.BlinkURL.instance.href_Getter_(this);
-
+ String get href => _blink.BlinkURL.instance.href_Getter_(unwrap_jso(this));
+
@DomName('URL.href')
@DocsEditable()
@Experimental() // untriaged
- void set href(String value) => _blink.BlinkURL.instance.href_Setter_(this, value);
-
+ void set href(String value) => _blink.BlinkURL.instance.href_Setter_(unwrap_jso(this), value);
+
@DomName('URL.origin')
@DocsEditable()
@Experimental() // untriaged
- String get origin => _blink.BlinkURL.instance.origin_Getter_(this);
-
+ String get origin => _blink.BlinkURL.instance.origin_Getter_(unwrap_jso(this));
+
@DomName('URL.password')
@DocsEditable()
@Experimental() // untriaged
- String get password => _blink.BlinkURL.instance.password_Getter_(this);
-
+ String get password => _blink.BlinkURL.instance.password_Getter_(unwrap_jso(this));
+
@DomName('URL.password')
@DocsEditable()
@Experimental() // untriaged
- void set password(String value) => _blink.BlinkURL.instance.password_Setter_(this, value);
-
+ void set password(String value) => _blink.BlinkURL.instance.password_Setter_(unwrap_jso(this), value);
+
@DomName('URL.pathname')
@DocsEditable()
@Experimental() // untriaged
- String get pathname => _blink.BlinkURL.instance.pathname_Getter_(this);
-
+ String get pathname => _blink.BlinkURL.instance.pathname_Getter_(unwrap_jso(this));
+
@DomName('URL.pathname')
@DocsEditable()
@Experimental() // untriaged
- void set pathname(String value) => _blink.BlinkURL.instance.pathname_Setter_(this, value);
-
+ void set pathname(String value) => _blink.BlinkURL.instance.pathname_Setter_(unwrap_jso(this), value);
+
@DomName('URL.port')
@DocsEditable()
@Experimental() // untriaged
- String get port => _blink.BlinkURL.instance.port_Getter_(this);
-
+ String get port => _blink.BlinkURL.instance.port_Getter_(unwrap_jso(this));
+
@DomName('URL.port')
@DocsEditable()
@Experimental() // untriaged
- void set port(String value) => _blink.BlinkURL.instance.port_Setter_(this, value);
-
+ void set port(String value) => _blink.BlinkURL.instance.port_Setter_(unwrap_jso(this), value);
+
@DomName('URL.protocol')
@DocsEditable()
@Experimental() // untriaged
- String get protocol => _blink.BlinkURL.instance.protocol_Getter_(this);
-
+ String get protocol => _blink.BlinkURL.instance.protocol_Getter_(unwrap_jso(this));
+
@DomName('URL.protocol')
@DocsEditable()
@Experimental() // untriaged
- void set protocol(String value) => _blink.BlinkURL.instance.protocol_Setter_(this, value);
-
+ void set protocol(String value) => _blink.BlinkURL.instance.protocol_Setter_(unwrap_jso(this), value);
+
@DomName('URL.search')
@DocsEditable()
@Experimental() // untriaged
- String get search => _blink.BlinkURL.instance.search_Getter_(this);
-
+ String get search => _blink.BlinkURL.instance.search_Getter_(unwrap_jso(this));
+
@DomName('URL.search')
@DocsEditable()
@Experimental() // untriaged
- void set search(String value) => _blink.BlinkURL.instance.search_Setter_(this, value);
-
+ void set search(String value) => _blink.BlinkURL.instance.search_Setter_(unwrap_jso(this), value);
+
@DomName('URL.username')
@DocsEditable()
@Experimental() // untriaged
- String get username => _blink.BlinkURL.instance.username_Getter_(this);
-
+ String get username => _blink.BlinkURL.instance.username_Getter_(unwrap_jso(this));
+
@DomName('URL.username')
@DocsEditable()
@Experimental() // untriaged
- void set username(String value) => _blink.BlinkURL.instance.username_Setter_(this, value);
-
+ void set username(String value) => _blink.BlinkURL.instance.username_Setter_(unwrap_jso(this), value);
+
@DomName('URL.toString')
@DocsEditable()
@Experimental() // untriaged
- String toString() => _blink.BlinkURL.instance.toString_Callback_0_(this);
-
+ String toString() => _blink.BlinkURL.instance.toString_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32283,44 +32313,44 @@
@DomName('ValidityState.badInput')
@DocsEditable()
- bool get badInput => _blink.BlinkValidityState.instance.badInput_Getter_(this);
-
+ bool get badInput => _blink.BlinkValidityState.instance.badInput_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.customError')
@DocsEditable()
- bool get customError => _blink.BlinkValidityState.instance.customError_Getter_(this);
-
+ bool get customError => _blink.BlinkValidityState.instance.customError_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.patternMismatch')
@DocsEditable()
- bool get patternMismatch => _blink.BlinkValidityState.instance.patternMismatch_Getter_(this);
-
+ bool get patternMismatch => _blink.BlinkValidityState.instance.patternMismatch_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.rangeOverflow')
@DocsEditable()
- bool get rangeOverflow => _blink.BlinkValidityState.instance.rangeOverflow_Getter_(this);
-
+ bool get rangeOverflow => _blink.BlinkValidityState.instance.rangeOverflow_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.rangeUnderflow')
@DocsEditable()
- bool get rangeUnderflow => _blink.BlinkValidityState.instance.rangeUnderflow_Getter_(this);
-
+ bool get rangeUnderflow => _blink.BlinkValidityState.instance.rangeUnderflow_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.stepMismatch')
@DocsEditable()
- bool get stepMismatch => _blink.BlinkValidityState.instance.stepMismatch_Getter_(this);
-
+ bool get stepMismatch => _blink.BlinkValidityState.instance.stepMismatch_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.tooLong')
@DocsEditable()
- bool get tooLong => _blink.BlinkValidityState.instance.tooLong_Getter_(this);
-
+ bool get tooLong => _blink.BlinkValidityState.instance.tooLong_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.typeMismatch')
@DocsEditable()
- bool get typeMismatch => _blink.BlinkValidityState.instance.typeMismatch_Getter_(this);
-
+ bool get typeMismatch => _blink.BlinkValidityState.instance.typeMismatch_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.valid')
@DocsEditable()
- bool get valid => _blink.BlinkValidityState.instance.valid_Getter_(this);
-
+ bool get valid => _blink.BlinkValidityState.instance.valid_Getter_(unwrap_jso(this));
+
@DomName('ValidityState.valueMissing')
@DocsEditable()
- bool get valueMissing => _blink.BlinkValidityState.instance.valueMissing_Getter_(this);
-
+ bool get valueMissing => _blink.BlinkValidityState.instance.valueMissing_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32344,71 +32374,71 @@
@DomName('HTMLVideoElement.height')
@DocsEditable()
- int get height => _blink.BlinkHTMLVideoElement.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkHTMLVideoElement.instance.height_Getter_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.height')
@DocsEditable()
- void set height(int value) => _blink.BlinkHTMLVideoElement.instance.height_Setter_(this, value);
-
+ void set height(int value) => _blink.BlinkHTMLVideoElement.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLVideoElement.poster')
@DocsEditable()
- String get poster => _blink.BlinkHTMLVideoElement.instance.poster_Getter_(this);
-
+ String get poster => _blink.BlinkHTMLVideoElement.instance.poster_Getter_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.poster')
@DocsEditable()
- void set poster(String value) => _blink.BlinkHTMLVideoElement.instance.poster_Setter_(this, value);
-
+ void set poster(String value) => _blink.BlinkHTMLVideoElement.instance.poster_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLVideoElement.videoHeight')
@DocsEditable()
- int get videoHeight => _blink.BlinkHTMLVideoElement.instance.videoHeight_Getter_(this);
-
+ int get videoHeight => _blink.BlinkHTMLVideoElement.instance.videoHeight_Getter_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.videoWidth')
@DocsEditable()
- int get videoWidth => _blink.BlinkHTMLVideoElement.instance.videoWidth_Getter_(this);
-
+ int get videoWidth => _blink.BlinkHTMLVideoElement.instance.videoWidth_Getter_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.webkitDecodedFrameCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
- int get decodedFrameCount => _blink.BlinkHTMLVideoElement.instance.webkitDecodedFrameCount_Getter_(this);
-
+ int get decodedFrameCount => _blink.BlinkHTMLVideoElement.instance.webkitDecodedFrameCount_Getter_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.webkitDroppedFrameCount')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
- int get droppedFrameCount => _blink.BlinkHTMLVideoElement.instance.webkitDroppedFrameCount_Getter_(this);
-
+ int get droppedFrameCount => _blink.BlinkHTMLVideoElement.instance.webkitDroppedFrameCount_Getter_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.width')
@DocsEditable()
- int get width => _blink.BlinkHTMLVideoElement.instance.width_Getter_(this);
-
+ int get width => _blink.BlinkHTMLVideoElement.instance.width_Getter_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.width')
@DocsEditable()
- void set width(int value) => _blink.BlinkHTMLVideoElement.instance.width_Setter_(this, value);
-
+ void set width(int value) => _blink.BlinkHTMLVideoElement.instance.width_Setter_(unwrap_jso(this), value);
+
@DomName('HTMLVideoElement.getVideoPlaybackQuality')
@DocsEditable()
@Experimental() // untriaged
- VideoPlaybackQuality getVideoPlaybackQuality() => _blink.BlinkHTMLVideoElement.instance.getVideoPlaybackQuality_Callback_0_(this);
-
+ VideoPlaybackQuality getVideoPlaybackQuality() => wrap_jso(_blink.BlinkHTMLVideoElement.instance.getVideoPlaybackQuality_Callback_0_(unwrap_jso(this)));
+
@DomName('HTMLVideoElement.webkitEnterFullscreen')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
- void enterFullscreen() => _blink.BlinkHTMLVideoElement.instance.webkitEnterFullscreen_Callback_0_(this);
-
+ void enterFullscreen() => _blink.BlinkHTMLVideoElement.instance.webkitEnterFullscreen_Callback_0_(unwrap_jso(this));
+
@DomName('HTMLVideoElement.webkitExitFullscreen')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
// https://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#dom-document-exitfullscreen
- void exitFullscreen() => _blink.BlinkHTMLVideoElement.instance.webkitExitFullscreen_Callback_0_(this);
-
+ void exitFullscreen() => _blink.BlinkHTMLVideoElement.instance.webkitExitFullscreen_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32427,23 +32457,23 @@
@DomName('VideoPlaybackQuality.corruptedVideoFrames')
@DocsEditable()
@Experimental() // untriaged
- int get corruptedVideoFrames => _blink.BlinkVideoPlaybackQuality.instance.corruptedVideoFrames_Getter_(this);
-
+ int get corruptedVideoFrames => _blink.BlinkVideoPlaybackQuality.instance.corruptedVideoFrames_Getter_(unwrap_jso(this));
+
@DomName('VideoPlaybackQuality.creationTime')
@DocsEditable()
@Experimental() // untriaged
- double get creationTime => _blink.BlinkVideoPlaybackQuality.instance.creationTime_Getter_(this);
-
+ double get creationTime => _blink.BlinkVideoPlaybackQuality.instance.creationTime_Getter_(unwrap_jso(this));
+
@DomName('VideoPlaybackQuality.droppedVideoFrames')
@DocsEditable()
@Experimental() // untriaged
- int get droppedVideoFrames => _blink.BlinkVideoPlaybackQuality.instance.droppedVideoFrames_Getter_(this);
-
+ int get droppedVideoFrames => _blink.BlinkVideoPlaybackQuality.instance.droppedVideoFrames_Getter_(unwrap_jso(this));
+
@DomName('VideoPlaybackQuality.totalVideoFrames')
@DocsEditable()
@Experimental() // untriaged
- int get totalVideoFrames => _blink.BlinkVideoPlaybackQuality.instance.totalVideoFrames_Getter_(this);
-
+ int get totalVideoFrames => _blink.BlinkVideoPlaybackQuality.instance.totalVideoFrames_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32462,33 +32492,33 @@
@DomName('VideoTrack.id')
@DocsEditable()
@Experimental() // untriaged
- String get id => _blink.BlinkVideoTrack.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkVideoTrack.instance.id_Getter_(unwrap_jso(this));
+
@DomName('VideoTrack.kind')
@DocsEditable()
@Experimental() // untriaged
- String get kind => _blink.BlinkVideoTrack.instance.kind_Getter_(this);
-
+ String get kind => _blink.BlinkVideoTrack.instance.kind_Getter_(unwrap_jso(this));
+
@DomName('VideoTrack.label')
@DocsEditable()
@Experimental() // untriaged
- String get label => _blink.BlinkVideoTrack.instance.label_Getter_(this);
-
+ String get label => _blink.BlinkVideoTrack.instance.label_Getter_(unwrap_jso(this));
+
@DomName('VideoTrack.language')
@DocsEditable()
@Experimental() // untriaged
- String get language => _blink.BlinkVideoTrack.instance.language_Getter_(this);
-
+ String get language => _blink.BlinkVideoTrack.instance.language_Getter_(unwrap_jso(this));
+
@DomName('VideoTrack.selected')
@DocsEditable()
@Experimental() // untriaged
- bool get selected => _blink.BlinkVideoTrack.instance.selected_Getter_(this);
-
+ bool get selected => _blink.BlinkVideoTrack.instance.selected_Getter_(unwrap_jso(this));
+
@DomName('VideoTrack.selected')
@DocsEditable()
@Experimental() // untriaged
- void set selected(bool value) => _blink.BlinkVideoTrack.instance.selected_Setter_(this, value);
-
+ void set selected(bool value) => _blink.BlinkVideoTrack.instance.selected_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32512,23 +32542,23 @@
@DomName('VideoTrackList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkVideoTrackList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkVideoTrackList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('VideoTrackList.selectedIndex')
@DocsEditable()
@Experimental() // untriaged
- int get selectedIndex => _blink.BlinkVideoTrackList.instance.selectedIndex_Getter_(this);
-
+ int get selectedIndex => _blink.BlinkVideoTrackList.instance.selectedIndex_Getter_(unwrap_jso(this));
+
@DomName('VideoTrackList.__getter__')
@DocsEditable()
@Experimental() // untriaged
- VideoTrack __getter__(int index) => _blink.BlinkVideoTrackList.instance.$__getter___Callback_1_(this, index);
-
+ VideoTrack __getter__(int index) => wrap_jso(_blink.BlinkVideoTrackList.instance.$__getter___Callback_1_(unwrap_jso(this), index));
+
@DomName('VideoTrackList.getTrackById')
@DocsEditable()
@Experimental() // untriaged
- VideoTrack getTrackById(String id) => _blink.BlinkVideoTrackList.instance.getTrackById_Callback_1_(this, id);
-
+ VideoTrack getTrackById(String id) => wrap_jso(_blink.BlinkVideoTrackList.instance.getTrackById_Callback_1_(unwrap_jso(this), id));
+
@DomName('VideoTrackList.onchange')
@DocsEditable()
@Experimental() // untriaged
@@ -32569,88 +32599,88 @@
@DomName('VTTCue.align')
@DocsEditable()
@Experimental() // untriaged
- String get align => _blink.BlinkVTTCue.instance.align_Getter_(this);
-
+ String get align => _blink.BlinkVTTCue.instance.align_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.align')
@DocsEditable()
@Experimental() // untriaged
- void set align(String value) => _blink.BlinkVTTCue.instance.align_Setter_(this, value);
-
+ void set align(String value) => _blink.BlinkVTTCue.instance.align_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.line')
@DocsEditable()
@Experimental() // untriaged
- int get line => _blink.BlinkVTTCue.instance.line_Getter_(this);
-
+ int get line => _blink.BlinkVTTCue.instance.line_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.line')
@DocsEditable()
@Experimental() // untriaged
- void set line(int value) => _blink.BlinkVTTCue.instance.line_Setter_(this, value);
-
+ void set line(int value) => _blink.BlinkVTTCue.instance.line_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.position')
@DocsEditable()
@Experimental() // untriaged
- int get position => _blink.BlinkVTTCue.instance.position_Getter_(this);
-
+ int get position => _blink.BlinkVTTCue.instance.position_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.position')
@DocsEditable()
@Experimental() // untriaged
- void set position(int value) => _blink.BlinkVTTCue.instance.position_Setter_(this, value);
-
+ void set position(int value) => _blink.BlinkVTTCue.instance.position_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.regionId')
@DocsEditable()
@Experimental() // untriaged
- String get regionId => _blink.BlinkVTTCue.instance.regionId_Getter_(this);
-
+ String get regionId => _blink.BlinkVTTCue.instance.regionId_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.regionId')
@DocsEditable()
@Experimental() // untriaged
- void set regionId(String value) => _blink.BlinkVTTCue.instance.regionId_Setter_(this, value);
-
+ void set regionId(String value) => _blink.BlinkVTTCue.instance.regionId_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.size')
@DocsEditable()
@Experimental() // untriaged
- int get size => _blink.BlinkVTTCue.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkVTTCue.instance.size_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.size')
@DocsEditable()
@Experimental() // untriaged
- void set size(int value) => _blink.BlinkVTTCue.instance.size_Setter_(this, value);
-
+ void set size(int value) => _blink.BlinkVTTCue.instance.size_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.snapToLines')
@DocsEditable()
@Experimental() // untriaged
- bool get snapToLines => _blink.BlinkVTTCue.instance.snapToLines_Getter_(this);
-
+ bool get snapToLines => _blink.BlinkVTTCue.instance.snapToLines_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.snapToLines')
@DocsEditable()
@Experimental() // untriaged
- void set snapToLines(bool value) => _blink.BlinkVTTCue.instance.snapToLines_Setter_(this, value);
-
+ void set snapToLines(bool value) => _blink.BlinkVTTCue.instance.snapToLines_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.text')
@DocsEditable()
@Experimental() // untriaged
- String get text => _blink.BlinkVTTCue.instance.text_Getter_(this);
-
+ String get text => _blink.BlinkVTTCue.instance.text_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.text')
@DocsEditable()
@Experimental() // untriaged
- void set text(String value) => _blink.BlinkVTTCue.instance.text_Setter_(this, value);
-
+ void set text(String value) => _blink.BlinkVTTCue.instance.text_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.vertical')
@DocsEditable()
@Experimental() // untriaged
- String get vertical => _blink.BlinkVTTCue.instance.vertical_Getter_(this);
-
+ String get vertical => _blink.BlinkVTTCue.instance.vertical_Getter_(unwrap_jso(this));
+
@DomName('VTTCue.vertical')
@DocsEditable()
@Experimental() // untriaged
- void set vertical(String value) => _blink.BlinkVTTCue.instance.vertical_Setter_(this, value);
-
+ void set vertical(String value) => _blink.BlinkVTTCue.instance.vertical_Setter_(unwrap_jso(this), value);
+
@DomName('VTTCue.getCueAsHTML')
@DocsEditable()
@Experimental() // untriaged
- DocumentFragment getCueAsHtml() => _blink.BlinkVTTCue.instance.getCueAsHTML_Callback_0_(this);
-
+ DocumentFragment getCueAsHtml() => wrap_jso(_blink.BlinkVTTCue.instance.getCueAsHTML_Callback_0_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32675,88 +32705,88 @@
@DomName('VTTRegion.height')
@DocsEditable()
@Experimental() // untriaged
- int get height => _blink.BlinkVTTRegion.instance.height_Getter_(this);
-
+ int get height => _blink.BlinkVTTRegion.instance.height_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.height')
@DocsEditable()
@Experimental() // untriaged
- void set height(int value) => _blink.BlinkVTTRegion.instance.height_Setter_(this, value);
-
+ void set height(int value) => _blink.BlinkVTTRegion.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('VTTRegion.id')
@DocsEditable()
@Experimental() // untriaged
- String get id => _blink.BlinkVTTRegion.instance.id_Getter_(this);
-
+ String get id => _blink.BlinkVTTRegion.instance.id_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.id')
@DocsEditable()
@Experimental() // untriaged
- void set id(String value) => _blink.BlinkVTTRegion.instance.id_Setter_(this, value);
-
+ void set id(String value) => _blink.BlinkVTTRegion.instance.id_Setter_(unwrap_jso(this), value);
+
@DomName('VTTRegion.regionAnchorX')
@DocsEditable()
@Experimental() // untriaged
- num get regionAnchorX => _blink.BlinkVTTRegion.instance.regionAnchorX_Getter_(this);
-
+ num get regionAnchorX => _blink.BlinkVTTRegion.instance.regionAnchorX_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.regionAnchorX')
@DocsEditable()
@Experimental() // untriaged
- void set regionAnchorX(num value) => _blink.BlinkVTTRegion.instance.regionAnchorX_Setter_(this, value);
-
+ void set regionAnchorX(num value) => _blink.BlinkVTTRegion.instance.regionAnchorX_Setter_(unwrap_jso(this), value);
+
@DomName('VTTRegion.regionAnchorY')
@DocsEditable()
@Experimental() // untriaged
- num get regionAnchorY => _blink.BlinkVTTRegion.instance.regionAnchorY_Getter_(this);
-
+ num get regionAnchorY => _blink.BlinkVTTRegion.instance.regionAnchorY_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.regionAnchorY')
@DocsEditable()
@Experimental() // untriaged
- void set regionAnchorY(num value) => _blink.BlinkVTTRegion.instance.regionAnchorY_Setter_(this, value);
-
+ void set regionAnchorY(num value) => _blink.BlinkVTTRegion.instance.regionAnchorY_Setter_(unwrap_jso(this), value);
+
@DomName('VTTRegion.scroll')
@DocsEditable()
@Experimental() // untriaged
- String get scroll => _blink.BlinkVTTRegion.instance.scroll_Getter_(this);
-
+ String get scroll => _blink.BlinkVTTRegion.instance.scroll_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.scroll')
@DocsEditable()
@Experimental() // untriaged
- void set scroll(String value) => _blink.BlinkVTTRegion.instance.scroll_Setter_(this, value);
-
+ void set scroll(String value) => _blink.BlinkVTTRegion.instance.scroll_Setter_(unwrap_jso(this), value);
+
@DomName('VTTRegion.track')
@DocsEditable()
@Experimental() // untriaged
- TextTrack get track => _blink.BlinkVTTRegion.instance.track_Getter_(this);
-
+ TextTrack get track => wrap_jso(_blink.BlinkVTTRegion.instance.track_Getter_(unwrap_jso(this)));
+
@DomName('VTTRegion.viewportAnchorX')
@DocsEditable()
@Experimental() // untriaged
- num get viewportAnchorX => _blink.BlinkVTTRegion.instance.viewportAnchorX_Getter_(this);
-
+ num get viewportAnchorX => _blink.BlinkVTTRegion.instance.viewportAnchorX_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.viewportAnchorX')
@DocsEditable()
@Experimental() // untriaged
- void set viewportAnchorX(num value) => _blink.BlinkVTTRegion.instance.viewportAnchorX_Setter_(this, value);
-
+ void set viewportAnchorX(num value) => _blink.BlinkVTTRegion.instance.viewportAnchorX_Setter_(unwrap_jso(this), value);
+
@DomName('VTTRegion.viewportAnchorY')
@DocsEditable()
@Experimental() // untriaged
- num get viewportAnchorY => _blink.BlinkVTTRegion.instance.viewportAnchorY_Getter_(this);
-
+ num get viewportAnchorY => _blink.BlinkVTTRegion.instance.viewportAnchorY_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.viewportAnchorY')
@DocsEditable()
@Experimental() // untriaged
- void set viewportAnchorY(num value) => _blink.BlinkVTTRegion.instance.viewportAnchorY_Setter_(this, value);
-
+ void set viewportAnchorY(num value) => _blink.BlinkVTTRegion.instance.viewportAnchorY_Setter_(unwrap_jso(this), value);
+
@DomName('VTTRegion.width')
@DocsEditable()
@Experimental() // untriaged
- num get width => _blink.BlinkVTTRegion.instance.width_Getter_(this);
-
+ num get width => _blink.BlinkVTTRegion.instance.width_Getter_(unwrap_jso(this));
+
@DomName('VTTRegion.width')
@DocsEditable()
@Experimental() // untriaged
- void set width(num value) => _blink.BlinkVTTRegion.instance.width_Setter_(this, value);
-
+ void set width(num value) => _blink.BlinkVTTRegion.instance.width_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32775,18 +32805,18 @@
@DomName('VTTRegionList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkVTTRegionList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkVTTRegionList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('VTTRegionList.getRegionById')
@DocsEditable()
@Experimental() // untriaged
- VttRegion getRegionById(String id) => _blink.BlinkVTTRegionList.instance.getRegionById_Callback_1_(this, id);
-
+ VttRegion getRegionById(String id) => _blink.BlinkVTTRegionList.instance.getRegionById_Callback_1_(unwrap_jso(this), id);
+
@DomName('VTTRegionList.item')
@DocsEditable()
@Experimental() // untriaged
- VttRegion item(int index) => _blink.BlinkVTTRegionList.instance.item_Callback_1_(this, index);
-
+ VttRegion item(int index) => _blink.BlinkVTTRegionList.instance.item_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -32916,60 +32946,60 @@
@DomName('WebSocket.binaryType')
@DocsEditable()
- String get binaryType => _blink.BlinkWebSocket.instance.binaryType_Getter_(this);
-
+ String get binaryType => _blink.BlinkWebSocket.instance.binaryType_Getter_(unwrap_jso(this));
+
@DomName('WebSocket.binaryType')
@DocsEditable()
- void set binaryType(String value) => _blink.BlinkWebSocket.instance.binaryType_Setter_(this, value);
-
+ void set binaryType(String value) => _blink.BlinkWebSocket.instance.binaryType_Setter_(unwrap_jso(this), value);
+
@DomName('WebSocket.bufferedAmount')
@DocsEditable()
- int get bufferedAmount => _blink.BlinkWebSocket.instance.bufferedAmount_Getter_(this);
-
+ int get bufferedAmount => _blink.BlinkWebSocket.instance.bufferedAmount_Getter_(unwrap_jso(this));
+
@DomName('WebSocket.extensions')
@DocsEditable()
- String get extensions => _blink.BlinkWebSocket.instance.extensions_Getter_(this);
-
+ String get extensions => _blink.BlinkWebSocket.instance.extensions_Getter_(unwrap_jso(this));
+
@DomName('WebSocket.protocol')
@DocsEditable()
- String get protocol => _blink.BlinkWebSocket.instance.protocol_Getter_(this);
-
+ String get protocol => _blink.BlinkWebSocket.instance.protocol_Getter_(unwrap_jso(this));
+
@DomName('WebSocket.readyState')
@DocsEditable()
- int get readyState => _blink.BlinkWebSocket.instance.readyState_Getter_(this);
-
+ int get readyState => _blink.BlinkWebSocket.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('WebSocket.url')
@DocsEditable()
- String get url => _blink.BlinkWebSocket.instance.url_Getter_(this);
-
+ String get url => _blink.BlinkWebSocket.instance.url_Getter_(unwrap_jso(this));
+
void close([int code, String reason]) {
if (reason != null) {
- _blink.BlinkWebSocket.instance.close_Callback_2_(this, code, reason);
+ _blink.BlinkWebSocket.instance.close_Callback_2_(unwrap_jso(this), code, reason);
return;
}
if (code != null) {
- _blink.BlinkWebSocket.instance.close_Callback_1_(this, code);
+ _blink.BlinkWebSocket.instance.close_Callback_1_(unwrap_jso(this), code);
return;
}
- _blink.BlinkWebSocket.instance.close_Callback_0_(this);
+ _blink.BlinkWebSocket.instance.close_Callback_0_(unwrap_jso(this));
return;
}
void send(data) {
if ((data is String || data == null)) {
- _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
+ _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
if ((data is Blob || data == null)) {
- _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
+ _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
if ((data is TypedData || data == null)) {
- _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
+ _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
if ((data is ByteBuffer || data == null)) {
- _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
+ _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -32977,20 +33007,20 @@
@DomName('WebSocket.sendBlob')
@DocsEditable()
- void sendBlob(Blob data) => _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
-
+ void sendBlob(Blob data) => _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
+
@DomName('WebSocket.sendByteBuffer')
@DocsEditable()
- void sendByteBuffer(ByteBuffer data) => _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
-
+ void sendByteBuffer(ByteBuffer data) => _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), data);
+
@DomName('WebSocket.sendString')
@DocsEditable()
- void sendString(String data) => _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
-
+ void sendString(String data) => _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), data);
+
@DomName('WebSocket.sendTypedData')
@DocsEditable()
- void sendTypedData(TypedData data) => _blink.BlinkWebSocket.instance.send_Callback_1_(this, data);
-
+ void sendTypedData(TypedData data) => _blink.BlinkWebSocket.instance.send_Callback_1_(unwrap_jso(this), unwrap_jso(data));
+
/// Stream of `close` events handled by this [WebSocket].
@DomName('WebSocket.onclose')
@DocsEditable()
@@ -33069,20 +33099,20 @@
@DomName('WheelEvent.deltaMode')
@DocsEditable()
- int get deltaMode => _blink.BlinkWheelEvent.instance.deltaMode_Getter_(this);
-
+ int get deltaMode => _blink.BlinkWheelEvent.instance.deltaMode_Getter_(unwrap_jso(this));
+
@DomName('WheelEvent.deltaX')
@DocsEditable()
- double get _deltaX => _blink.BlinkWheelEvent.instance.deltaX_Getter_(this);
-
+ double get _deltaX => _blink.BlinkWheelEvent.instance.deltaX_Getter_(unwrap_jso(this));
+
@DomName('WheelEvent.deltaY')
@DocsEditable()
- double get _deltaY => _blink.BlinkWheelEvent.instance.deltaY_Getter_(this);
-
+ double get _deltaY => _blink.BlinkWheelEvent.instance.deltaY_Getter_(unwrap_jso(this));
+
@DomName('WheelEvent.deltaZ')
@DocsEditable()
- double get deltaZ => _blink.BlinkWheelEvent.instance.deltaZ_Getter_(this);
-
+ double get deltaZ => _blink.BlinkWheelEvent.instance.deltaZ_Getter_(unwrap_jso(this));
+
/**
* The amount that is expected to scroll horizontally, in units determined by
@@ -33425,8 +33455,8 @@
*/
@DomName('Window.CSS')
@DocsEditable()
- Css get css => _blink.BlinkWindow.instance.CSS_Getter_(this);
-
+ Css get css => wrap_jso(_blink.BlinkWindow.instance.CSS_Getter_(unwrap_jso(this)));
+
/**
* The application cache for this window.
*
@@ -33440,16 +33470,16 @@
*/
@DomName('Window.applicationCache')
@DocsEditable()
- ApplicationCache get applicationCache => _blink.BlinkWindow.instance.applicationCache_Getter_(this);
-
+ ApplicationCache get applicationCache => wrap_jso(_blink.BlinkWindow.instance.applicationCache_Getter_(unwrap_jso(this)));
+
@DomName('Window.closed')
@DocsEditable()
- bool get closed => _blink.BlinkWindow.instance.closed_Getter_(this);
-
+ bool get closed => _blink.BlinkWindow.instance.closed_Getter_(unwrap_jso(this));
+
@DomName('Window.console')
@DocsEditable()
- Console get console => _blink.BlinkWindow.instance.console_Getter_(this);
-
+ Console get console => wrap_jso(_blink.BlinkWindow.instance.console_Getter_(unwrap_jso(this)));
+
/**
* Entrypoint for the browser's cryptographic functions.
*
@@ -33461,32 +33491,32 @@
@DocsEditable()
// http://www.w3.org/TR/WebCryptoAPI/
@Experimental()
- Crypto get crypto => _blink.BlinkWindow.instance.crypto_Getter_(this);
-
+ Crypto get crypto => wrap_jso(_blink.BlinkWindow.instance.crypto_Getter_(unwrap_jso(this)));
+
/// *Deprecated*.
@DomName('Window.defaultStatus')
@DocsEditable()
@Experimental() // non-standard
- String get defaultStatus => _blink.BlinkWindow.instance.defaultStatus_Getter_(this);
-
+ String get defaultStatus => _blink.BlinkWindow.instance.defaultStatus_Getter_(unwrap_jso(this));
+
/// *Deprecated*.
@DomName('Window.defaultStatus')
@DocsEditable()
@Experimental() // non-standard
- void set defaultStatus(String value) => _blink.BlinkWindow.instance.defaultStatus_Setter_(this, value);
-
+ void set defaultStatus(String value) => _blink.BlinkWindow.instance.defaultStatus_Setter_(unwrap_jso(this), value);
+
/// *Deprecated*.
@DomName('Window.defaultstatus')
@DocsEditable()
@Experimental() // non-standard
- String get defaultstatus => _blink.BlinkWindow.instance.defaultstatus_Getter_(this);
-
+ String get defaultstatus => _blink.BlinkWindow.instance.defaultstatus_Getter_(unwrap_jso(this));
+
/// *Deprecated*.
@DomName('Window.defaultstatus')
@DocsEditable()
@Experimental() // non-standard
- void set defaultstatus(String value) => _blink.BlinkWindow.instance.defaultstatus_Setter_(this, value);
-
+ void set defaultstatus(String value) => _blink.BlinkWindow.instance.defaultstatus_Setter_(unwrap_jso(this), value);
+
/**
* The ratio between physical pixels and logical CSS pixels.
*
@@ -33503,12 +33533,12 @@
@DocsEditable()
// http://www.quirksmode.org/blog/archives/2012/06/devicepixelrati.html
@Experimental() // non-standard
- double get devicePixelRatio => _blink.BlinkWindow.instance.devicePixelRatio_Getter_(this);
-
+ double get devicePixelRatio => _blink.BlinkWindow.instance.devicePixelRatio_Getter_(unwrap_jso(this));
+
@DomName('Window.document')
@DocsEditable()
- Document get document => _blink.BlinkWindow.instance.document_Getter_(this);
-
+ Document get document => wrap_jso(_blink.BlinkWindow.instance.document_Getter_(unwrap_jso(this)));
+
/**
* The current session history for this window's newest document.
*
@@ -33520,16 +33550,16 @@
*/
@DomName('Window.history')
@DocsEditable()
- History get history => _blink.BlinkWindow.instance.history_Getter_(this);
-
+ History get history => wrap_jso(_blink.BlinkWindow.instance.history_Getter_(unwrap_jso(this)));
+
@DomName('Window.indexedDB')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX, '15')
@SupportedBrowser(SupportedBrowser.IE, '10')
@Experimental()
- IdbFactory get indexedDB => _blink.BlinkWindow.instance.indexedDB_Getter_(this);
-
+ IdbFactory get indexedDB => wrap_jso(_blink.BlinkWindow.instance.indexedDB_Getter_(unwrap_jso(this)));
+
/**
* The height of the viewport including scrollbars.
*
@@ -33541,8 +33571,8 @@
*/
@DomName('Window.innerHeight')
@DocsEditable()
- int get innerHeight => _blink.BlinkWindow.instance.innerHeight_Getter_(this);
-
+ int get innerHeight => _blink.BlinkWindow.instance.innerHeight_Getter_(unwrap_jso(this));
+
/**
* The width of the viewport including scrollbars.
*
@@ -33554,8 +33584,8 @@
*/
@DomName('Window.innerWidth')
@DocsEditable()
- int get innerWidth => _blink.BlinkWindow.instance.innerWidth_Getter_(this);
-
+ int get innerWidth => _blink.BlinkWindow.instance.innerWidth_Getter_(unwrap_jso(this));
+
/**
* Storage for this window that persists across sessions.
*
@@ -33571,12 +33601,12 @@
*/
@DomName('Window.localStorage')
@DocsEditable()
- Storage get localStorage => _blink.BlinkWindow.instance.localStorage_Getter_(this);
-
+ Storage get localStorage => wrap_jso(_blink.BlinkWindow.instance.localStorage_Getter_(unwrap_jso(this)));
+
@DomName('Window.location')
@DocsEditable()
- Location get location => _blink.BlinkWindow.instance.location_Getter_(this);
-
+ Location get location => wrap_jso(_blink.BlinkWindow.instance.location_Getter_(unwrap_jso(this)));
+
/**
* This window's location bar, which displays the URL.
*
@@ -33588,8 +33618,8 @@
*/
@DomName('Window.locationbar')
@DocsEditable()
- BarProp get locationbar => _blink.BlinkWindow.instance.locationbar_Getter_(this);
-
+ BarProp get locationbar => wrap_jso(_blink.BlinkWindow.instance.locationbar_Getter_(unwrap_jso(this)));
+
/**
* This window's menu bar, which displays menu commands.
*
@@ -33601,8 +33631,8 @@
*/
@DomName('Window.menubar')
@DocsEditable()
- BarProp get menubar => _blink.BlinkWindow.instance.menubar_Getter_(this);
-
+ BarProp get menubar => wrap_jso(_blink.BlinkWindow.instance.menubar_Getter_(unwrap_jso(this)));
+
/**
* The name of this window.
*
@@ -33614,8 +33644,8 @@
*/
@DomName('Window.name')
@DocsEditable()
- String get name => _blink.BlinkWindow.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkWindow.instance.name_Getter_(unwrap_jso(this));
+
/**
* The name of this window.
*
@@ -33627,8 +33657,8 @@
*/
@DomName('Window.name')
@DocsEditable()
- void set name(String value) => _blink.BlinkWindow.instance.name_Setter_(this, value);
-
+ void set name(String value) => _blink.BlinkWindow.instance.name_Setter_(unwrap_jso(this), value);
+
/**
* The user agent accessing this window.
*
@@ -33640,8 +33670,8 @@
*/
@DomName('Window.navigator')
@DocsEditable()
- Navigator get navigator => _blink.BlinkWindow.instance.navigator_Getter_(this);
-
+ Navigator get navigator => wrap_jso(_blink.BlinkWindow.instance.navigator_Getter_(unwrap_jso(this)));
+
/**
* Whether objects are drawn offscreen before being displayed.
*
@@ -33654,21 +33684,21 @@
@DomName('Window.offscreenBuffering')
@DocsEditable()
@Experimental() // non-standard
- bool get offscreenBuffering => _blink.BlinkWindow.instance.offscreenBuffering_Getter_(this);
-
+ bool get offscreenBuffering => _blink.BlinkWindow.instance.offscreenBuffering_Getter_(unwrap_jso(this));
+
@DomName('Window.opener')
@DocsEditable()
- WindowBase get opener => _blink.BlinkWindow.instance.opener_Getter_(this);
-
+ WindowBase get opener => wrap_jso(_blink.BlinkWindow.instance.opener_Getter_(unwrap_jso(this)));
+
@DomName('Window.opener')
@DocsEditable()
- void set opener(Window value) => _blink.BlinkWindow.instance.opener_Setter_(this, value);
-
+ void set opener(Window value) => _blink.BlinkWindow.instance.opener_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('Window.orientation')
@DocsEditable()
@Experimental() // untriaged
- int get orientation => _blink.BlinkWindow.instance.orientation_Getter_(this);
-
+ int get orientation => _blink.BlinkWindow.instance.orientation_Getter_(unwrap_jso(this));
+
/**
* The height of this window including all user interface elements.
*
@@ -33680,8 +33710,8 @@
*/
@DomName('Window.outerHeight')
@DocsEditable()
- int get outerHeight => _blink.BlinkWindow.instance.outerHeight_Getter_(this);
-
+ int get outerHeight => _blink.BlinkWindow.instance.outerHeight_Getter_(unwrap_jso(this));
+
/**
* The width of the window including all user interface elements.
*
@@ -33693,8 +33723,8 @@
*/
@DomName('Window.outerWidth')
@DocsEditable()
- int get outerWidth => _blink.BlinkWindow.instance.outerWidth_Getter_(this);
-
+ int get outerWidth => _blink.BlinkWindow.instance.outerWidth_Getter_(unwrap_jso(this));
+
/**
* The distance this window has been scrolled horizontally.
*
@@ -33709,8 +33739,8 @@
*/
@DomName('Window.pageXOffset')
@DocsEditable()
- double get _pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(this);
-
+ double get _pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(unwrap_jso(this));
+
/**
* The distance this window has been scrolled vertically.
*
@@ -33725,12 +33755,12 @@
*/
@DomName('Window.pageYOffset')
@DocsEditable()
- double get _pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(this);
-
+ double get _pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(unwrap_jso(this));
+
@DomName('Window.parent')
@DocsEditable()
- WindowBase get parent => _blink.BlinkWindow.instance.parent_Getter_(this);
-
+ WindowBase get parent => wrap_jso(_blink.BlinkWindow.instance.parent_Getter_(unwrap_jso(this)));
+
/**
* Timing and navigation data for this window.
*
@@ -33747,8 +33777,8 @@
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.FIREFOX)
@SupportedBrowser(SupportedBrowser.IE)
- Performance get performance => _blink.BlinkWindow.instance.performance_Getter_(this);
-
+ Performance get performance => wrap_jso(_blink.BlinkWindow.instance.performance_Getter_(unwrap_jso(this)));
+
/**
* Information about the screen displaying this window.
*
@@ -33759,8 +33789,8 @@
*/
@DomName('Window.screen')
@DocsEditable()
- Screen get screen => _blink.BlinkWindow.instance.screen_Getter_(this);
-
+ Screen get screen => wrap_jso(_blink.BlinkWindow.instance.screen_Getter_(unwrap_jso(this)));
+
/**
* The distance from the left side of the screen to the left side of this
* window.
@@ -33772,8 +33802,8 @@
*/
@DomName('Window.screenLeft')
@DocsEditable()
- int get screenLeft => _blink.BlinkWindow.instance.screenLeft_Getter_(this);
-
+ int get screenLeft => _blink.BlinkWindow.instance.screenLeft_Getter_(unwrap_jso(this));
+
/**
* The distance from the top of the screen to the top of this window.
*
@@ -33784,8 +33814,8 @@
*/
@DomName('Window.screenTop')
@DocsEditable()
- int get screenTop => _blink.BlinkWindow.instance.screenTop_Getter_(this);
-
+ int get screenTop => _blink.BlinkWindow.instance.screenTop_Getter_(unwrap_jso(this));
+
/**
* The distance from the left side of the screen to the mouse pointer.
*
@@ -33796,8 +33826,8 @@
*/
@DomName('Window.screenX')
@DocsEditable()
- int get screenX => _blink.BlinkWindow.instance.screenX_Getter_(this);
-
+ int get screenX => _blink.BlinkWindow.instance.screenX_Getter_(unwrap_jso(this));
+
/**
* The distance from the top of the screen to the mouse pointer.
*
@@ -33808,16 +33838,16 @@
*/
@DomName('Window.screenY')
@DocsEditable()
- int get screenY => _blink.BlinkWindow.instance.screenY_Getter_(this);
-
+ int get screenY => _blink.BlinkWindow.instance.screenY_Getter_(unwrap_jso(this));
+
@DomName('Window.scrollX')
@DocsEditable()
- double get _scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(this);
-
+ double get _scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(unwrap_jso(this));
+
@DomName('Window.scrollY')
@DocsEditable()
- double get _scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(this);
-
+ double get _scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(unwrap_jso(this));
+
/**
* This window's scroll bars.
*
@@ -33829,8 +33859,8 @@
*/
@DomName('Window.scrollbars')
@DocsEditable()
- BarProp get scrollbars => _blink.BlinkWindow.instance.scrollbars_Getter_(this);
-
+ BarProp get scrollbars => wrap_jso(_blink.BlinkWindow.instance.scrollbars_Getter_(unwrap_jso(this)));
+
/**
* The current window.
*
@@ -33841,8 +33871,8 @@
*/
@DomName('Window.self')
@DocsEditable()
- WindowBase get self => _blink.BlinkWindow.instance.self_Getter_(this);
-
+ WindowBase get self => wrap_jso(_blink.BlinkWindow.instance.self_Getter_(unwrap_jso(this)));
+
/**
* Storage for this window that is cleared when this session ends.
*
@@ -33858,8 +33888,8 @@
*/
@DomName('Window.sessionStorage')
@DocsEditable()
- Storage get sessionStorage => _blink.BlinkWindow.instance.sessionStorage_Getter_(this);
-
+ Storage get sessionStorage => wrap_jso(_blink.BlinkWindow.instance.sessionStorage_Getter_(unwrap_jso(this)));
+
/**
* Access to speech synthesis in the browser.
*
@@ -33873,18 +33903,18 @@
@DocsEditable()
// https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#tts-section
@Experimental()
- SpeechSynthesis get speechSynthesis => _blink.BlinkWindow.instance.speechSynthesis_Getter_(this);
-
+ SpeechSynthesis get speechSynthesis => wrap_jso(_blink.BlinkWindow.instance.speechSynthesis_Getter_(unwrap_jso(this)));
+
/// *Deprecated*.
@DomName('Window.status')
@DocsEditable()
- String get status => _blink.BlinkWindow.instance.status_Getter_(this);
-
+ String get status => _blink.BlinkWindow.instance.status_Getter_(unwrap_jso(this));
+
/// *Deprecated*.
@DomName('Window.status')
@DocsEditable()
- void set status(String value) => _blink.BlinkWindow.instance.status_Setter_(this, value);
-
+ void set status(String value) => _blink.BlinkWindow.instance.status_Setter_(unwrap_jso(this), value);
+
/**
* This window's status bar.
*
@@ -33896,8 +33926,8 @@
*/
@DomName('Window.statusbar')
@DocsEditable()
- BarProp get statusbar => _blink.BlinkWindow.instance.statusbar_Getter_(this);
-
+ BarProp get statusbar => wrap_jso(_blink.BlinkWindow.instance.statusbar_Getter_(unwrap_jso(this)));
+
/**
* Access to CSS media queries.
*
@@ -33911,8 +33941,8 @@
@DocsEditable()
// http://developer.apple.com/library/safari/#documentation/SafariDOMAdditions/Reference/StyleMedia/StyleMedia/StyleMedia.html
@Experimental() // nonstandard
- StyleMedia get styleMedia => _blink.BlinkWindow.instance.styleMedia_Getter_(this);
-
+ StyleMedia get styleMedia => wrap_jso(_blink.BlinkWindow.instance.styleMedia_Getter_(unwrap_jso(this)));
+
/**
* This window's tool bar.
*
@@ -33924,12 +33954,12 @@
*/
@DomName('Window.toolbar')
@DocsEditable()
- BarProp get toolbar => _blink.BlinkWindow.instance.toolbar_Getter_(this);
-
+ BarProp get toolbar => wrap_jso(_blink.BlinkWindow.instance.toolbar_Getter_(unwrap_jso(this)));
+
@DomName('Window.top')
@DocsEditable()
- WindowBase get top => _blink.BlinkWindow.instance.top_Getter_(this);
-
+ WindowBase get top => wrap_jso(_blink.BlinkWindow.instance.top_Getter_(unwrap_jso(this)));
+
/**
* The current window.
*
@@ -33940,40 +33970,40 @@
*/
@DomName('Window.window')
@DocsEditable()
- WindowBase get window => _blink.BlinkWindow.instance.window_Getter_(this);
-
+ WindowBase get window => wrap_jso(_blink.BlinkWindow.instance.window_Getter_(unwrap_jso(this)));
+
WindowBase __getter__(index_OR_name) {
if ((index_OR_name is int)) {
- return _blink.BlinkWindow.instance.$__getter___Callback_1_(this, index_OR_name);
+ return _blink.BlinkWindow.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
if ((index_OR_name is String)) {
- return _blink.BlinkWindow.instance.$__getter___Callback_1_(this, index_OR_name);
+ return _blink.BlinkWindow.instance.$__getter___Callback_1_(unwrap_jso(this), unwrap_jso(index_OR_name));
}
throw new ArgumentError("Incorrect number or type of arguments");
}
void alert([String message]) {
if (message != null) {
- _blink.BlinkWindow.instance.alert_Callback_1_(this, message);
+ _blink.BlinkWindow.instance.alert_Callback_1_(unwrap_jso(this), message);
return;
}
- _blink.BlinkWindow.instance.alert_Callback_0_(this);
+ _blink.BlinkWindow.instance.alert_Callback_0_(unwrap_jso(this));
return;
}
@DomName('Window.cancelAnimationFrame')
@DocsEditable()
- void cancelAnimationFrame(int id) => _blink.BlinkWindow.instance.cancelAnimationFrame_Callback_1_(this, id);
-
+ void cancelAnimationFrame(int id) => _blink.BlinkWindow.instance.cancelAnimationFrame_Callback_1_(unwrap_jso(this), id);
+
@DomName('Window.close')
@DocsEditable()
- void close() => _blink.BlinkWindow.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkWindow.instance.close_Callback_0_(unwrap_jso(this));
+
bool confirm([String message]) {
if (message != null) {
- return _blink.BlinkWindow.instance.confirm_Callback_1_(this, message);
+ return _blink.BlinkWindow.instance.confirm_Callback_1_(unwrap_jso(this), message);
}
- return _blink.BlinkWindow.instance.confirm_Callback_0_(this);
+ return _blink.BlinkWindow.instance.confirm_Callback_0_(unwrap_jso(this));
}
/**
@@ -33987,20 +34017,20 @@
@DomName('Window.find')
@DocsEditable()
@Experimental() // non-standard
- bool find(String string, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) => _blink.BlinkWindow.instance.find_Callback_7_(this, string, caseSensitive, backwards, wrap, wholeWord, searchInFrames, showDialog);
-
+ bool find(String string, bool caseSensitive, bool backwards, bool wrap, bool wholeWord, bool searchInFrames, bool showDialog) => _blink.BlinkWindow.instance.find_Callback_7_(unwrap_jso(this), string, caseSensitive, backwards, wrap, wholeWord, searchInFrames, showDialog);
+
@DomName('Window.getComputedStyle')
@DocsEditable()
- CssStyleDeclaration _getComputedStyle(Element element, String pseudoElement) => _blink.BlinkWindow.instance.getComputedStyle_Callback_2_(this, element, pseudoElement);
-
+ CssStyleDeclaration _getComputedStyle(Element element, String pseudoElement) => _blink.BlinkWindow.instance.getComputedStyle_Callback_2_(unwrap_jso(this), unwrap_jso(element), pseudoElement);
+
/**
* Returns all CSS rules that apply to the element's pseudo-element.
*/
@DomName('Window.getMatchedCSSRules')
@DocsEditable()
@Experimental() // non-standard
- List<CssRule> getMatchedCssRules(Element element, String pseudoElement) => _blink.BlinkWindow.instance.getMatchedCSSRules_Callback_2_(this, element, pseudoElement);
-
+ List<CssRule> getMatchedCssRules(Element element, String pseudoElement) => _blink.BlinkWindow.instance.getMatchedCSSRules_Callback_2_(unwrap_jso(this), unwrap_jso(element), pseudoElement);
+
/**
* Returns the currently selected text.
*
@@ -34012,8 +34042,8 @@
*/
@DomName('Window.getSelection')
@DocsEditable()
- Selection getSelection() => _blink.BlinkWindow.instance.getSelection_Callback_0_(this);
-
+ Selection getSelection() => wrap_jso(_blink.BlinkWindow.instance.getSelection_Callback_0_(unwrap_jso(this)));
+
/**
* Returns a list of media queries for the given query string.
*
@@ -34027,8 +34057,8 @@
*/
@DomName('Window.matchMedia')
@DocsEditable()
- MediaQueryList matchMedia(String query) => _blink.BlinkWindow.instance.matchMedia_Callback_1_(this, query);
-
+ MediaQueryList matchMedia(String query) => wrap_jso(_blink.BlinkWindow.instance.matchMedia_Callback_1_(unwrap_jso(this), query));
+
/**
* Moves this window.
*
@@ -34043,27 +34073,27 @@
*/
@DomName('Window.moveBy')
@DocsEditable()
- void moveBy(num x, num y) => _blink.BlinkWindow.instance.moveBy_Callback_2_(this, x, y);
-
+ void moveBy(num x, num y) => _blink.BlinkWindow.instance.moveBy_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('Window.moveTo')
@DocsEditable()
- void _moveTo(num x, num y) => _blink.BlinkWindow.instance.moveTo_Callback_2_(this, x, y);
-
+ void _moveTo(num x, num y) => _blink.BlinkWindow.instance.moveTo_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('Window.open')
@DocsEditable()
- WindowBase open(String url, String name, [String options]) => _blink.BlinkWindow.instance.open_Callback_3_(this, url, name, options);
-
+ WindowBase open(String url, String name, [String options]) => _blink.BlinkWindow.instance.open_Callback_3_(unwrap_jso(this), url, name, options);
+
SqlDatabase openDatabase(String name, String version, String displayName, int estimatedSize, [DatabaseCallback creationCallback]) {
if (creationCallback != null) {
- return _blink.BlinkWindow.instance.openDatabase_Callback_5_(this, name, version, displayName, estimatedSize, creationCallback);
+ return _blink.BlinkWindow.instance.openDatabase_Callback_5_(unwrap_jso(this), name, version, displayName, estimatedSize, unwrap_jso(creationCallback));
}
- return _blink.BlinkWindow.instance.openDatabase_Callback_4_(this, name, version, displayName, estimatedSize);
+ return _blink.BlinkWindow.instance.openDatabase_Callback_4_(unwrap_jso(this), name, version, displayName, estimatedSize);
}
@DomName('Window.postMessage')
@DocsEditable()
- void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List<MessagePort> transfer]) => _blink.BlinkWindow.instance.postMessage_Callback_3_(this, message, targetOrigin, transfer);
-
+ void postMessage(/*SerializedScriptValue*/ message, String targetOrigin, [List<MessagePort> transfer]) => _blink.BlinkWindow.instance.postMessage_Callback_3_(unwrap_jso(this), message, targetOrigin, transfer);
+
/**
* Opens the print dialog for this window.
*
@@ -34074,12 +34104,12 @@
*/
@DomName('Window.print')
@DocsEditable()
- void print() => _blink.BlinkWindow.instance.print_Callback_0_(this);
-
+ void print() => _blink.BlinkWindow.instance.print_Callback_0_(unwrap_jso(this));
+
@DomName('Window.requestAnimationFrame')
@DocsEditable()
- int _requestAnimationFrame(RequestAnimationFrameCallback callback) => _blink.BlinkWindow.instance.requestAnimationFrame_Callback_1_(this, callback);
-
+ int _requestAnimationFrame(RequestAnimationFrameCallback callback) => _blink.BlinkWindow.instance.requestAnimationFrame_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
+
/**
* Resizes this window by an offset.
*
@@ -34090,8 +34120,8 @@
*/
@DomName('Window.resizeBy')
@DocsEditable()
- void resizeBy(num x, num y) => _blink.BlinkWindow.instance.resizeBy_Callback_2_(this, x, y);
-
+ void resizeBy(num x, num y) => _blink.BlinkWindow.instance.resizeBy_Callback_2_(unwrap_jso(this), x, y);
+
/**
* Resizes this window to a specific width and height.
*
@@ -34102,23 +34132,23 @@
*/
@DomName('Window.resizeTo')
@DocsEditable()
- void resizeTo(num width, num height) => _blink.BlinkWindow.instance.resizeTo_Callback_2_(this, width, height);
-
+ void resizeTo(num width, num height) => _blink.BlinkWindow.instance.resizeTo_Callback_2_(unwrap_jso(this), width, height);
+
void scroll(x, y, [Map scrollOptions]) {
if ((y is num) && (x is num) && scrollOptions == null) {
- _blink.BlinkWindow.instance.scroll_Callback_2_(this, x, y);
+ _blink.BlinkWindow.instance.scroll_Callback_2_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y));
return;
}
if ((scrollOptions is Map) && (y is num) && (x is num)) {
- _blink.BlinkWindow.instance.scroll_Callback_3_(this, x, y, scrollOptions);
+ _blink.BlinkWindow.instance.scroll_Callback_3_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y), scrollOptions);
return;
}
if ((y is int) && (x is int) && scrollOptions == null) {
- _blink.BlinkWindow.instance.scroll_Callback_2_(this, x, y);
+ _blink.BlinkWindow.instance.scroll_Callback_2_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y));
return;
}
if ((scrollOptions is Map) && (y is int) && (x is int)) {
- _blink.BlinkWindow.instance.scroll_Callback_3_(this, x, y, scrollOptions);
+ _blink.BlinkWindow.instance.scroll_Callback_3_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y), scrollOptions);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -34126,19 +34156,19 @@
void scrollBy(x, y, [Map scrollOptions]) {
if ((y is num) && (x is num) && scrollOptions == null) {
- _blink.BlinkWindow.instance.scrollBy_Callback_2_(this, x, y);
+ _blink.BlinkWindow.instance.scrollBy_Callback_2_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y));
return;
}
if ((scrollOptions is Map) && (y is num) && (x is num)) {
- _blink.BlinkWindow.instance.scrollBy_Callback_3_(this, x, y, scrollOptions);
+ _blink.BlinkWindow.instance.scrollBy_Callback_3_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y), scrollOptions);
return;
}
if ((y is int) && (x is int) && scrollOptions == null) {
- _blink.BlinkWindow.instance.scrollBy_Callback_2_(this, x, y);
+ _blink.BlinkWindow.instance.scrollBy_Callback_2_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y));
return;
}
if ((scrollOptions is Map) && (y is int) && (x is int)) {
- _blink.BlinkWindow.instance.scrollBy_Callback_3_(this, x, y, scrollOptions);
+ _blink.BlinkWindow.instance.scrollBy_Callback_3_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y), scrollOptions);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -34146,19 +34176,19 @@
void scrollTo(x, y, [Map scrollOptions]) {
if ((y is num) && (x is num) && scrollOptions == null) {
- _blink.BlinkWindow.instance.scrollTo_Callback_2_(this, x, y);
+ _blink.BlinkWindow.instance.scrollTo_Callback_2_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y));
return;
}
if ((scrollOptions is Map) && (y is num) && (x is num)) {
- _blink.BlinkWindow.instance.scrollTo_Callback_3_(this, x, y, scrollOptions);
+ _blink.BlinkWindow.instance.scrollTo_Callback_3_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y), scrollOptions);
return;
}
if ((y is int) && (x is int) && scrollOptions == null) {
- _blink.BlinkWindow.instance.scrollTo_Callback_2_(this, x, y);
+ _blink.BlinkWindow.instance.scrollTo_Callback_2_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y));
return;
}
if ((scrollOptions is Map) && (y is int) && (x is int)) {
- _blink.BlinkWindow.instance.scrollTo_Callback_3_(this, x, y, scrollOptions);
+ _blink.BlinkWindow.instance.scrollTo_Callback_3_(unwrap_jso(this), unwrap_jso(x), unwrap_jso(y), scrollOptions);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -34175,8 +34205,8 @@
*/
@DomName('Window.showModalDialog')
@DocsEditable()
- Object showModalDialog(String url, [Object dialogArgs, String featureArgs]) => _blink.BlinkWindow.instance.showModalDialog_Callback_3_(this, url, dialogArgs, featureArgs);
-
+ Object showModalDialog(String url, [Object dialogArgs, String featureArgs]) => wrap_jso(_blink.BlinkWindow.instance.showModalDialog_Callback_3_(unwrap_jso(this), url, dialogArgs, featureArgs));
+
/**
* Stops the window from loading.
*
@@ -34188,14 +34218,14 @@
*/
@DomName('Window.stop')
@DocsEditable()
- void stop() => _blink.BlinkWindow.instance.stop_Callback_0_(this);
-
+ void stop() => _blink.BlinkWindow.instance.stop_Callback_0_(unwrap_jso(this));
+
void __requestFileSystem(int type, int size, _FileSystemCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkWindow.instance.webkitRequestFileSystem_Callback_4_(this, type, size, successCallback, errorCallback);
+ _blink.BlinkWindow.instance.webkitRequestFileSystem_Callback_4_(unwrap_jso(this), type, size, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkWindow.instance.webkitRequestFileSystem_Callback_3_(this, type, size, successCallback);
+ _blink.BlinkWindow.instance.webkitRequestFileSystem_Callback_3_(unwrap_jso(this), type, size, unwrap_jso(successCallback));
return;
}
@@ -34209,10 +34239,10 @@
void _resolveLocalFileSystemUrl(String url, _EntryCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkWindow.instance.webkitResolveLocalFileSystemURL_Callback_3_(this, url, successCallback, errorCallback);
+ _blink.BlinkWindow.instance.webkitResolveLocalFileSystemURL_Callback_3_(unwrap_jso(this), url, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkWindow.instance.webkitResolveLocalFileSystemURL_Callback_2_(this, url, successCallback);
+ _blink.BlinkWindow.instance.webkitResolveLocalFileSystemURL_Callback_2_(unwrap_jso(this), url, unwrap_jso(successCallback));
return;
}
@@ -34226,28 +34256,28 @@
@DomName('Window.atob')
@DocsEditable()
- String atob(String string) => _blink.BlinkWindow.instance.atob_Callback_1_(this, string);
-
+ String atob(String string) => _blink.BlinkWindow.instance.atob_Callback_1_(unwrap_jso(this), string);
+
@DomName('Window.btoa')
@DocsEditable()
- String btoa(String string) => _blink.BlinkWindow.instance.btoa_Callback_1_(this, string);
-
+ String btoa(String string) => _blink.BlinkWindow.instance.btoa_Callback_1_(unwrap_jso(this), string);
+
@DomName('Window.clearInterval')
@DocsEditable()
- void _clearInterval(int handle) => _blink.BlinkWindow.instance.clearInterval_Callback_1_(this, handle);
-
+ void _clearInterval(int handle) => _blink.BlinkWindow.instance.clearInterval_Callback_1_(unwrap_jso(this), handle);
+
@DomName('Window.clearTimeout')
@DocsEditable()
- void _clearTimeout(int handle) => _blink.BlinkWindow.instance.clearTimeout_Callback_1_(this, handle);
-
+ void _clearTimeout(int handle) => _blink.BlinkWindow.instance.clearTimeout_Callback_1_(unwrap_jso(this), handle);
+
@DomName('Window.setInterval')
@DocsEditable()
- int _setInterval(Object handler, int timeout) => _blink.BlinkWindow.instance.setInterval_Callback_2_(this, handler, timeout);
-
+ int _setInterval(Object handler, int timeout) => _blink.BlinkWindow.instance.setInterval_Callback_2_(unwrap_jso(this), handler, timeout);
+
@DomName('Window.setTimeout')
@DocsEditable()
- int _setTimeout(Object handler, int timeout) => _blink.BlinkWindow.instance.setTimeout_Callback_2_(this, handler, timeout);
-
+ int _setTimeout(Object handler, int timeout) => _blink.BlinkWindow.instance.setTimeout_Callback_2_(unwrap_jso(this), handler, timeout);
+
/// Stream of `contentloaded` events handled by this [Window].
@DomName('Window.onDOMContentLoaded')
@DocsEditable()
@@ -34655,19 +34685,19 @@
@DomName('Window.pageXOffset')
@DocsEditable()
- int get pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(this).round();
+ int get pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(unwrap_jso(this)).round();
@DomName('Window.pageYOffset')
@DocsEditable()
- int get pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(this).round();
+ int get pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(unwrap_jso(this)).round();
@DomName('Window.scrollX')
@DocsEditable()
- int get scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(this).round();
+ int get scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(unwrap_jso(this)).round();
@DomName('Window.scrollY')
@DocsEditable()
- int get scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(this).round();
+ int get scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(unwrap_jso(this)).round();
}
@@ -34853,12 +34883,12 @@
@DomName('Worker.postMessage')
@DocsEditable()
- void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> transfer]) => _blink.BlinkWorker.instance.postMessage_Callback_2_(this, message, transfer);
-
+ void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> transfer]) => _blink.BlinkWorker.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer);
+
@DomName('Worker.terminate')
@DocsEditable()
- void terminate() => _blink.BlinkWorker.instance.terminate_Callback_0_(this);
-
+ void terminate() => _blink.BlinkWorker.instance.terminate_Callback_0_(unwrap_jso(this));
+
/// Stream of `error` events handled by this [Worker].
@DomName('Worker.onerror')
@DocsEditable()
@@ -34924,58 +34954,58 @@
@DomName('WorkerGlobalScope.console')
@DocsEditable()
@Experimental() // untriaged
- WorkerConsole get console => _blink.BlinkWorkerGlobalScope.instance.console_Getter_(this);
-
+ WorkerConsole get console => wrap_jso(_blink.BlinkWorkerGlobalScope.instance.console_Getter_(unwrap_jso(this)));
+
@DomName('WorkerGlobalScope.crypto')
@DocsEditable()
@Experimental() // untriaged
- Crypto get crypto => _blink.BlinkWorkerGlobalScope.instance.crypto_Getter_(this);
-
+ Crypto get crypto => wrap_jso(_blink.BlinkWorkerGlobalScope.instance.crypto_Getter_(unwrap_jso(this)));
+
@DomName('WorkerGlobalScope.indexedDB')
@DocsEditable()
@Experimental() // untriaged
- IdbFactory get indexedDB => _blink.BlinkWorkerGlobalScope.instance.indexedDB_Getter_(this);
-
+ IdbFactory get indexedDB => wrap_jso(_blink.BlinkWorkerGlobalScope.instance.indexedDB_Getter_(unwrap_jso(this)));
+
@DomName('WorkerGlobalScope.location')
@DocsEditable()
@Experimental() // untriaged
- _WorkerLocation get location => _blink.BlinkWorkerGlobalScope.instance.location_Getter_(this);
-
+ _WorkerLocation get location => wrap_jso(_blink.BlinkWorkerGlobalScope.instance.location_Getter_(unwrap_jso(this)));
+
@DomName('WorkerGlobalScope.navigator')
@DocsEditable()
@Experimental() // untriaged
- _WorkerNavigator get navigator => _blink.BlinkWorkerGlobalScope.instance.navigator_Getter_(this);
-
+ _WorkerNavigator get navigator => wrap_jso(_blink.BlinkWorkerGlobalScope.instance.navigator_Getter_(unwrap_jso(this)));
+
@DomName('WorkerGlobalScope.performance')
@DocsEditable()
@Experimental() // untriaged
- WorkerPerformance get performance => _blink.BlinkWorkerGlobalScope.instance.performance_Getter_(this);
-
+ WorkerPerformance get performance => wrap_jso(_blink.BlinkWorkerGlobalScope.instance.performance_Getter_(unwrap_jso(this)));
+
@DomName('WorkerGlobalScope.self')
@DocsEditable()
@Experimental() // untriaged
- WorkerGlobalScope get self => _blink.BlinkWorkerGlobalScope.instance.self_Getter_(this);
-
+ WorkerGlobalScope get self => wrap_jso(_blink.BlinkWorkerGlobalScope.instance.self_Getter_(unwrap_jso(this)));
+
@DomName('WorkerGlobalScope.close')
@DocsEditable()
@Experimental() // untriaged
- void close() => _blink.BlinkWorkerGlobalScope.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkWorkerGlobalScope.instance.close_Callback_0_(unwrap_jso(this));
+
@DomName('WorkerGlobalScope.importScripts')
@DocsEditable()
@Experimental() // untriaged
- void importScripts(String urls) => _blink.BlinkWorkerGlobalScope.instance.importScripts_Callback_1_(this, urls);
-
+ void importScripts(String urls) => _blink.BlinkWorkerGlobalScope.instance.importScripts_Callback_1_(unwrap_jso(this), urls);
+
void _webkitRequestFileSystem(int type, int size, [_FileSystemCallback successCallback, _ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystem_Callback_4_(this, type, size, successCallback, errorCallback);
+ _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystem_Callback_4_(unwrap_jso(this), type, size, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
if (successCallback != null) {
- _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystem_Callback_3_(this, type, size, successCallback);
+ _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystem_Callback_3_(unwrap_jso(this), type, size, unwrap_jso(successCallback));
return;
}
- _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystem_Callback_2_(this, type, size);
+ _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystem_Callback_2_(unwrap_jso(this), type, size);
return;
}
@@ -34993,22 +35023,22 @@
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // untriaged
- _DOMFileSystemSync requestFileSystemSync(int type, int size) => _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystemSync_Callback_2_(this, type, size);
-
+ _DOMFileSystemSync requestFileSystemSync(int type, int size) => _blink.BlinkWorkerGlobalScope.instance.webkitRequestFileSystemSync_Callback_2_(unwrap_jso(this), type, size);
+
@DomName('WorkerGlobalScope.webkitResolveLocalFileSystemSyncURL')
@DocsEditable()
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
@Experimental() // untriaged
- _EntrySync resolveLocalFileSystemSyncUrl(String url) => _blink.BlinkWorkerGlobalScope.instance.webkitResolveLocalFileSystemSyncURL_Callback_1_(this, url);
-
+ _EntrySync resolveLocalFileSystemSyncUrl(String url) => _blink.BlinkWorkerGlobalScope.instance.webkitResolveLocalFileSystemSyncURL_Callback_1_(unwrap_jso(this), url);
+
void _webkitResolveLocalFileSystemUrl(String url, _EntryCallback successCallback, [_ErrorCallback errorCallback]) {
if (errorCallback != null) {
- _blink.BlinkWorkerGlobalScope.instance.webkitResolveLocalFileSystemURL_Callback_3_(this, url, successCallback, errorCallback);
+ _blink.BlinkWorkerGlobalScope.instance.webkitResolveLocalFileSystemURL_Callback_3_(unwrap_jso(this), url, unwrap_jso(successCallback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkWorkerGlobalScope.instance.webkitResolveLocalFileSystemURL_Callback_2_(this, url, successCallback);
+ _blink.BlinkWorkerGlobalScope.instance.webkitResolveLocalFileSystemURL_Callback_2_(unwrap_jso(this), url, unwrap_jso(successCallback));
return;
}
@@ -35023,33 +35053,33 @@
@DomName('WorkerGlobalScope.atob')
@DocsEditable()
@Experimental() // untriaged
- String atob(String string) => _blink.BlinkWorkerGlobalScope.instance.atob_Callback_1_(this, string);
-
+ String atob(String string) => _blink.BlinkWorkerGlobalScope.instance.atob_Callback_1_(unwrap_jso(this), string);
+
@DomName('WorkerGlobalScope.btoa')
@DocsEditable()
@Experimental() // untriaged
- String btoa(String string) => _blink.BlinkWorkerGlobalScope.instance.btoa_Callback_1_(this, string);
-
+ String btoa(String string) => _blink.BlinkWorkerGlobalScope.instance.btoa_Callback_1_(unwrap_jso(this), string);
+
@DomName('WorkerGlobalScope.clearInterval')
@DocsEditable()
@Experimental() // untriaged
- void _clearInterval(int handle) => _blink.BlinkWorkerGlobalScope.instance.clearInterval_Callback_1_(this, handle);
-
+ void _clearInterval(int handle) => _blink.BlinkWorkerGlobalScope.instance.clearInterval_Callback_1_(unwrap_jso(this), handle);
+
@DomName('WorkerGlobalScope.clearTimeout')
@DocsEditable()
@Experimental() // untriaged
- void _clearTimeout(int handle) => _blink.BlinkWorkerGlobalScope.instance.clearTimeout_Callback_1_(this, handle);
-
+ void _clearTimeout(int handle) => _blink.BlinkWorkerGlobalScope.instance.clearTimeout_Callback_1_(unwrap_jso(this), handle);
+
@DomName('WorkerGlobalScope.setInterval')
@DocsEditable()
@Experimental() // untriaged
- int _setInterval(Object handler, int timeout) => _blink.BlinkWorkerGlobalScope.instance.setInterval_Callback_2_(this, handler, timeout);
-
+ int _setInterval(Object handler, int timeout) => _blink.BlinkWorkerGlobalScope.instance.setInterval_Callback_2_(unwrap_jso(this), handler, timeout);
+
@DomName('WorkerGlobalScope.setTimeout')
@DocsEditable()
@Experimental() // untriaged
- int _setTimeout(Object handler, int timeout) => _blink.BlinkWorkerGlobalScope.instance.setTimeout_Callback_2_(this, handler, timeout);
-
+ int _setTimeout(Object handler, int timeout) => _blink.BlinkWorkerGlobalScope.instance.setTimeout_Callback_2_(unwrap_jso(this), handler, timeout);
+
/// Stream of `error` events handled by this [WorkerGlobalScope].
@DomName('WorkerGlobalScope.onerror')
@DocsEditable()
@@ -35074,13 +35104,13 @@
@DomName('WorkerPerformance.memory')
@DocsEditable()
@Experimental() // untriaged
- MemoryInfo get memory => _blink.BlinkWorkerPerformance.instance.memory_Getter_(this);
-
+ MemoryInfo get memory => wrap_jso(_blink.BlinkWorkerPerformance.instance.memory_Getter_(unwrap_jso(this)));
+
@DomName('WorkerPerformance.now')
@DocsEditable()
@Experimental() // untriaged
- double now() => _blink.BlinkWorkerPerformance.instance.now_Callback_0_(this);
-
+ double now() => _blink.BlinkWorkerPerformance.instance.now_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35105,16 +35135,16 @@
@DomName('XPathEvaluator.createExpression')
@DocsEditable()
- XPathExpression createExpression(String expression, XPathNSResolver resolver) => _blink.BlinkXPathEvaluator.instance.createExpression_Callback_2_(this, expression, resolver);
-
+ XPathExpression createExpression(String expression, XPathNSResolver resolver) => wrap_jso(_blink.BlinkXPathEvaluator.instance.createExpression_Callback_2_(unwrap_jso(this), expression, unwrap_jso(resolver)));
+
@DomName('XPathEvaluator.createNSResolver')
@DocsEditable()
- XPathNSResolver createNSResolver(Node nodeResolver) => _blink.BlinkXPathEvaluator.instance.createNSResolver_Callback_1_(this, nodeResolver);
-
+ XPathNSResolver createNSResolver(Node nodeResolver) => wrap_jso(_blink.BlinkXPathEvaluator.instance.createNSResolver_Callback_1_(unwrap_jso(this), unwrap_jso(nodeResolver)));
+
@DomName('XPathEvaluator.evaluate')
@DocsEditable()
- XPathResult evaluate(String expression, Node contextNode, XPathNSResolver resolver, int type, XPathResult inResult) => _blink.BlinkXPathEvaluator.instance.evaluate_Callback_5_(this, expression, contextNode, resolver, type, inResult);
-
+ XPathResult evaluate(String expression, Node contextNode, XPathNSResolver resolver, int type, XPathResult inResult) => wrap_jso(_blink.BlinkXPathEvaluator.instance.evaluate_Callback_5_(unwrap_jso(this), expression, unwrap_jso(contextNode), unwrap_jso(resolver), type, unwrap_jso(inResult)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35133,8 +35163,8 @@
@DomName('XPathExpression.evaluate')
@DocsEditable()
- XPathResult evaluate(Node contextNode, int type, XPathResult inResult) => _blink.BlinkXPathExpression.instance.evaluate_Callback_3_(this, contextNode, type, inResult);
-
+ XPathResult evaluate(Node contextNode, int type, XPathResult inResult) => wrap_jso(_blink.BlinkXPathExpression.instance.evaluate_Callback_3_(unwrap_jso(this), unwrap_jso(contextNode), type, unwrap_jso(inResult)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35153,8 +35183,8 @@
@DomName('XPathNSResolver.lookupNamespaceURI')
@DocsEditable()
- String lookupNamespaceUri(String prefix) => _blink.BlinkXPathNSResolver.instance.lookupNamespaceURI_Callback_1_(this, prefix);
-
+ String lookupNamespaceUri(String prefix) => _blink.BlinkXPathNSResolver.instance.lookupNamespaceURI_Callback_1_(unwrap_jso(this), prefix);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35213,40 +35243,40 @@
@DomName('XPathResult.booleanValue')
@DocsEditable()
- bool get booleanValue => _blink.BlinkXPathResult.instance.booleanValue_Getter_(this);
-
+ bool get booleanValue => _blink.BlinkXPathResult.instance.booleanValue_Getter_(unwrap_jso(this));
+
@DomName('XPathResult.invalidIteratorState')
@DocsEditable()
- bool get invalidIteratorState => _blink.BlinkXPathResult.instance.invalidIteratorState_Getter_(this);
-
+ bool get invalidIteratorState => _blink.BlinkXPathResult.instance.invalidIteratorState_Getter_(unwrap_jso(this));
+
@DomName('XPathResult.numberValue')
@DocsEditable()
- double get numberValue => _blink.BlinkXPathResult.instance.numberValue_Getter_(this);
-
+ double get numberValue => _blink.BlinkXPathResult.instance.numberValue_Getter_(unwrap_jso(this));
+
@DomName('XPathResult.resultType')
@DocsEditable()
- int get resultType => _blink.BlinkXPathResult.instance.resultType_Getter_(this);
-
+ int get resultType => _blink.BlinkXPathResult.instance.resultType_Getter_(unwrap_jso(this));
+
@DomName('XPathResult.singleNodeValue')
@DocsEditable()
- Node get singleNodeValue => _blink.BlinkXPathResult.instance.singleNodeValue_Getter_(this);
-
+ Node get singleNodeValue => wrap_jso(_blink.BlinkXPathResult.instance.singleNodeValue_Getter_(unwrap_jso(this)));
+
@DomName('XPathResult.snapshotLength')
@DocsEditable()
- int get snapshotLength => _blink.BlinkXPathResult.instance.snapshotLength_Getter_(this);
-
+ int get snapshotLength => _blink.BlinkXPathResult.instance.snapshotLength_Getter_(unwrap_jso(this));
+
@DomName('XPathResult.stringValue')
@DocsEditable()
- String get stringValue => _blink.BlinkXPathResult.instance.stringValue_Getter_(this);
-
+ String get stringValue => _blink.BlinkXPathResult.instance.stringValue_Getter_(unwrap_jso(this));
+
@DomName('XPathResult.iterateNext')
@DocsEditable()
- Node iterateNext() => _blink.BlinkXPathResult.instance.iterateNext_Callback_0_(this);
-
+ Node iterateNext() => wrap_jso(_blink.BlinkXPathResult.instance.iterateNext_Callback_0_(unwrap_jso(this)));
+
@DomName('XPathResult.snapshotItem')
@DocsEditable()
- Node snapshotItem(int index) => _blink.BlinkXPathResult.instance.snapshotItem_Callback_1_(this, index);
-
+ Node snapshotItem(int index) => wrap_jso(_blink.BlinkXPathResult.instance.snapshotItem_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35286,8 +35316,8 @@
@DomName('XMLSerializer.serializeToString')
@DocsEditable()
- String serializeToString(Node node) => _blink.BlinkXMLSerializer.instance.serializeToString_Callback_1_(this, node);
-
+ String serializeToString(Node node) => _blink.BlinkXMLSerializer.instance.serializeToString_Callback_1_(unwrap_jso(this), unwrap_jso(node));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35317,36 +35347,36 @@
@DomName('XSLTProcessor.clearParameters')
@DocsEditable()
- void clearParameters() => _blink.BlinkXSLTProcessor.instance.clearParameters_Callback_0_(this);
-
+ void clearParameters() => _blink.BlinkXSLTProcessor.instance.clearParameters_Callback_0_(unwrap_jso(this));
+
@DomName('XSLTProcessor.getParameter')
@DocsEditable()
- String getParameter(String namespaceURI, String localName) => _blink.BlinkXSLTProcessor.instance.getParameter_Callback_2_(this, namespaceURI, localName);
-
+ String getParameter(String namespaceURI, String localName) => _blink.BlinkXSLTProcessor.instance.getParameter_Callback_2_(unwrap_jso(this), namespaceURI, localName);
+
@DomName('XSLTProcessor.importStylesheet')
@DocsEditable()
- void importStylesheet(Node stylesheet) => _blink.BlinkXSLTProcessor.instance.importStylesheet_Callback_1_(this, stylesheet);
-
+ void importStylesheet(Node stylesheet) => _blink.BlinkXSLTProcessor.instance.importStylesheet_Callback_1_(unwrap_jso(this), unwrap_jso(stylesheet));
+
@DomName('XSLTProcessor.removeParameter')
@DocsEditable()
- void removeParameter(String namespaceURI, String localName) => _blink.BlinkXSLTProcessor.instance.removeParameter_Callback_2_(this, namespaceURI, localName);
-
+ void removeParameter(String namespaceURI, String localName) => _blink.BlinkXSLTProcessor.instance.removeParameter_Callback_2_(unwrap_jso(this), namespaceURI, localName);
+
@DomName('XSLTProcessor.reset')
@DocsEditable()
- void reset() => _blink.BlinkXSLTProcessor.instance.reset_Callback_0_(this);
-
+ void reset() => _blink.BlinkXSLTProcessor.instance.reset_Callback_0_(unwrap_jso(this));
+
@DomName('XSLTProcessor.setParameter')
@DocsEditable()
- void setParameter(String namespaceURI, String localName, String value) => _blink.BlinkXSLTProcessor.instance.setParameter_Callback_3_(this, namespaceURI, localName, value);
-
+ void setParameter(String namespaceURI, String localName, String value) => _blink.BlinkXSLTProcessor.instance.setParameter_Callback_3_(unwrap_jso(this), namespaceURI, localName, value);
+
@DomName('XSLTProcessor.transformToDocument')
@DocsEditable()
- Document transformToDocument(Node source) => _blink.BlinkXSLTProcessor.instance.transformToDocument_Callback_1_(this, source);
-
+ Document transformToDocument(Node source) => wrap_jso(_blink.BlinkXSLTProcessor.instance.transformToDocument_Callback_1_(unwrap_jso(this), unwrap_jso(source)));
+
@DomName('XSLTProcessor.transformToFragment')
@DocsEditable()
- DocumentFragment transformToFragment(Node source, Document docVal) => _blink.BlinkXSLTProcessor.instance.transformToFragment_Callback_2_(this, source, docVal);
-
+ DocumentFragment transformToFragment(Node source, Document docVal) => wrap_jso(_blink.BlinkXSLTProcessor.instance.transformToFragment_Callback_2_(unwrap_jso(this), unwrap_jso(source), unwrap_jso(docVal)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35364,40 +35394,40 @@
@DomName('Attr.localName')
@DocsEditable()
@Experimental() // untriaged
- String get _localName => _blink.BlinkAttr.instance.localName_Getter_(this);
-
+ String get _localName => _blink.BlinkAttr.instance.localName_Getter_(unwrap_jso(this));
+
@DomName('Attr.name')
@DocsEditable()
- String get name => _blink.BlinkAttr.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkAttr.instance.name_Getter_(unwrap_jso(this));
+
@DomName('Attr.namespaceURI')
@DocsEditable()
@Experimental() // untriaged
- String get _namespaceUri => _blink.BlinkAttr.instance.namespaceURI_Getter_(this);
-
+ String get _namespaceUri => _blink.BlinkAttr.instance.namespaceURI_Getter_(unwrap_jso(this));
+
@DomName('Attr.nodeValue')
@DocsEditable()
@Experimental() // untriaged
- String get nodeValue => _blink.BlinkAttr.instance.nodeValue_Getter_(this);
-
+ String get nodeValue => _blink.BlinkAttr.instance.nodeValue_Getter_(unwrap_jso(this));
+
@DomName('Attr.textContent')
@DocsEditable()
@Experimental() // untriaged
- String get text => _blink.BlinkAttr.instance.textContent_Getter_(this);
-
+ String get text => _blink.BlinkAttr.instance.textContent_Getter_(unwrap_jso(this));
+
@DomName('Attr.textContent')
@DocsEditable()
@Experimental() // untriaged
- void set text(String value) => _blink.BlinkAttr.instance.textContent_Setter_(this, value);
-
+ void set text(String value) => _blink.BlinkAttr.instance.textContent_Setter_(unwrap_jso(this), value);
+
@DomName('Attr.value')
@DocsEditable()
- String get value => _blink.BlinkAttr.instance.value_Getter_(this);
-
+ String get value => _blink.BlinkAttr.instance.value_Getter_(unwrap_jso(this));
+
@DomName('Attr.value')
@DocsEditable()
- void set value(String value) => _blink.BlinkAttr.instance.value_Setter_(this, value);
-
+ void set value(String value) => _blink.BlinkAttr.instance.value_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35580,28 +35610,28 @@
@DomName('ClientRect.bottom')
@DocsEditable()
- double get bottom => _blink.BlinkClientRect.instance.bottom_Getter_(this);
-
+ double get bottom => _blink.BlinkClientRect.instance.bottom_Getter_(unwrap_jso(this));
+
@DomName('ClientRect.height')
@DocsEditable()
- double get height => _blink.BlinkClientRect.instance.height_Getter_(this);
-
+ double get height => _blink.BlinkClientRect.instance.height_Getter_(unwrap_jso(this));
+
@DomName('ClientRect.left')
@DocsEditable()
- double get left => _blink.BlinkClientRect.instance.left_Getter_(this);
-
+ double get left => _blink.BlinkClientRect.instance.left_Getter_(unwrap_jso(this));
+
@DomName('ClientRect.right')
@DocsEditable()
- double get right => _blink.BlinkClientRect.instance.right_Getter_(this);
-
+ double get right => _blink.BlinkClientRect.instance.right_Getter_(unwrap_jso(this));
+
@DomName('ClientRect.top')
@DocsEditable()
- double get top => _blink.BlinkClientRect.instance.top_Getter_(this);
-
+ double get top => _blink.BlinkClientRect.instance.top_Getter_(unwrap_jso(this));
+
@DomName('ClientRect.width')
@DocsEditable()
- double get width => _blink.BlinkClientRect.instance.width_Getter_(this);
-}
+ double get width => _blink.BlinkClientRect.instance.width_Getter_(unwrap_jso(this));
+ }
/**
* This is the [Jenkins hash function][1] but using masking to keep
@@ -35654,16 +35684,16 @@
@DomName('ClientRectList.length')
@DocsEditable()
- int get length => _blink.BlinkClientRectList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkClientRectList.instance.length_Getter_(unwrap_jso(this));
+
Rectangle operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkClientRectList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkClientRectList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- Rectangle _nativeIndexedGetter(int index) => _blink.BlinkClientRectList.instance.item_Callback_1_(this, index);
-
+ Rectangle _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkClientRectList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, Rectangle value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -35704,8 +35734,8 @@
@DomName('ClientRectList.item')
@DocsEditable()
- Rectangle item(int index) => _blink.BlinkClientRectList.instance.item_Callback_1_(this, index);
-
+ Rectangle item(int index) => make_dart_rectangle(_blink.BlinkClientRectList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35738,16 +35768,16 @@
@DomName('CSSRuleList.length')
@DocsEditable()
- int get length => _blink.BlinkCSSRuleList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkCSSRuleList.instance.length_Getter_(unwrap_jso(this));
+
CssRule operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkCSSRuleList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkCSSRuleList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- CssRule _nativeIndexedGetter(int index) => _blink.BlinkCSSRuleList.instance.item_Callback_1_(this, index);
-
+ CssRule _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkCSSRuleList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, CssRule value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -35788,8 +35818,8 @@
@DomName('CSSRuleList.item')
@DocsEditable()
- CssRule item(int index) => _blink.BlinkCSSRuleList.instance.item_Callback_1_(this, index);
-
+ CssRule item(int index) => _blink.BlinkCSSRuleList.instance.item_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35808,16 +35838,16 @@
@DomName('CSSValueList.length')
@DocsEditable()
- int get length => _blink.BlinkCSSValueList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkCSSValueList.instance.length_Getter_(unwrap_jso(this));
+
_CSSValue operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkCSSValueList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkCSSValueList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- _CSSValue _nativeIndexedGetter(int index) => _blink.BlinkCSSValueList.instance.item_Callback_1_(this, index);
-
+ _CSSValue _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkCSSValueList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, _CSSValue value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -35858,8 +35888,8 @@
@DomName('CSSValueList.item')
@DocsEditable()
- _CSSValue item(int index) => _blink.BlinkCSSValueList.instance.item_Callback_1_(this, index);
-
+ _CSSValue item(int index) => _blink.BlinkCSSValueList.instance.item_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -35961,43 +35991,43 @@
@DomName('DOMRect.height')
@DocsEditable()
@Experimental() // untriaged
- num get height => _blink.BlinkDOMRect.instance.height_Getter_(this);
-
+ num get height => _blink.BlinkDOMRect.instance.height_Getter_(unwrap_jso(this));
+
@DomName('DOMRect.height')
@DocsEditable()
@Experimental() // untriaged
- void set height(num value) => _blink.BlinkDOMRect.instance.height_Setter_(this, value);
-
+ void set height(num value) => _blink.BlinkDOMRect.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('DOMRect.width')
@DocsEditable()
@Experimental() // untriaged
- num get width => _blink.BlinkDOMRect.instance.width_Getter_(this);
-
+ num get width => _blink.BlinkDOMRect.instance.width_Getter_(unwrap_jso(this));
+
@DomName('DOMRect.width')
@DocsEditable()
@Experimental() // untriaged
- void set width(num value) => _blink.BlinkDOMRect.instance.width_Setter_(this, value);
-
+ void set width(num value) => _blink.BlinkDOMRect.instance.width_Setter_(unwrap_jso(this), value);
+
@DomName('DOMRect.x')
@DocsEditable()
@Experimental() // untriaged
- num get x => _blink.BlinkDOMRect.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkDOMRect.instance.x_Getter_(unwrap_jso(this));
+
@DomName('DOMRect.x')
@DocsEditable()
@Experimental() // untriaged
- void set x(num value) => _blink.BlinkDOMRect.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkDOMRect.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('DOMRect.y')
@DocsEditable()
@Experimental() // untriaged
- num get y => _blink.BlinkDOMRect.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkDOMRect.instance.y_Getter_(unwrap_jso(this));
+
@DomName('DOMRect.y')
@DocsEditable()
@Experimental() // untriaged
- void set y(num value) => _blink.BlinkDOMRect.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkDOMRect.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -36086,16 +36116,16 @@
@DomName('GamepadList.length')
@DocsEditable()
- int get length => _blink.BlinkGamepadList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkGamepadList.instance.length_Getter_(unwrap_jso(this));
+
Gamepad operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkGamepadList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkGamepadList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- Gamepad _nativeIndexedGetter(int index) => _blink.BlinkGamepadList.instance.item_Callback_1_(this, index);
-
+ Gamepad _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkGamepadList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, Gamepad value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -36136,8 +36166,8 @@
@DomName('GamepadList.item')
@DocsEditable()
- Gamepad item(int index) => _blink.BlinkGamepadList.instance.item_Callback_1_(this, index);
-
+ Gamepad item(int index) => wrap_jso(_blink.BlinkGamepadList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -36156,8 +36186,8 @@
@DomName('HTMLAllCollection.item')
@DocsEditable()
- Element _item(int index) => _blink.BlinkHTMLAllCollection.instance.item_Callback_1_(this, index);
-
+ Element _item(int index) => wrap_jso(_blink.BlinkHTMLAllCollection.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -36330,16 +36360,16 @@
@DomName('NamedNodeMap.length')
@DocsEditable()
- int get length => _blink.BlinkNamedNodeMap.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkNamedNodeMap.instance.length_Getter_(unwrap_jso(this));
+
Node operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkNamedNodeMap.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkNamedNodeMap.instance.item_Callback_1_(unwrap_jso(this), index));
}
- Node _nativeIndexedGetter(int index) => _blink.BlinkNamedNodeMap.instance.item_Callback_1_(this, index);
-
+ Node _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkNamedNodeMap.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, Node value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -36380,36 +36410,36 @@
@DomName('NamedNodeMap.__getter__')
@DocsEditable()
- Node __getter__(String name) => _blink.BlinkNamedNodeMap.instance.$__getter___Callback_1_(this, name);
-
+ Node __getter__(String name) => wrap_jso(_blink.BlinkNamedNodeMap.instance.$__getter___Callback_1_(unwrap_jso(this), name));
+
@DomName('NamedNodeMap.getNamedItem')
@DocsEditable()
- Node getNamedItem(String name) => _blink.BlinkNamedNodeMap.instance.getNamedItem_Callback_1_(this, name);
-
+ Node getNamedItem(String name) => wrap_jso(_blink.BlinkNamedNodeMap.instance.getNamedItem_Callback_1_(unwrap_jso(this), name));
+
@DomName('NamedNodeMap.getNamedItemNS')
@DocsEditable()
- Node getNamedItemNS(String namespaceURI, String localName) => _blink.BlinkNamedNodeMap.instance.getNamedItemNS_Callback_2_(this, namespaceURI, localName);
-
+ Node getNamedItemNS(String namespaceURI, String localName) => wrap_jso(_blink.BlinkNamedNodeMap.instance.getNamedItemNS_Callback_2_(unwrap_jso(this), namespaceURI, localName));
+
@DomName('NamedNodeMap.item')
@DocsEditable()
- Node item(int index) => _blink.BlinkNamedNodeMap.instance.item_Callback_1_(this, index);
-
+ Node item(int index) => wrap_jso(_blink.BlinkNamedNodeMap.instance.item_Callback_1_(unwrap_jso(this), index));
+
@DomName('NamedNodeMap.removeNamedItem')
@DocsEditable()
- Node removeNamedItem(String name) => _blink.BlinkNamedNodeMap.instance.removeNamedItem_Callback_1_(this, name);
-
+ Node removeNamedItem(String name) => wrap_jso(_blink.BlinkNamedNodeMap.instance.removeNamedItem_Callback_1_(unwrap_jso(this), name));
+
@DomName('NamedNodeMap.removeNamedItemNS')
@DocsEditable()
- Node removeNamedItemNS(String namespaceURI, String localName) => _blink.BlinkNamedNodeMap.instance.removeNamedItemNS_Callback_2_(this, namespaceURI, localName);
-
+ Node removeNamedItemNS(String namespaceURI, String localName) => wrap_jso(_blink.BlinkNamedNodeMap.instance.removeNamedItemNS_Callback_2_(unwrap_jso(this), namespaceURI, localName));
+
@DomName('NamedNodeMap.setNamedItem')
@DocsEditable()
- Node setNamedItem(Node node) => _blink.BlinkNamedNodeMap.instance.setNamedItem_Callback_1_(this, node);
-
+ Node setNamedItem(Node node) => wrap_jso(_blink.BlinkNamedNodeMap.instance.setNamedItem_Callback_1_(unwrap_jso(this), unwrap_jso(node)));
+
@DomName('NamedNodeMap.setNamedItemNS')
@DocsEditable()
- Node setNamedItemNS(Node node) => _blink.BlinkNamedNodeMap.instance.setNamedItemNS_Callback_1_(this, node);
-
+ Node setNamedItemNS(Node node) => wrap_jso(_blink.BlinkNamedNodeMap.instance.setNamedItemNS_Callback_1_(unwrap_jso(this), unwrap_jso(node)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -36504,33 +36534,33 @@
@DomName('Request.credentials')
@DocsEditable()
@Experimental() // untriaged
- String get credentials => _blink.BlinkRequest.instance.credentials_Getter_(this);
-
+ String get credentials => _blink.BlinkRequest.instance.credentials_Getter_(unwrap_jso(this));
+
@DomName('Request.headers')
@DocsEditable()
@Experimental() // untriaged
- Headers get headers => _blink.BlinkRequest.instance.headers_Getter_(this);
-
+ Headers get headers => wrap_jso(_blink.BlinkRequest.instance.headers_Getter_(unwrap_jso(this)));
+
@DomName('Request.mode')
@DocsEditable()
@Experimental() // untriaged
- String get mode => _blink.BlinkRequest.instance.mode_Getter_(this);
-
+ String get mode => _blink.BlinkRequest.instance.mode_Getter_(unwrap_jso(this));
+
@DomName('Request.referrer')
@DocsEditable()
@Experimental() // untriaged
- String get referrer => _blink.BlinkRequest.instance.referrer_Getter_(this);
-
+ String get referrer => _blink.BlinkRequest.instance.referrer_Getter_(unwrap_jso(this));
+
@DomName('Request.url')
@DocsEditable()
@Experimental() // untriaged
- String get url => _blink.BlinkRequest.instance.url_Getter_(this);
-
+ String get url => _blink.BlinkRequest.instance.url_Getter_(unwrap_jso(this));
+
@DomName('Request.clone')
@DocsEditable()
@Experimental() // untriaged
- _Request clone() => _blink.BlinkRequest.instance.clone_Callback_0_(this);
-
+ _Request clone() => _blink.BlinkRequest.instance.clone_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -36609,16 +36639,16 @@
@DomName('SpeechRecognitionResultList.length')
@DocsEditable()
- int get length => _blink.BlinkSpeechRecognitionResultList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSpeechRecognitionResultList.instance.length_Getter_(unwrap_jso(this));
+
SpeechRecognitionResult operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkSpeechRecognitionResultList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkSpeechRecognitionResultList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- SpeechRecognitionResult _nativeIndexedGetter(int index) => _blink.BlinkSpeechRecognitionResultList.instance.item_Callback_1_(this, index);
-
+ SpeechRecognitionResult _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkSpeechRecognitionResultList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, SpeechRecognitionResult value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -36659,8 +36689,8 @@
@DomName('SpeechRecognitionResultList.item')
@DocsEditable()
- SpeechRecognitionResult item(int index) => _blink.BlinkSpeechRecognitionResultList.instance.item_Callback_1_(this, index);
-
+ SpeechRecognitionResult item(int index) => wrap_jso(_blink.BlinkSpeechRecognitionResultList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -36677,16 +36707,16 @@
@DomName('StyleSheetList.length')
@DocsEditable()
- int get length => _blink.BlinkStyleSheetList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkStyleSheetList.instance.length_Getter_(unwrap_jso(this));
+
StyleSheet operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkStyleSheetList.instance.item_Callback_1_(this, index);
+ return wrap_jso(_blink.BlinkStyleSheetList.instance.item_Callback_1_(unwrap_jso(this), index));
}
- StyleSheet _nativeIndexedGetter(int index) => _blink.BlinkStyleSheetList.instance.item_Callback_1_(this, index);
-
+ StyleSheet _nativeIndexedGetter(int index) => wrap_jso(_blink.BlinkStyleSheetList.instance.item_Callback_1_(unwrap_jso(this), index));
+
void operator[]=(int index, StyleSheet value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -36727,12 +36757,12 @@
@DomName('StyleSheetList.__getter__')
@DocsEditable()
- CssStyleSheet __getter__(String name) => _blink.BlinkStyleSheetList.instance.$__getter___Callback_1_(this, name);
-
+ CssStyleSheet __getter__(String name) => _blink.BlinkStyleSheetList.instance.$__getter___Callback_1_(unwrap_jso(this), name);
+
@DomName('StyleSheetList.item')
@DocsEditable()
- StyleSheet item(int index) => _blink.BlinkStyleSheetList.instance.item_Callback_1_(this, index);
-
+ StyleSheet item(int index) => wrap_jso(_blink.BlinkStyleSheetList.instance.item_Callback_1_(unwrap_jso(this), index));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -36883,7 +36913,7 @@
@DocsEditable()
@DomName('XMLHttpRequestProgressEvent')
@Experimental() // nonstandard
-abstract class _XMLHttpRequestProgressEvent extends ProgressEvent {
+class _XMLHttpRequestProgressEvent extends ProgressEvent {
// To suppress missing implicit constructor warnings.
factory _XMLHttpRequestProgressEvent._() { throw new UnsupportedError("Not supported"); }
@@ -40322,17 +40352,17 @@
}
class _SimpleNodeValidator implements NodeValidator {
- final Set<String> allowedElements;
- final Set<String> allowedAttributes;
- final Set<String> allowedUriAttributes;
+ final Set<String> allowedElements = new Set<String>();
+ final Set<String> allowedAttributes = new Set<String>();
+ final Set<String> allowedUriAttributes = new Set<String>();
final UriPolicy uriPolicy;
factory _SimpleNodeValidator.allowNavigation(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
- allowedElements: [
+ allowedElements: const [
'A',
'FORM'],
- allowedAttributes: [
+ allowedAttributes: const [
'A::accesskey',
'A::coords',
'A::hreflang',
@@ -40349,7 +40379,7 @@
'FORM::novalidate',
'FORM::target',
],
- allowedUriAttributes: [
+ allowedUriAttributes: const [
'A::href',
'FORM::action',
]);
@@ -40357,10 +40387,10 @@
factory _SimpleNodeValidator.allowImages(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
- allowedElements: [
+ allowedElements: const [
'IMG'
],
- allowedAttributes: [
+ allowedAttributes: const [
'IMG::align',
'IMG::alt',
'IMG::border',
@@ -40372,14 +40402,14 @@
'IMG::vspace',
'IMG::width',
],
- allowedUriAttributes: [
+ allowedUriAttributes: const [
'IMG::src',
]);
}
factory _SimpleNodeValidator.allowTextElements() {
return new _SimpleNodeValidator(null,
- allowedElements: [
+ allowedElements: const [
'B',
'BLOCKQUOTE',
'BR',
@@ -40407,13 +40437,18 @@
*/
_SimpleNodeValidator(this.uriPolicy,
{Iterable<String> allowedElements, Iterable<String> allowedAttributes,
- Iterable<String> allowedUriAttributes}):
- this.allowedElements = allowedElements != null ?
- new Set.from(allowedElements) : new Set(),
- this.allowedAttributes = allowedAttributes != null ?
- new Set.from(allowedAttributes) : new Set(),
- this.allowedUriAttributes = allowedUriAttributes != null ?
- new Set.from(allowedUriAttributes) : new Set();
+ Iterable<String> allowedUriAttributes}) {
+ this.allowedElements.addAll(allowedElements ?? const []);
+ allowedAttributes = allowedAttributes ?? const [];
+ allowedUriAttributes = allowedUriAttributes ?? const [];
+ var legalAttributes = allowedAttributes.where(
+ (x) => !_Html5NodeValidator._uriAttributes.contains(x));
+ var extraUriAttributes = allowedAttributes.where(
+ (x) => _Html5NodeValidator._uriAttributes.contains(x));
+ this.allowedAttributes.addAll(legalAttributes);
+ this.allowedUriAttributes.addAll(allowedUriAttributes);
+ this.allowedUriAttributes.addAll(extraUriAttributes);
+ }
bool allowsElement(Element element) {
return allowedElements.contains(element.tagName);
@@ -41622,7 +41657,10 @@
return element;
}
+ // TODO(terry): Enable below for Dartium w/ interop and remove other static window().
+ // static window() => wrap_jso(_blink.Blink_Utils.window()['window']);
static window() => _blink.Blink_Utils.window();
+
static forwardingPrint(String message) => _blink.Blink_Utils.forwardingPrint(message);
static void spawnDomHelper(Function f, int replyTo) =>
_blink.Blink_Utils.spawnDomHelper(f, replyTo);
@@ -42233,16 +42271,16 @@
}
static void _register(Document document, String tag, Type customType,
- String extendsTagName) => _blink.Blink_Utils.register(document, tag, customType, extendsTagName);
+ String extendsTagName) => _blink.Blink_Utils.register(unwrap_jso(document), tag, customType, extendsTagName);
static Element createElement(Document document, String tagName) =>
- _blink.Blink_Utils.createElement(document, tagName);
+ wrap_jso(_blink.Blink_Utils.createElement(unwrap_jso(document), tagName));
static void initializeCustomElement(HtmlElement element) =>
- _blink.Blink_Utils.initializeCustomElement(element);
+ _blink.Blink_Utils.initializeCustomElement(unwrap_jso(element));
static Element changeElementWrapper(HtmlElement element, Type type) =>
- _blink.Blink_Utils.changeElementWrapper(element, type);
+ _blink.Blink_Utils.changeElementWrapper(unwrap_jso(element), type);
}
class _DOMWindowCrossFrame extends NativeFieldWrapperClass2 implements
diff --git a/sdk/lib/html/html_common/filtered_element_list.dart b/sdk/lib/html/html_common/filtered_element_list.dart
index 3514cdc..1a55d79 100644
--- a/sdk/lib/html/html_common/filtered_element_list.dart
+++ b/sdk/lib/html/html_common/filtered_element_list.dart
@@ -5,11 +5,10 @@
part of html_common;
/**
- * An indexable collection of a node's descendants in the document tree,
+ * An indexable collection of a node's direct descendants in the document tree,
* filtered so that only elements are in the collection.
*/
-class FilteredElementList<T extends Element> extends ListBase<T>
- implements NodeListWrapper{
+class FilteredElementList extends ListBase<Element> implements NodeListWrapper {
final Node _node;
final List<Node> _childNodes;
@@ -21,21 +20,28 @@
* var filteredElements = new FilteredElementList(query("#container"));
* // filteredElements is [a, b, c].
*/
- FilteredElementList(Node node): _childNodes = node.nodes, _node = node;
+ FilteredElementList(Node node)
+ : _childNodes = node.nodes,
+ _node = node;
// We can't memoize this, since it's possible that children will be messed
// with externally to this class.
//
- // TODO(nweiz): we don't always need to create a new list. For example
- // forEach, every, any, ... could directly work on the _childNodes.
- List<T> get _filtered =>
- new List<T>.from(_childNodes.where((n) => n is Element));
+ // We can't use where directly because the types don't agree and there's
+ // no way to cast it, so take advantage of being in the SDK to construct
+ // a WhereIterable directly. Even so it has to be of dynamic.
+ Iterable<Element> get _iterable =>
+ new WhereIterable(_childNodes, (n) => n is Element);
+ List<Element> get _filtered =>
+ new List<Element>.from(_iterable, growable: false);
- void forEach(void f(T element)) {
+ void forEach(void f(Element element)) {
+ // This cannot use the iterator, because operations during iteration might
+ // modify the collection, e.g. addAll might append a node to another parent.
_filtered.forEach(f);
}
- void operator []=(int index, T value) {
+ void operator []=(int index, Element value) {
this[index].replaceWith(value);
}
@@ -50,43 +56,44 @@
removeRange(newLength, len);
}
- void add(T value) {
+ void add(Element value) {
_childNodes.add(value);
}
- void addAll(Iterable<T> iterable) {
- for (T element in iterable) {
+ void addAll(Iterable<Element> iterable) {
+ for (Element element in iterable) {
add(element);
}
}
bool contains(Object needle) {
if (needle is! Element) return false;
- T element = needle;
+ Element element = needle;
return element.parentNode == _node;
}
- Iterable<T> get reversed => _filtered.reversed;
+ Iterable<Element> get reversed => _filtered.reversed;
- void sort([int compare(T a, T b)]) {
+ void sort([int compare(Element a, Element b)]) {
throw new UnsupportedError('Cannot sort filtered list');
}
- void setRange(int start, int end, Iterable<T> iterable,
- [int skipCount = 0]) {
+ void setRange(int start, int end, Iterable<Element> iterable,
+ [int skipCount = 0]) {
throw new UnsupportedError('Cannot setRange on filtered list');
}
- void fillRange(int start, int end, [T fillValue]) {
+ void fillRange(int start, int end, [Element fillValue]) {
throw new UnsupportedError('Cannot fillRange on filtered list');
}
- void replaceRange(int start, int end, Iterable<T> iterable) {
+ void replaceRange(int start, int end, Iterable<Element> iterable) {
throw new UnsupportedError('Cannot replaceRange on filtered list');
}
void removeRange(int start, int end) {
- _filtered.sublist(start, end).forEach((el) => el.remove());
+ new List.from(_iterable.skip(start).take(end - start))
+ .forEach((el) => el.remove());
}
void clear() {
@@ -95,23 +102,33 @@
_childNodes.clear();
}
- T removeLast() {
- final result = this.last;
+ Element removeLast() {
+ final result = _iterable.last;
if (result != null) {
result.remove();
}
return result;
}
- void insert(int index, T value) {
- _childNodes.insert(index, value);
+ void insert(int index, Element value) {
+ if (index == length) {
+ add(value);
+ } else {
+ var element = _iterable.elementAt(index);
+ element.parentNode.insertBefore(value, element);
+ }
}
- void insertAll(int index, Iterable<T> iterable) {
- _childNodes.insertAll(index, iterable);
+ void insertAll(int index, Iterable<Element> iterable) {
+ if (index == length) {
+ addAll(iterable);
+ } else {
+ var element = _iterable.elementAt(index);
+ element.parentNode.insertAllBefore(iterable, element);
+ }
}
- T removeAt(int index) {
+ Element removeAt(int index) {
final result = this[index];
result.remove();
return result;
@@ -119,19 +136,19 @@
bool remove(Object element) {
if (element is! Element) return false;
- for (int i = 0; i < length; i++) {
- T indexElement = this[i];
- if (identical(indexElement, element)) {
- indexElement.remove();
- return true;
- }
+ if (contains(element)) {
+ (element as Element).remove(); // Placate the type checker
+ return true;
+ } else {
+ return false;
}
- return false;
}
- int get length => _filtered.length;
- T operator [](int index) => _filtered[index];
- Iterator<T> get iterator => _filtered.iterator;
+ int get length => _iterable.length;
+ Element operator [](int index) => _iterable.elementAt(index);
+ // This cannot use the iterator, because operations during iteration might
+ // modify the collection, e.g. addAll might append a node to another parent.
+ Iterator<Element> get iterator => _filtered.iterator;
List<Node> get rawList => _node.childNodes;
}
diff --git a/sdk/lib/html/html_common/html_common.dart b/sdk/lib/html/html_common/html_common.dart
index c504a37..a538266 100644
--- a/sdk/lib/html/html_common/html_common.dart
+++ b/sdk/lib/html/html_common/html_common.dart
@@ -6,6 +6,7 @@
import 'dart:collection';
import 'dart:html';
+import 'dart:_internal' show WhereIterable;
import 'metadata.dart';
export 'metadata.dart';
diff --git a/sdk/lib/html/html_common/html_common_dart2js.dart b/sdk/lib/html/html_common/html_common_dart2js.dart
index e823008..9dcd5b9 100644
--- a/sdk/lib/html/html_common/html_common_dart2js.dart
+++ b/sdk/lib/html/html_common/html_common_dart2js.dart
@@ -6,6 +6,7 @@
import 'dart:collection';
import 'dart:html';
+import 'dart:_internal' show WhereIterable;
import 'dart:web_gl' as gl;
import 'dart:_native_typed_data';
import 'dart:_js_helper' show Creates, Returns;
diff --git a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
index ee73b5f..eb045b0 100644
--- a/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
+++ b/sdk/lib/indexed_db/dartium/indexed_db_dartium.dart
@@ -121,6 +121,7 @@
'IDBVersionChangeEvent': () => VersionChangeEvent,
};
+
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -152,46 +153,46 @@
@DomName('IDBCursor.direction')
@DocsEditable()
- String get direction => _blink.BlinkIDBCursor.instance.direction_Getter_(this);
-
+ String get direction => _blink.BlinkIDBCursor.instance.direction_Getter_(unwrap_jso(this));
+
@DomName('IDBCursor.key')
@DocsEditable()
- Object get key => _blink.BlinkIDBCursor.instance.key_Getter_(this);
-
+ Object get key => _blink.BlinkIDBCursor.instance.key_Getter_(unwrap_jso(this));
+
@DomName('IDBCursor.primaryKey')
@DocsEditable()
- Object get primaryKey => _blink.BlinkIDBCursor.instance.primaryKey_Getter_(this);
-
+ Object get primaryKey => _blink.BlinkIDBCursor.instance.primaryKey_Getter_(unwrap_jso(this));
+
@DomName('IDBCursor.source')
@DocsEditable()
- Object get source => _blink.BlinkIDBCursor.instance.source_Getter_(this);
-
+ Object get source => _blink.BlinkIDBCursor.instance.source_Getter_(unwrap_jso(this));
+
@DomName('IDBCursor.advance')
@DocsEditable()
- void advance(int count) => _blink.BlinkIDBCursor.instance.advance_Callback_1_(this, count);
-
+ void advance(int count) => _blink.BlinkIDBCursor.instance.advance_Callback_1_(unwrap_jso(this), count);
+
@DomName('IDBCursor.continuePrimaryKey')
@DocsEditable()
@Experimental() // untriaged
- void continuePrimaryKey(Object key, Object primaryKey) => _blink.BlinkIDBCursor.instance.continuePrimaryKey_Callback_2_(this, key, primaryKey);
-
+ void continuePrimaryKey(Object key, Object primaryKey) => _blink.BlinkIDBCursor.instance.continuePrimaryKey_Callback_2_(unwrap_jso(this), key, primaryKey);
+
@DomName('IDBCursor.delete')
@DocsEditable()
- Request _delete() => _blink.BlinkIDBCursor.instance.delete_Callback_0_(this);
-
+ Request _delete() => wrap_jso(_blink.BlinkIDBCursor.instance.delete_Callback_0_(unwrap_jso(this)));
+
void next([Object key]) {
if (key != null) {
- _blink.BlinkIDBCursor.instance.continue_Callback_1_(this, key);
+ _blink.BlinkIDBCursor.instance.continue_Callback_1_(unwrap_jso(this), key);
return;
}
- _blink.BlinkIDBCursor.instance.continue_Callback_0_(this);
+ _blink.BlinkIDBCursor.instance.continue_Callback_0_(unwrap_jso(this));
return;
}
@DomName('IDBCursor.update')
@DocsEditable()
- Request _update(Object value) => _blink.BlinkIDBCursor.instance.update_Callback_1_(this, value);
-
+ Request _update(Object value) => wrap_jso(_blink.BlinkIDBCursor.instance.update_Callback_1_(unwrap_jso(this), value));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -209,8 +210,8 @@
@DomName('IDBCursorWithValue.value')
@DocsEditable()
- Object get value => _blink.BlinkIDBCursorWithValue.instance.value_Getter_(this);
-
+ Object get value => _blink.BlinkIDBCursorWithValue.instance.value_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -292,72 +293,72 @@
@DomName('IDBDatabase.name')
@DocsEditable()
- String get name => _blink.BlinkIDBDatabase.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkIDBDatabase.instance.name_Getter_(unwrap_jso(this));
+
@DomName('IDBDatabase.objectStoreNames')
@DocsEditable()
- List<String> get objectStoreNames => _blink.BlinkIDBDatabase.instance.objectStoreNames_Getter_(this);
-
+ List<String> get objectStoreNames => _blink.BlinkIDBDatabase.instance.objectStoreNames_Getter_(unwrap_jso(this));
+
@DomName('IDBDatabase.version')
@DocsEditable()
- Object get version => _blink.BlinkIDBDatabase.instance.version_Getter_(this);
-
+ Object get version => _blink.BlinkIDBDatabase.instance.version_Getter_(unwrap_jso(this));
+
@DomName('IDBDatabase.close')
@DocsEditable()
- void close() => _blink.BlinkIDBDatabase.instance.close_Callback_0_(this);
-
+ void close() => _blink.BlinkIDBDatabase.instance.close_Callback_0_(unwrap_jso(this));
+
ObjectStore _createObjectStore(String name, [Map options]) {
if (options != null) {
- return _blink.BlinkIDBDatabase.instance.createObjectStore_Callback_2_(this, name, options);
+ return _blink.BlinkIDBDatabase.instance.createObjectStore_Callback_2_(unwrap_jso(this), name, options);
}
- return _blink.BlinkIDBDatabase.instance.createObjectStore_Callback_1_(this, name);
+ return _blink.BlinkIDBDatabase.instance.createObjectStore_Callback_1_(unwrap_jso(this), name);
}
@DomName('IDBDatabase.deleteObjectStore')
@DocsEditable()
- void deleteObjectStore(String name) => _blink.BlinkIDBDatabase.instance.deleteObjectStore_Callback_1_(this, name);
-
+ void deleteObjectStore(String name) => _blink.BlinkIDBDatabase.instance.deleteObjectStore_Callback_1_(unwrap_jso(this), name);
+
Transaction transaction(storeName_OR_storeNames, [String mode]) {
if ((storeName_OR_storeNames is String || storeName_OR_storeNames == null) && mode == null) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(this, storeName_OR_storeNames);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames));
}
if ((mode is String || mode == null) && (storeName_OR_storeNames is String || storeName_OR_storeNames == null)) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(this, storeName_OR_storeNames, mode);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode);
}
if ((storeName_OR_storeNames is List<String> || storeName_OR_storeNames == null) && mode == null) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(this, storeName_OR_storeNames);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames));
}
if ((mode is String || mode == null) && (storeName_OR_storeNames is List<String> || storeName_OR_storeNames == null)) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(this, storeName_OR_storeNames, mode);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode);
}
if ((storeName_OR_storeNames is DomStringList || storeName_OR_storeNames == null) && mode == null) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(this, storeName_OR_storeNames);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames));
}
if ((mode is String || mode == null) && (storeName_OR_storeNames is DomStringList || storeName_OR_storeNames == null)) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(this, storeName_OR_storeNames, mode);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeName_OR_storeNames), mode);
}
throw new ArgumentError("Incorrect number or type of arguments");
}
Transaction transactionList(List<String> storeNames, [String mode]) {
if (mode != null) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(this, storeNames, mode);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), storeNames, mode);
}
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(this, storeNames);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), storeNames);
}
Transaction transactionStore(String storeName, [String mode]) {
if (mode != null) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(this, storeName, mode);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), storeName, mode);
}
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(this, storeName);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), storeName);
}
Transaction transactionStores(List<String> storeNames, [String mode]) {
if (mode != null) {
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(this, storeNames, mode);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(storeNames), mode);
}
- return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(this, storeNames);
+ return _blink.BlinkIDBDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(storeNames));
}
/// Stream of `abort` events handled by this [Database].
@@ -474,17 +475,17 @@
@DomName('IDBFactory.cmp')
@DocsEditable()
- int cmp(Object first, Object second) => _blink.BlinkIDBFactory.instance.cmp_Callback_2_(this, first, second);
-
+ int cmp(Object first, Object second) => _blink.BlinkIDBFactory.instance.cmp_Callback_2_(unwrap_jso(this), first, second);
+
@DomName('IDBFactory.deleteDatabase')
@DocsEditable()
- OpenDBRequest _deleteDatabase(String name) => _blink.BlinkIDBFactory.instance.deleteDatabase_Callback_1_(this, name);
-
+ OpenDBRequest _deleteDatabase(String name) => _blink.BlinkIDBFactory.instance.deleteDatabase_Callback_1_(unwrap_jso(this), name);
+
OpenDBRequest _open(String name, [int version]) {
if (version != null) {
- return _blink.BlinkIDBFactory.instance.open_Callback_2_(this, name, version);
+ return _blink.BlinkIDBFactory.instance.open_Callback_2_(unwrap_jso(this), name, version);
}
- return _blink.BlinkIDBFactory.instance.open_Callback_1_(this, name);
+ return _blink.BlinkIDBFactory.instance.open_Callback_1_(unwrap_jso(this), name);
}
@DomName('IDBFactory.webkitGetDatabaseNames')
@@ -492,8 +493,8 @@
@SupportedBrowser(SupportedBrowser.CHROME)
@SupportedBrowser(SupportedBrowser.SAFARI)
@Experimental()
- Request _webkitGetDatabaseNames() => _blink.BlinkIDBFactory.instance.webkitGetDatabaseNames_Callback_0_(this);
-
+ Request _webkitGetDatabaseNames() => wrap_jso(_blink.BlinkIDBFactory.instance.webkitGetDatabaseNames_Callback_0_(unwrap_jso(this)));
+
}
@@ -612,48 +613,48 @@
@DomName('IDBIndex.keyPath')
@DocsEditable()
- Object get keyPath => _blink.BlinkIDBIndex.instance.keyPath_Getter_(this);
-
+ Object get keyPath => _blink.BlinkIDBIndex.instance.keyPath_Getter_(unwrap_jso(this));
+
@DomName('IDBIndex.multiEntry')
@DocsEditable()
- bool get multiEntry => _blink.BlinkIDBIndex.instance.multiEntry_Getter_(this);
-
+ bool get multiEntry => _blink.BlinkIDBIndex.instance.multiEntry_Getter_(unwrap_jso(this));
+
@DomName('IDBIndex.name')
@DocsEditable()
- String get name => _blink.BlinkIDBIndex.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkIDBIndex.instance.name_Getter_(unwrap_jso(this));
+
@DomName('IDBIndex.objectStore')
@DocsEditable()
- ObjectStore get objectStore => _blink.BlinkIDBIndex.instance.objectStore_Getter_(this);
-
+ ObjectStore get objectStore => wrap_jso(_blink.BlinkIDBIndex.instance.objectStore_Getter_(unwrap_jso(this)));
+
@DomName('IDBIndex.unique')
@DocsEditable()
- bool get unique => _blink.BlinkIDBIndex.instance.unique_Getter_(this);
-
+ bool get unique => _blink.BlinkIDBIndex.instance.unique_Getter_(unwrap_jso(this));
+
@DomName('IDBIndex.count')
@DocsEditable()
- Request _count(Object key) => _blink.BlinkIDBIndex.instance.count_Callback_1_(this, key);
-
+ Request _count(Object key) => wrap_jso(_blink.BlinkIDBIndex.instance.count_Callback_1_(unwrap_jso(this), key));
+
@DomName('IDBIndex.get')
@DocsEditable()
- Request _get(Object key) => _blink.BlinkIDBIndex.instance.get_Callback_1_(this, key);
-
+ Request _get(Object key) => wrap_jso(_blink.BlinkIDBIndex.instance.get_Callback_1_(unwrap_jso(this), key));
+
@DomName('IDBIndex.getKey')
@DocsEditable()
- Request _getKey(Object key) => _blink.BlinkIDBIndex.instance.getKey_Callback_1_(this, key);
-
+ Request _getKey(Object key) => wrap_jso(_blink.BlinkIDBIndex.instance.getKey_Callback_1_(unwrap_jso(this), key));
+
Request _openCursor(Object range, [String direction]) {
if (direction != null) {
- return _blink.BlinkIDBIndex.instance.openCursor_Callback_2_(this, range, direction);
+ return wrap_jso(_blink.BlinkIDBIndex.instance.openCursor_Callback_2_(unwrap_jso(this), range, direction));
}
- return _blink.BlinkIDBIndex.instance.openCursor_Callback_1_(this, range);
+ return wrap_jso(_blink.BlinkIDBIndex.instance.openCursor_Callback_1_(unwrap_jso(this), range));
}
Request _openKeyCursor(Object range, [String direction]) {
if (direction != null) {
- return _blink.BlinkIDBIndex.instance.openKeyCursor_Callback_2_(this, range, direction);
+ return wrap_jso(_blink.BlinkIDBIndex.instance.openKeyCursor_Callback_2_(unwrap_jso(this), range, direction));
}
- return _blink.BlinkIDBIndex.instance.openKeyCursor_Callback_1_(this, range);
+ return wrap_jso(_blink.BlinkIDBIndex.instance.openKeyCursor_Callback_1_(unwrap_jso(this), range));
}
}
@@ -688,20 +689,20 @@
@DomName('IDBKeyRange.lower')
@DocsEditable()
- Object get lower => _blink.BlinkIDBKeyRange.instance.lower_Getter_(this);
-
+ Object get lower => _blink.BlinkIDBKeyRange.instance.lower_Getter_(unwrap_jso(this));
+
@DomName('IDBKeyRange.lowerOpen')
@DocsEditable()
- bool get lowerOpen => _blink.BlinkIDBKeyRange.instance.lowerOpen_Getter_(this);
-
+ bool get lowerOpen => _blink.BlinkIDBKeyRange.instance.lowerOpen_Getter_(unwrap_jso(this));
+
@DomName('IDBKeyRange.upper')
@DocsEditable()
- Object get upper => _blink.BlinkIDBKeyRange.instance.upper_Getter_(this);
-
+ Object get upper => _blink.BlinkIDBKeyRange.instance.upper_Getter_(unwrap_jso(this));
+
@DomName('IDBKeyRange.upperOpen')
@DocsEditable()
- bool get upperOpen => _blink.BlinkIDBKeyRange.instance.upperOpen_Getter_(this);
-
+ bool get upperOpen => _blink.BlinkIDBKeyRange.instance.upperOpen_Getter_(unwrap_jso(this));
+
static KeyRange bound_(Object lower, Object upper, [bool lowerOpen, bool upperOpen]) {
if (upperOpen != null) {
return _blink.BlinkIDBKeyRange.instance.bound_Callback_4_(lower, upper, lowerOpen, upperOpen);
@@ -723,7 +724,7 @@
@DocsEditable()
@Experimental() // non-standard
static KeyRange only_(Object value) => _blink.BlinkIDBKeyRange.instance.only_Callback_1_(value);
-
+
static KeyRange upperBound_(Object bound, [bool open]) {
if (open != null) {
return _blink.BlinkIDBKeyRange.instance.upperBound_Callback_2_(bound, open);
@@ -872,90 +873,90 @@
@DomName('IDBObjectStore.autoIncrement')
@DocsEditable()
- bool get autoIncrement => _blink.BlinkIDBObjectStore.instance.autoIncrement_Getter_(this);
-
+ bool get autoIncrement => _blink.BlinkIDBObjectStore.instance.autoIncrement_Getter_(unwrap_jso(this));
+
@DomName('IDBObjectStore.indexNames')
@DocsEditable()
- List<String> get indexNames => _blink.BlinkIDBObjectStore.instance.indexNames_Getter_(this);
-
+ List<String> get indexNames => _blink.BlinkIDBObjectStore.instance.indexNames_Getter_(unwrap_jso(this));
+
@DomName('IDBObjectStore.keyPath')
@DocsEditable()
- Object get keyPath => _blink.BlinkIDBObjectStore.instance.keyPath_Getter_(this);
-
+ Object get keyPath => _blink.BlinkIDBObjectStore.instance.keyPath_Getter_(unwrap_jso(this));
+
@DomName('IDBObjectStore.name')
@DocsEditable()
- String get name => _blink.BlinkIDBObjectStore.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkIDBObjectStore.instance.name_Getter_(unwrap_jso(this));
+
@DomName('IDBObjectStore.transaction')
@DocsEditable()
- Transaction get transaction => _blink.BlinkIDBObjectStore.instance.transaction_Getter_(this);
-
+ Transaction get transaction => wrap_jso(_blink.BlinkIDBObjectStore.instance.transaction_Getter_(unwrap_jso(this)));
+
Request _add(Object value, [Object key]) {
if (key != null) {
- return _blink.BlinkIDBObjectStore.instance.add_Callback_2_(this, value, key);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.add_Callback_2_(unwrap_jso(this), value, key));
}
- return _blink.BlinkIDBObjectStore.instance.add_Callback_1_(this, value);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.add_Callback_1_(unwrap_jso(this), value));
}
@DomName('IDBObjectStore.clear')
@DocsEditable()
- Request _clear() => _blink.BlinkIDBObjectStore.instance.clear_Callback_0_(this);
-
+ Request _clear() => wrap_jso(_blink.BlinkIDBObjectStore.instance.clear_Callback_0_(unwrap_jso(this)));
+
@DomName('IDBObjectStore.count')
@DocsEditable()
- Request _count(Object key) => _blink.BlinkIDBObjectStore.instance.count_Callback_1_(this, key);
-
+ Request _count(Object key) => wrap_jso(_blink.BlinkIDBObjectStore.instance.count_Callback_1_(unwrap_jso(this), key));
+
Index _createIndex(String name, keyPath, [Map options]) {
if ((keyPath is String || keyPath == null) && (name is String || name == null) && options == null) {
- return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(this, name, keyPath);
+ return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(unwrap_jso(this), name, unwrap_jso(keyPath));
}
if ((options is Map || options == null) && (keyPath is String || keyPath == null) && (name is String || name == null)) {
- return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(this, name, keyPath, options);
+ return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(unwrap_jso(this), name, unwrap_jso(keyPath), options);
}
if ((keyPath is List<String> || keyPath == null) && (name is String || name == null) && options == null) {
- return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(this, name, keyPath);
+ return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_2_(unwrap_jso(this), name, unwrap_jso(keyPath));
}
if ((options is Map || options == null) && (keyPath is List<String> || keyPath == null) && (name is String || name == null)) {
- return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(this, name, keyPath, options);
+ return _blink.BlinkIDBObjectStore.instance.createIndex_Callback_3_(unwrap_jso(this), name, unwrap_jso(keyPath), options);
}
throw new ArgumentError("Incorrect number or type of arguments");
}
@DomName('IDBObjectStore.delete')
@DocsEditable()
- Request _delete(Object key) => _blink.BlinkIDBObjectStore.instance.delete_Callback_1_(this, key);
-
+ Request _delete(Object key) => wrap_jso(_blink.BlinkIDBObjectStore.instance.delete_Callback_1_(unwrap_jso(this), key));
+
@DomName('IDBObjectStore.deleteIndex')
@DocsEditable()
- void deleteIndex(String name) => _blink.BlinkIDBObjectStore.instance.deleteIndex_Callback_1_(this, name);
-
+ void deleteIndex(String name) => _blink.BlinkIDBObjectStore.instance.deleteIndex_Callback_1_(unwrap_jso(this), name);
+
@DomName('IDBObjectStore.get')
@DocsEditable()
- Request _get(Object key) => _blink.BlinkIDBObjectStore.instance.get_Callback_1_(this, key);
-
+ Request _get(Object key) => wrap_jso(_blink.BlinkIDBObjectStore.instance.get_Callback_1_(unwrap_jso(this), key));
+
@DomName('IDBObjectStore.index')
@DocsEditable()
- Index index(String name) => _blink.BlinkIDBObjectStore.instance.index_Callback_1_(this, name);
-
+ Index index(String name) => _blink.BlinkIDBObjectStore.instance.index_Callback_1_(unwrap_jso(this), name);
+
Request _openCursor(Object range, [String direction]) {
if (direction != null) {
- return _blink.BlinkIDBObjectStore.instance.openCursor_Callback_2_(this, range, direction);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.openCursor_Callback_2_(unwrap_jso(this), range, direction));
}
- return _blink.BlinkIDBObjectStore.instance.openCursor_Callback_1_(this, range);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.openCursor_Callback_1_(unwrap_jso(this), range));
}
Request openKeyCursor(Object range, [String direction]) {
if (direction != null) {
- return _blink.BlinkIDBObjectStore.instance.openKeyCursor_Callback_2_(this, range, direction);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.openKeyCursor_Callback_2_(unwrap_jso(this), range, direction));
}
- return _blink.BlinkIDBObjectStore.instance.openKeyCursor_Callback_1_(this, range);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.openKeyCursor_Callback_1_(unwrap_jso(this), range));
}
Request _put(Object value, [Object key]) {
if (key != null) {
- return _blink.BlinkIDBObjectStore.instance.put_Callback_2_(this, value, key);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.put_Callback_2_(unwrap_jso(this), value, key));
}
- return _blink.BlinkIDBObjectStore.instance.put_Callback_1_(this, value);
+ return wrap_jso(_blink.BlinkIDBObjectStore.instance.put_Callback_1_(unwrap_jso(this), value));
}
@@ -1067,24 +1068,24 @@
@DomName('IDBRequest.error')
@DocsEditable()
- DomError get error => _blink.BlinkIDBRequest.instance.error_Getter_(this);
-
+ DomError get error => wrap_jso(_blink.BlinkIDBRequest.instance.error_Getter_(unwrap_jso(this)));
+
@DomName('IDBRequest.readyState')
@DocsEditable()
- String get readyState => _blink.BlinkIDBRequest.instance.readyState_Getter_(this);
-
+ String get readyState => _blink.BlinkIDBRequest.instance.readyState_Getter_(unwrap_jso(this));
+
@DomName('IDBRequest.result')
@DocsEditable()
- Object get result => _blink.BlinkIDBRequest.instance.result_Getter_(this);
-
+ Object get result => _blink.BlinkIDBRequest.instance.result_Getter_(unwrap_jso(this));
+
@DomName('IDBRequest.source')
@DocsEditable()
- Object get source => _blink.BlinkIDBRequest.instance.source_Getter_(this);
-
+ Object get source => _blink.BlinkIDBRequest.instance.source_Getter_(unwrap_jso(this));
+
@DomName('IDBRequest.transaction')
@DocsEditable()
- Transaction get transaction => _blink.BlinkIDBRequest.instance.transaction_Getter_(this);
-
+ Transaction get transaction => wrap_jso(_blink.BlinkIDBRequest.instance.transaction_Getter_(unwrap_jso(this)));
+
/// Stream of `error` events handled by this [Request].
@DomName('IDBRequest.onerror')
@DocsEditable()
@@ -1168,24 +1169,24 @@
@DomName('IDBTransaction.db')
@DocsEditable()
- Database get db => _blink.BlinkIDBTransaction.instance.db_Getter_(this);
-
+ Database get db => wrap_jso(_blink.BlinkIDBTransaction.instance.db_Getter_(unwrap_jso(this)));
+
@DomName('IDBTransaction.error')
@DocsEditable()
- DomError get error => _blink.BlinkIDBTransaction.instance.error_Getter_(this);
-
+ DomError get error => wrap_jso(_blink.BlinkIDBTransaction.instance.error_Getter_(unwrap_jso(this)));
+
@DomName('IDBTransaction.mode')
@DocsEditable()
- String get mode => _blink.BlinkIDBTransaction.instance.mode_Getter_(this);
-
+ String get mode => _blink.BlinkIDBTransaction.instance.mode_Getter_(unwrap_jso(this));
+
@DomName('IDBTransaction.abort')
@DocsEditable()
- void abort() => _blink.BlinkIDBTransaction.instance.abort_Callback_0_(this);
-
+ void abort() => _blink.BlinkIDBTransaction.instance.abort_Callback_0_(unwrap_jso(this));
+
@DomName('IDBTransaction.objectStore')
@DocsEditable()
- ObjectStore objectStore(String name) => _blink.BlinkIDBTransaction.instance.objectStore_Callback_1_(this, name);
-
+ ObjectStore objectStore(String name) => _blink.BlinkIDBTransaction.instance.objectStore_Callback_1_(unwrap_jso(this), name);
+
/// Stream of `abort` events handled by this [Transaction].
@DomName('IDBTransaction.onabort')
@DocsEditable()
@@ -1219,19 +1220,19 @@
@DomName('IDBVersionChangeEvent.dataLoss')
@DocsEditable()
@Experimental() // untriaged
- String get dataLoss => _blink.BlinkIDBVersionChangeEvent.instance.dataLoss_Getter_(this);
-
+ String get dataLoss => _blink.BlinkIDBVersionChangeEvent.instance.dataLoss_Getter_(unwrap_jso(this));
+
@DomName('IDBVersionChangeEvent.dataLossMessage')
@DocsEditable()
@Experimental() // untriaged
- String get dataLossMessage => _blink.BlinkIDBVersionChangeEvent.instance.dataLossMessage_Getter_(this);
-
+ String get dataLossMessage => _blink.BlinkIDBVersionChangeEvent.instance.dataLossMessage_Getter_(unwrap_jso(this));
+
@DomName('IDBVersionChangeEvent.newVersion')
@DocsEditable()
- int get newVersion => _blink.BlinkIDBVersionChangeEvent.instance.newVersion_Getter_(this);
-
+ int get newVersion => _blink.BlinkIDBVersionChangeEvent.instance.newVersion_Getter_(unwrap_jso(this));
+
@DomName('IDBVersionChangeEvent.oldVersion')
@DocsEditable()
- int get oldVersion => _blink.BlinkIDBVersionChangeEvent.instance.oldVersion_Getter_(this);
-
+ int get oldVersion => _blink.BlinkIDBVersionChangeEvent.instance.oldVersion_Getter_(unwrap_jso(this));
+
}
diff --git a/sdk/lib/io/websocket_impl.dart b/sdk/lib/io/websocket_impl.dart
index 2657606..9693873 100644
--- a/sdk/lib/io/websocket_impl.dart
+++ b/sdk/lib/io/websocket_impl.dart
@@ -903,6 +903,10 @@
_subscription.pause();
_controller = new StreamController(sync: true,
onListen: _subscription.resume,
+ onCancel: () {
+ _subscription.cancel();
+ _subscription = null;
+ },
onPause: _subscription.pause,
onResume: _subscription.resume);
@@ -965,7 +969,7 @@
// processed if received.
// 2) set a timer terminate the connection if a close frame is
// not received.
- if (!_controller.hasListener) {
+ if (!_controller.hasListener && _subscription != null) {
_controller.stream.drain().catchError((_) => {});
}
if (_closeTimer == null) {
@@ -974,7 +978,7 @@
// Reuse code and reason from the local close.
_closeCode = _outCloseCode;
_closeReason = _outCloseReason;
- _subscription.cancel();
+ if (_subscription != null) _subscription.cancel();
_controller.close();
_webSockets.remove(_serviceId);
});
diff --git a/sdk/lib/isolate/isolate.dart b/sdk/lib/isolate/isolate.dart
index 9b488c2..9a8b313 100644
--- a/sdk/lib/isolate/isolate.dart
+++ b/sdk/lib/isolate/isolate.dart
@@ -144,15 +144,30 @@
* If the [paused] parameter is set to `true`,
* the isolate will start up in a paused state,
* as if by an initial call of `isolate.pause(isolate.pauseCapability)`.
- * This allows setting up error or exit listeners on the isolate
- * before it starts running.
* To resume the isolate, call `isolate.resume(isolate.pauseCapability)`.
*
+ * If the [errorAreFatal], [onExit] and/or [onError] parameters are provided,
+ * the isolate will act as if, respectively, [setErrorsFatal],
+ * [addOnExitListener] and [addErrorListener] were called with the
+ * corresponding parameter and was processed before the isolate starts
+ * running.
+ *
+ * You can also call the [setErrorsFatal], [addOnExitListener] and
+ * [addErrorListener] methods on the returned isolate, but unless the
+ * isolate was started as [paused], it may already have terminated
+ * before those methods can complete.
+ *
+ * WARNING: The [errorsAreFatal], [onExit] and [onError] parameters are not
+ * implemented yet.
+ *
* Returns a future that will complete with an [Isolate] instance if the
* spawning succeeded. It will complete with an error otherwise.
*/
external static Future<Isolate> spawn(void entryPoint(message), var message,
- { bool paused: false });
+ { bool paused: false,
+ bool errorsAreFatal,
+ SendPort onExit,
+ SendPort onError });
/**
* Creates and spawns an isolate that runs the code from the library with
@@ -161,7 +176,8 @@
* The isolate starts executing the top-level `main` function of the library
* with the given URI.
*
- * The target `main` must be a subtype of one of these three signatures:
+ * The target `main` must be callable with zero, one or two arguments.
+ * Examples:
*
* * `main()`
* * `main(args)`
@@ -173,10 +189,22 @@
* If the [paused] parameter is set to `true`,
* the isolate will start up in a paused state,
* as if by an initial call of `isolate.pause(isolate.pauseCapability)`.
- * This allows setting up error or exit listeners on the isolate
- * before it starts running.
* To resume the isolate, call `isolate.resume(isolate.pauseCapability)`.
*
+ * If the [errorAreFatal], [onExit] and/or [onError] parameters are provided,
+ * the isolate will act as if, respectively, [setErrorsFatal],
+ * [addOnExitListener] and [addErrorListener] were called with the
+ * corresponding parameter and was processed before the isolate starts
+ * running.
+ *
+ * You can also call the [setErrorsFatal], [addOnExitListener] and
+ * [addErrorListener] methods on the returned isolate, but unless the
+ * isolate was started as [paused], it may already have terminated
+ * before those methods can complete.
+ *
+ * WARNING: The [errorsAreFatal], [onExit] and [onError] parameters are not
+ * implemented yet.
+ *
* If the [checked] parameter is set to `true` or `false`,
* the new isolate will run code in checked mode,
* respectively in production mode, if possible.
@@ -214,7 +242,10 @@
var message,
{bool paused: false,
bool checked,
- Uri packageRoot});
+ Uri packageRoot,
+ bool errorsAreFatal,
+ SendPort onExit,
+ SendPort onError});
/**
* Requests the isolate to pause.
@@ -276,10 +307,13 @@
* If `response` cannot be sent to the isolate, then the request is ignored.
* It is recommended to only use simple values that can be sent to all
* isolates, like `null`, booleans, numbers or strings.
- *
+ *
* Since isolates run concurrently, it's possible for it to exit before the
- * exit listener is established. To avoid this, start the isolate paused,
- * add the listener, then resume it.
+ * exit listener is established, and in that case no response will be
+ * sent on [responsePort].
+ * To avoid this, either use the corresponding parameter to the spawn
+ * function, or start the isolate paused, add the listener and
+ * then resume the isolate.
*/
/* TODO(lrn): Can we do better? Can the system recognize this message and
* send a reply if the receiving isolate is dead?
@@ -305,6 +339,12 @@
*
* This call requires the [terminateCapability] for the isolate.
* If the capability is not correct, no change is made.
+ *
+ * Since isolates run concurrently, it's possible for it to exit due to an
+ * error before errors are set non-fatal.
+ * To avoid this, either use the corresponding parameter to the spawn
+ * function, or start the isolate paused, set errors non-fatal and
+ * then resume the isolate.
*/
external void setErrorsFatal(bool errorsAreFatal);
@@ -368,10 +408,10 @@
*
* Listening using the same port more than once does nothing. It will only
* get each error once.
- *
+ *
* Since isolates run concurrently, it's possible for it to exit before the
* error listener is established. To avoid this, start the isolate paused,
- * add the listener, then resume it.
+ * add the listener and then resume the isolate.
*/
external void addErrorListener(SendPort port);
diff --git a/sdk/lib/svg/dart2js/svg_dart2js.dart b/sdk/lib/svg/dart2js/svg_dart2js.dart
index b8035b3..1e63bd2 100644
--- a/sdk/lib/svg/dart2js/svg_dart2js.dart
+++ b/sdk/lib/svg/dart2js/svg_dart2js.dart
@@ -4799,7 +4799,7 @@
CssClassSet get classes => new _AttributeClassSet(this);
- List<Element> get children => new FilteredElementList<Element>(this);
+ List<Element> get children => new FilteredElementList(this);
void set children(List<Element> value) {
final children = this.children;
diff --git a/sdk/lib/svg/dartium/svg_dartium.dart b/sdk/lib/svg/dartium/svg_dartium.dart
index 0090a4d..8d52279 100644
--- a/sdk/lib/svg/dartium/svg_dartium.dart
+++ b/sdk/lib/svg/dartium/svg_dartium.dart
@@ -168,6 +168,7 @@
'SVGZoomEvent': () => ZoomEvent,
};
+
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -206,12 +207,12 @@
@DomName('SVGAElement.target')
@DocsEditable()
- AnimatedString get target => _blink.BlinkSVGAElement.instance.target_Getter_(this);
-
+ AnimatedString get target => wrap_jso(_blink.BlinkSVGAElement.instance.target_Getter_(unwrap_jso(this)));
+
@DomName('SVGAElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGAElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGAElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -245,24 +246,24 @@
@DomName('SVGAltGlyphElement.format')
@DocsEditable()
- String get format => _blink.BlinkSVGAltGlyphElement.instance.format_Getter_(this);
-
+ String get format => _blink.BlinkSVGAltGlyphElement.instance.format_Getter_(unwrap_jso(this));
+
@DomName('SVGAltGlyphElement.format')
@DocsEditable()
- void set format(String value) => _blink.BlinkSVGAltGlyphElement.instance.format_Setter_(this, value);
-
+ void set format(String value) => _blink.BlinkSVGAltGlyphElement.instance.format_Setter_(unwrap_jso(this), value);
+
@DomName('SVGAltGlyphElement.glyphRef')
@DocsEditable()
- String get glyphRef => _blink.BlinkSVGAltGlyphElement.instance.glyphRef_Getter_(this);
-
+ String get glyphRef => _blink.BlinkSVGAltGlyphElement.instance.glyphRef_Getter_(unwrap_jso(this));
+
@DomName('SVGAltGlyphElement.glyphRef')
@DocsEditable()
- void set glyphRef(String value) => _blink.BlinkSVGAltGlyphElement.instance.glyphRef_Setter_(this, value);
-
+ void set glyphRef(String value) => _blink.BlinkSVGAltGlyphElement.instance.glyphRef_Setter_(unwrap_jso(this), value);
+
@DomName('SVGAltGlyphElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGAltGlyphElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGAltGlyphElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -300,40 +301,40 @@
@DomName('SVGAngle.unitType')
@DocsEditable()
- int get unitType => _blink.BlinkSVGAngle.instance.unitType_Getter_(this);
-
+ int get unitType => _blink.BlinkSVGAngle.instance.unitType_Getter_(unwrap_jso(this));
+
@DomName('SVGAngle.value')
@DocsEditable()
- num get value => _blink.BlinkSVGAngle.instance.value_Getter_(this);
-
+ num get value => _blink.BlinkSVGAngle.instance.value_Getter_(unwrap_jso(this));
+
@DomName('SVGAngle.value')
@DocsEditable()
- void set value(num value) => _blink.BlinkSVGAngle.instance.value_Setter_(this, value);
-
+ void set value(num value) => _blink.BlinkSVGAngle.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('SVGAngle.valueAsString')
@DocsEditable()
- String get valueAsString => _blink.BlinkSVGAngle.instance.valueAsString_Getter_(this);
-
+ String get valueAsString => _blink.BlinkSVGAngle.instance.valueAsString_Getter_(unwrap_jso(this));
+
@DomName('SVGAngle.valueAsString')
@DocsEditable()
- void set valueAsString(String value) => _blink.BlinkSVGAngle.instance.valueAsString_Setter_(this, value);
-
+ void set valueAsString(String value) => _blink.BlinkSVGAngle.instance.valueAsString_Setter_(unwrap_jso(this), value);
+
@DomName('SVGAngle.valueInSpecifiedUnits')
@DocsEditable()
- num get valueInSpecifiedUnits => _blink.BlinkSVGAngle.instance.valueInSpecifiedUnits_Getter_(this);
-
+ num get valueInSpecifiedUnits => _blink.BlinkSVGAngle.instance.valueInSpecifiedUnits_Getter_(unwrap_jso(this));
+
@DomName('SVGAngle.valueInSpecifiedUnits')
@DocsEditable()
- void set valueInSpecifiedUnits(num value) => _blink.BlinkSVGAngle.instance.valueInSpecifiedUnits_Setter_(this, value);
-
+ void set valueInSpecifiedUnits(num value) => _blink.BlinkSVGAngle.instance.valueInSpecifiedUnits_Setter_(unwrap_jso(this), value);
+
@DomName('SVGAngle.convertToSpecifiedUnits')
@DocsEditable()
- void convertToSpecifiedUnits(int unitType) => _blink.BlinkSVGAngle.instance.convertToSpecifiedUnits_Callback_1_(this, unitType);
-
+ void convertToSpecifiedUnits(int unitType) => _blink.BlinkSVGAngle.instance.convertToSpecifiedUnits_Callback_1_(unwrap_jso(this), unitType);
+
@DomName('SVGAngle.newValueSpecifiedUnits')
@DocsEditable()
- void newValueSpecifiedUnits(int unitType, num valueInSpecifiedUnits) => _blink.BlinkSVGAngle.instance.newValueSpecifiedUnits_Callback_2_(this, unitType, valueInSpecifiedUnits);
-
+ void newValueSpecifiedUnits(int unitType, num valueInSpecifiedUnits) => _blink.BlinkSVGAngle.instance.newValueSpecifiedUnits_Callback_2_(unwrap_jso(this), unitType, valueInSpecifiedUnits);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -444,12 +445,12 @@
@DomName('SVGAnimatedAngle.animVal')
@DocsEditable()
- Angle get animVal => _blink.BlinkSVGAnimatedAngle.instance.animVal_Getter_(this);
-
+ Angle get animVal => wrap_jso(_blink.BlinkSVGAnimatedAngle.instance.animVal_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimatedAngle.baseVal')
@DocsEditable()
- Angle get baseVal => _blink.BlinkSVGAnimatedAngle.instance.baseVal_Getter_(this);
-
+ Angle get baseVal => wrap_jso(_blink.BlinkSVGAnimatedAngle.instance.baseVal_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -467,16 +468,16 @@
@DomName('SVGAnimatedBoolean.animVal')
@DocsEditable()
- bool get animVal => _blink.BlinkSVGAnimatedBoolean.instance.animVal_Getter_(this);
-
+ bool get animVal => _blink.BlinkSVGAnimatedBoolean.instance.animVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedBoolean.baseVal')
@DocsEditable()
- bool get baseVal => _blink.BlinkSVGAnimatedBoolean.instance.baseVal_Getter_(this);
-
+ bool get baseVal => _blink.BlinkSVGAnimatedBoolean.instance.baseVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedBoolean.baseVal')
@DocsEditable()
- void set baseVal(bool value) => _blink.BlinkSVGAnimatedBoolean.instance.baseVal_Setter_(this, value);
-
+ void set baseVal(bool value) => _blink.BlinkSVGAnimatedBoolean.instance.baseVal_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -494,16 +495,16 @@
@DomName('SVGAnimatedEnumeration.animVal')
@DocsEditable()
- int get animVal => _blink.BlinkSVGAnimatedEnumeration.instance.animVal_Getter_(this);
-
+ int get animVal => _blink.BlinkSVGAnimatedEnumeration.instance.animVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedEnumeration.baseVal')
@DocsEditable()
- int get baseVal => _blink.BlinkSVGAnimatedEnumeration.instance.baseVal_Getter_(this);
-
+ int get baseVal => _blink.BlinkSVGAnimatedEnumeration.instance.baseVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedEnumeration.baseVal')
@DocsEditable()
- void set baseVal(int value) => _blink.BlinkSVGAnimatedEnumeration.instance.baseVal_Setter_(this, value);
-
+ void set baseVal(int value) => _blink.BlinkSVGAnimatedEnumeration.instance.baseVal_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -521,16 +522,16 @@
@DomName('SVGAnimatedInteger.animVal')
@DocsEditable()
- int get animVal => _blink.BlinkSVGAnimatedInteger.instance.animVal_Getter_(this);
-
+ int get animVal => _blink.BlinkSVGAnimatedInteger.instance.animVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedInteger.baseVal')
@DocsEditable()
- int get baseVal => _blink.BlinkSVGAnimatedInteger.instance.baseVal_Getter_(this);
-
+ int get baseVal => _blink.BlinkSVGAnimatedInteger.instance.baseVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedInteger.baseVal')
@DocsEditable()
- void set baseVal(int value) => _blink.BlinkSVGAnimatedInteger.instance.baseVal_Setter_(this, value);
-
+ void set baseVal(int value) => _blink.BlinkSVGAnimatedInteger.instance.baseVal_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -548,12 +549,12 @@
@DomName('SVGAnimatedLength.animVal')
@DocsEditable()
- Length get animVal => _blink.BlinkSVGAnimatedLength.instance.animVal_Getter_(this);
-
+ Length get animVal => wrap_jso(_blink.BlinkSVGAnimatedLength.instance.animVal_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimatedLength.baseVal')
@DocsEditable()
- Length get baseVal => _blink.BlinkSVGAnimatedLength.instance.baseVal_Getter_(this);
-
+ Length get baseVal => wrap_jso(_blink.BlinkSVGAnimatedLength.instance.baseVal_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -571,12 +572,12 @@
@DomName('SVGAnimatedLengthList.animVal')
@DocsEditable()
- LengthList get animVal => _blink.BlinkSVGAnimatedLengthList.instance.animVal_Getter_(this);
-
+ LengthList get animVal => wrap_jso(_blink.BlinkSVGAnimatedLengthList.instance.animVal_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimatedLengthList.baseVal')
@DocsEditable()
- LengthList get baseVal => _blink.BlinkSVGAnimatedLengthList.instance.baseVal_Getter_(this);
-
+ LengthList get baseVal => wrap_jso(_blink.BlinkSVGAnimatedLengthList.instance.baseVal_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -594,16 +595,16 @@
@DomName('SVGAnimatedNumber.animVal')
@DocsEditable()
- double get animVal => _blink.BlinkSVGAnimatedNumber.instance.animVal_Getter_(this);
-
+ double get animVal => _blink.BlinkSVGAnimatedNumber.instance.animVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedNumber.baseVal')
@DocsEditable()
- num get baseVal => _blink.BlinkSVGAnimatedNumber.instance.baseVal_Getter_(this);
-
+ num get baseVal => _blink.BlinkSVGAnimatedNumber.instance.baseVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedNumber.baseVal')
@DocsEditable()
- void set baseVal(num value) => _blink.BlinkSVGAnimatedNumber.instance.baseVal_Setter_(this, value);
-
+ void set baseVal(num value) => _blink.BlinkSVGAnimatedNumber.instance.baseVal_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -621,12 +622,12 @@
@DomName('SVGAnimatedNumberList.animVal')
@DocsEditable()
- NumberList get animVal => _blink.BlinkSVGAnimatedNumberList.instance.animVal_Getter_(this);
-
+ NumberList get animVal => wrap_jso(_blink.BlinkSVGAnimatedNumberList.instance.animVal_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimatedNumberList.baseVal')
@DocsEditable()
- NumberList get baseVal => _blink.BlinkSVGAnimatedNumberList.instance.baseVal_Getter_(this);
-
+ NumberList get baseVal => wrap_jso(_blink.BlinkSVGAnimatedNumberList.instance.baseVal_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -644,12 +645,12 @@
@DomName('SVGAnimatedPreserveAspectRatio.animVal')
@DocsEditable()
- PreserveAspectRatio get animVal => _blink.BlinkSVGAnimatedPreserveAspectRatio.instance.animVal_Getter_(this);
-
+ PreserveAspectRatio get animVal => wrap_jso(_blink.BlinkSVGAnimatedPreserveAspectRatio.instance.animVal_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimatedPreserveAspectRatio.baseVal')
@DocsEditable()
- PreserveAspectRatio get baseVal => _blink.BlinkSVGAnimatedPreserveAspectRatio.instance.baseVal_Getter_(this);
-
+ PreserveAspectRatio get baseVal => wrap_jso(_blink.BlinkSVGAnimatedPreserveAspectRatio.instance.baseVal_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -667,12 +668,12 @@
@DomName('SVGAnimatedRect.animVal')
@DocsEditable()
- Rect get animVal => _blink.BlinkSVGAnimatedRect.instance.animVal_Getter_(this);
-
+ Rect get animVal => wrap_jso(_blink.BlinkSVGAnimatedRect.instance.animVal_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimatedRect.baseVal')
@DocsEditable()
- Rect get baseVal => _blink.BlinkSVGAnimatedRect.instance.baseVal_Getter_(this);
-
+ Rect get baseVal => wrap_jso(_blink.BlinkSVGAnimatedRect.instance.baseVal_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -690,16 +691,16 @@
@DomName('SVGAnimatedString.animVal')
@DocsEditable()
- String get animVal => _blink.BlinkSVGAnimatedString.instance.animVal_Getter_(this);
-
+ String get animVal => _blink.BlinkSVGAnimatedString.instance.animVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedString.baseVal')
@DocsEditable()
- String get baseVal => _blink.BlinkSVGAnimatedString.instance.baseVal_Getter_(this);
-
+ String get baseVal => _blink.BlinkSVGAnimatedString.instance.baseVal_Getter_(unwrap_jso(this));
+
@DomName('SVGAnimatedString.baseVal')
@DocsEditable()
- void set baseVal(String value) => _blink.BlinkSVGAnimatedString.instance.baseVal_Setter_(this, value);
-
+ void set baseVal(String value) => _blink.BlinkSVGAnimatedString.instance.baseVal_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -717,12 +718,12 @@
@DomName('SVGAnimatedTransformList.animVal')
@DocsEditable()
- TransformList get animVal => _blink.BlinkSVGAnimatedTransformList.instance.animVal_Getter_(this);
-
+ TransformList get animVal => wrap_jso(_blink.BlinkSVGAnimatedTransformList.instance.animVal_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimatedTransformList.baseVal')
@DocsEditable()
- TransformList get baseVal => _blink.BlinkSVGAnimatedTransformList.instance.baseVal_Getter_(this);
-
+ TransformList get baseVal => wrap_jso(_blink.BlinkSVGAnimatedTransformList.instance.baseVal_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -750,52 +751,52 @@
@DomName('SVGAnimationElement.targetElement')
@DocsEditable()
- SvgElement get targetElement => _blink.BlinkSVGAnimationElement.instance.targetElement_Getter_(this);
-
+ SvgElement get targetElement => wrap_jso(_blink.BlinkSVGAnimationElement.instance.targetElement_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimationElement.beginElement')
@DocsEditable()
- void beginElement() => _blink.BlinkSVGAnimationElement.instance.beginElement_Callback_0_(this);
-
+ void beginElement() => _blink.BlinkSVGAnimationElement.instance.beginElement_Callback_0_(unwrap_jso(this));
+
@DomName('SVGAnimationElement.beginElementAt')
@DocsEditable()
- void beginElementAt(num offset) => _blink.BlinkSVGAnimationElement.instance.beginElementAt_Callback_1_(this, offset);
-
+ void beginElementAt(num offset) => _blink.BlinkSVGAnimationElement.instance.beginElementAt_Callback_1_(unwrap_jso(this), offset);
+
@DomName('SVGAnimationElement.endElement')
@DocsEditable()
- void endElement() => _blink.BlinkSVGAnimationElement.instance.endElement_Callback_0_(this);
-
+ void endElement() => _blink.BlinkSVGAnimationElement.instance.endElement_Callback_0_(unwrap_jso(this));
+
@DomName('SVGAnimationElement.endElementAt')
@DocsEditable()
- void endElementAt(num offset) => _blink.BlinkSVGAnimationElement.instance.endElementAt_Callback_1_(this, offset);
-
+ void endElementAt(num offset) => _blink.BlinkSVGAnimationElement.instance.endElementAt_Callback_1_(unwrap_jso(this), offset);
+
@DomName('SVGAnimationElement.getCurrentTime')
@DocsEditable()
- double getCurrentTime() => _blink.BlinkSVGAnimationElement.instance.getCurrentTime_Callback_0_(this);
-
+ double getCurrentTime() => _blink.BlinkSVGAnimationElement.instance.getCurrentTime_Callback_0_(unwrap_jso(this));
+
@DomName('SVGAnimationElement.getSimpleDuration')
@DocsEditable()
- double getSimpleDuration() => _blink.BlinkSVGAnimationElement.instance.getSimpleDuration_Callback_0_(this);
-
+ double getSimpleDuration() => _blink.BlinkSVGAnimationElement.instance.getSimpleDuration_Callback_0_(unwrap_jso(this));
+
@DomName('SVGAnimationElement.getStartTime')
@DocsEditable()
- double getStartTime() => _blink.BlinkSVGAnimationElement.instance.getStartTime_Callback_0_(this);
-
+ double getStartTime() => _blink.BlinkSVGAnimationElement.instance.getStartTime_Callback_0_(unwrap_jso(this));
+
@DomName('SVGAnimationElement.requiredExtensions')
@DocsEditable()
- StringList get requiredExtensions => _blink.BlinkSVGAnimationElement.instance.requiredExtensions_Getter_(this);
-
+ StringList get requiredExtensions => wrap_jso(_blink.BlinkSVGAnimationElement.instance.requiredExtensions_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimationElement.requiredFeatures')
@DocsEditable()
- StringList get requiredFeatures => _blink.BlinkSVGAnimationElement.instance.requiredFeatures_Getter_(this);
-
+ StringList get requiredFeatures => wrap_jso(_blink.BlinkSVGAnimationElement.instance.requiredFeatures_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimationElement.systemLanguage')
@DocsEditable()
- StringList get systemLanguage => _blink.BlinkSVGAnimationElement.instance.systemLanguage_Getter_(this);
-
+ StringList get systemLanguage => wrap_jso(_blink.BlinkSVGAnimationElement.instance.systemLanguage_Getter_(unwrap_jso(this)));
+
@DomName('SVGAnimationElement.hasExtension')
@DocsEditable()
- bool hasExtension(String extension) => _blink.BlinkSVGAnimationElement.instance.hasExtension_Callback_1_(this, extension);
-
+ bool hasExtension(String extension) => _blink.BlinkSVGAnimationElement.instance.hasExtension_Callback_1_(unwrap_jso(this), extension);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -823,16 +824,16 @@
@DomName('SVGCircleElement.cx')
@DocsEditable()
- AnimatedLength get cx => _blink.BlinkSVGCircleElement.instance.cx_Getter_(this);
-
+ AnimatedLength get cx => wrap_jso(_blink.BlinkSVGCircleElement.instance.cx_Getter_(unwrap_jso(this)));
+
@DomName('SVGCircleElement.cy')
@DocsEditable()
- AnimatedLength get cy => _blink.BlinkSVGCircleElement.instance.cy_Getter_(this);
-
+ AnimatedLength get cy => wrap_jso(_blink.BlinkSVGCircleElement.instance.cy_Getter_(unwrap_jso(this)));
+
@DomName('SVGCircleElement.r')
@DocsEditable()
- AnimatedLength get r => _blink.BlinkSVGCircleElement.instance.r_Getter_(this);
-
+ AnimatedLength get r => wrap_jso(_blink.BlinkSVGCircleElement.instance.r_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -860,8 +861,8 @@
@DomName('SVGClipPathElement.clipPathUnits')
@DocsEditable()
- AnimatedEnumeration get clipPathUnits => _blink.BlinkSVGClipPathElement.instance.clipPathUnits_Getter_(this);
-
+ AnimatedEnumeration get clipPathUnits => wrap_jso(_blink.BlinkSVGClipPathElement.instance.clipPathUnits_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -960,20 +961,20 @@
@DomName('SVGEllipseElement.cx')
@DocsEditable()
- AnimatedLength get cx => _blink.BlinkSVGEllipseElement.instance.cx_Getter_(this);
-
+ AnimatedLength get cx => wrap_jso(_blink.BlinkSVGEllipseElement.instance.cx_Getter_(unwrap_jso(this)));
+
@DomName('SVGEllipseElement.cy')
@DocsEditable()
- AnimatedLength get cy => _blink.BlinkSVGEllipseElement.instance.cy_Getter_(this);
-
+ AnimatedLength get cy => wrap_jso(_blink.BlinkSVGEllipseElement.instance.cy_Getter_(unwrap_jso(this)));
+
@DomName('SVGEllipseElement.rx')
@DocsEditable()
- AnimatedLength get rx => _blink.BlinkSVGEllipseElement.instance.rx_Getter_(this);
-
+ AnimatedLength get rx => wrap_jso(_blink.BlinkSVGEllipseElement.instance.rx_Getter_(unwrap_jso(this)));
+
@DomName('SVGEllipseElement.ry')
@DocsEditable()
- AnimatedLength get ry => _blink.BlinkSVGEllipseElement.instance.ry_Getter_(this);
-
+ AnimatedLength get ry => wrap_jso(_blink.BlinkSVGEllipseElement.instance.ry_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1032,36 +1033,36 @@
@DomName('SVGFEBlendElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEBlendElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEBlendElement.in2')
@DocsEditable()
- AnimatedString get in2 => _blink.BlinkSVGFEBlendElement.instance.in2_Getter_(this);
-
+ AnimatedString get in2 => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.in2_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEBlendElement.mode')
@DocsEditable()
- AnimatedEnumeration get mode => _blink.BlinkSVGFEBlendElement.instance.mode_Getter_(this);
-
+ AnimatedEnumeration get mode => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.mode_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEBlendElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEBlendElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEBlendElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEBlendElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEBlendElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEBlendElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEBlendElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEBlendElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEBlendElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEBlendElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEBlendElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1116,36 +1117,36 @@
@DomName('SVGFEColorMatrixElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEColorMatrixElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEColorMatrixElement.type')
@DocsEditable()
- AnimatedEnumeration get type => _blink.BlinkSVGFEColorMatrixElement.instance.type_Getter_(this);
-
+ AnimatedEnumeration get type => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.type_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEColorMatrixElement.values')
@DocsEditable()
- AnimatedNumberList get values => _blink.BlinkSVGFEColorMatrixElement.instance.values_Getter_(this);
-
+ AnimatedNumberList get values => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.values_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEColorMatrixElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEColorMatrixElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEColorMatrixElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEColorMatrixElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEColorMatrixElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEColorMatrixElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEColorMatrixElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEColorMatrixElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEColorMatrixElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEColorMatrixElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEColorMatrixElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1180,28 +1181,28 @@
@DomName('SVGFEComponentTransferElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEComponentTransferElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEComponentTransferElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEComponentTransferElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEComponentTransferElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEComponentTransferElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEComponentTransferElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEComponentTransferElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEComponentTransferElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEComponentTransferElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEComponentTransferElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEComponentTransferElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEComponentTransferElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEComponentTransferElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEComponentTransferElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEComponentTransferElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEComponentTransferElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEComponentTransferElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1253,52 +1254,52 @@
@DomName('SVGFECompositeElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFECompositeElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.in2')
@DocsEditable()
- AnimatedString get in2 => _blink.BlinkSVGFECompositeElement.instance.in2_Getter_(this);
-
+ AnimatedString get in2 => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.in2_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.k1')
@DocsEditable()
- AnimatedNumber get k1 => _blink.BlinkSVGFECompositeElement.instance.k1_Getter_(this);
-
+ AnimatedNumber get k1 => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.k1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.k2')
@DocsEditable()
- AnimatedNumber get k2 => _blink.BlinkSVGFECompositeElement.instance.k2_Getter_(this);
-
+ AnimatedNumber get k2 => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.k2_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.k3')
@DocsEditable()
- AnimatedNumber get k3 => _blink.BlinkSVGFECompositeElement.instance.k3_Getter_(this);
-
+ AnimatedNumber get k3 => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.k3_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.k4')
@DocsEditable()
- AnimatedNumber get k4 => _blink.BlinkSVGFECompositeElement.instance.k4_Getter_(this);
-
+ AnimatedNumber get k4 => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.k4_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.operator')
@DocsEditable()
- AnimatedEnumeration get operator => _blink.BlinkSVGFECompositeElement.instance.operator_Getter_(this);
-
+ AnimatedEnumeration get operator => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.operator_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFECompositeElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFECompositeElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFECompositeElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFECompositeElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFECompositeElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFECompositeElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFECompositeElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1349,72 +1350,72 @@
@DomName('SVGFEConvolveMatrixElement.bias')
@DocsEditable()
- AnimatedNumber get bias => _blink.BlinkSVGFEConvolveMatrixElement.instance.bias_Getter_(this);
-
+ AnimatedNumber get bias => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.bias_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.divisor')
@DocsEditable()
- AnimatedNumber get divisor => _blink.BlinkSVGFEConvolveMatrixElement.instance.divisor_Getter_(this);
-
+ AnimatedNumber get divisor => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.divisor_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.edgeMode')
@DocsEditable()
- AnimatedEnumeration get edgeMode => _blink.BlinkSVGFEConvolveMatrixElement.instance.edgeMode_Getter_(this);
-
+ AnimatedEnumeration get edgeMode => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.edgeMode_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEConvolveMatrixElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.kernelMatrix')
@DocsEditable()
- AnimatedNumberList get kernelMatrix => _blink.BlinkSVGFEConvolveMatrixElement.instance.kernelMatrix_Getter_(this);
-
+ AnimatedNumberList get kernelMatrix => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.kernelMatrix_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.kernelUnitLengthX')
@DocsEditable()
- AnimatedNumber get kernelUnitLengthX => _blink.BlinkSVGFEConvolveMatrixElement.instance.kernelUnitLengthX_Getter_(this);
-
+ AnimatedNumber get kernelUnitLengthX => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.kernelUnitLengthX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.kernelUnitLengthY')
@DocsEditable()
- AnimatedNumber get kernelUnitLengthY => _blink.BlinkSVGFEConvolveMatrixElement.instance.kernelUnitLengthY_Getter_(this);
-
+ AnimatedNumber get kernelUnitLengthY => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.kernelUnitLengthY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.orderX')
@DocsEditable()
- AnimatedInteger get orderX => _blink.BlinkSVGFEConvolveMatrixElement.instance.orderX_Getter_(this);
-
+ AnimatedInteger get orderX => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.orderX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.orderY')
@DocsEditable()
- AnimatedInteger get orderY => _blink.BlinkSVGFEConvolveMatrixElement.instance.orderY_Getter_(this);
-
+ AnimatedInteger get orderY => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.orderY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.preserveAlpha')
@DocsEditable()
- AnimatedBoolean get preserveAlpha => _blink.BlinkSVGFEConvolveMatrixElement.instance.preserveAlpha_Getter_(this);
-
+ AnimatedBoolean get preserveAlpha => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.preserveAlpha_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.targetX')
@DocsEditable()
- AnimatedInteger get targetX => _blink.BlinkSVGFEConvolveMatrixElement.instance.targetX_Getter_(this);
-
+ AnimatedInteger get targetX => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.targetX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.targetY')
@DocsEditable()
- AnimatedInteger get targetY => _blink.BlinkSVGFEConvolveMatrixElement.instance.targetY_Getter_(this);
-
+ AnimatedInteger get targetY => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.targetY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEConvolveMatrixElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEConvolveMatrixElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEConvolveMatrixElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEConvolveMatrixElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEConvolveMatrixElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEConvolveMatrixElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEConvolveMatrixElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1449,44 +1450,44 @@
@DomName('SVGFEDiffuseLightingElement.diffuseConstant')
@DocsEditable()
- AnimatedNumber get diffuseConstant => _blink.BlinkSVGFEDiffuseLightingElement.instance.diffuseConstant_Getter_(this);
-
+ AnimatedNumber get diffuseConstant => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.diffuseConstant_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEDiffuseLightingElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.kernelUnitLengthX')
@DocsEditable()
- AnimatedNumber get kernelUnitLengthX => _blink.BlinkSVGFEDiffuseLightingElement.instance.kernelUnitLengthX_Getter_(this);
-
+ AnimatedNumber get kernelUnitLengthX => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.kernelUnitLengthX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.kernelUnitLengthY')
@DocsEditable()
- AnimatedNumber get kernelUnitLengthY => _blink.BlinkSVGFEDiffuseLightingElement.instance.kernelUnitLengthY_Getter_(this);
-
+ AnimatedNumber get kernelUnitLengthY => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.kernelUnitLengthY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.surfaceScale')
@DocsEditable()
- AnimatedNumber get surfaceScale => _blink.BlinkSVGFEDiffuseLightingElement.instance.surfaceScale_Getter_(this);
-
+ AnimatedNumber get surfaceScale => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.surfaceScale_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEDiffuseLightingElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEDiffuseLightingElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEDiffuseLightingElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEDiffuseLightingElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDiffuseLightingElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEDiffuseLightingElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEDiffuseLightingElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1541,44 +1542,44 @@
@DomName('SVGFEDisplacementMapElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEDisplacementMapElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.in2')
@DocsEditable()
- AnimatedString get in2 => _blink.BlinkSVGFEDisplacementMapElement.instance.in2_Getter_(this);
-
+ AnimatedString get in2 => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.in2_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.scale')
@DocsEditable()
- AnimatedNumber get scale => _blink.BlinkSVGFEDisplacementMapElement.instance.scale_Getter_(this);
-
+ AnimatedNumber get scale => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.scale_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.xChannelSelector')
@DocsEditable()
- AnimatedEnumeration get xChannelSelector => _blink.BlinkSVGFEDisplacementMapElement.instance.xChannelSelector_Getter_(this);
-
+ AnimatedEnumeration get xChannelSelector => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.xChannelSelector_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.yChannelSelector')
@DocsEditable()
- AnimatedEnumeration get yChannelSelector => _blink.BlinkSVGFEDisplacementMapElement.instance.yChannelSelector_Getter_(this);
-
+ AnimatedEnumeration get yChannelSelector => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.yChannelSelector_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEDisplacementMapElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEDisplacementMapElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEDisplacementMapElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEDisplacementMapElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDisplacementMapElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEDisplacementMapElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEDisplacementMapElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1613,12 +1614,12 @@
@DomName('SVGFEDistantLightElement.azimuth')
@DocsEditable()
- AnimatedNumber get azimuth => _blink.BlinkSVGFEDistantLightElement.instance.azimuth_Getter_(this);
-
+ AnimatedNumber get azimuth => wrap_jso(_blink.BlinkSVGFEDistantLightElement.instance.azimuth_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEDistantLightElement.elevation')
@DocsEditable()
- AnimatedNumber get elevation => _blink.BlinkSVGFEDistantLightElement.instance.elevation_Getter_(this);
-
+ AnimatedNumber get elevation => wrap_jso(_blink.BlinkSVGFEDistantLightElement.instance.elevation_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1653,24 +1654,24 @@
@DomName('SVGFEFloodElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEFloodElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEFloodElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEFloodElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEFloodElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEFloodElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEFloodElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEFloodElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEFloodElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEFloodElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEFloodElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEFloodElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEFloodElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEFloodElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEFloodElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1833,40 +1834,40 @@
@DomName('SVGFEGaussianBlurElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEGaussianBlurElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEGaussianBlurElement.stdDeviationX')
@DocsEditable()
- AnimatedNumber get stdDeviationX => _blink.BlinkSVGFEGaussianBlurElement.instance.stdDeviationX_Getter_(this);
-
+ AnimatedNumber get stdDeviationX => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.stdDeviationX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEGaussianBlurElement.stdDeviationY')
@DocsEditable()
- AnimatedNumber get stdDeviationY => _blink.BlinkSVGFEGaussianBlurElement.instance.stdDeviationY_Getter_(this);
-
+ AnimatedNumber get stdDeviationY => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.stdDeviationY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEGaussianBlurElement.setStdDeviation')
@DocsEditable()
- void setStdDeviation(num stdDeviationX, num stdDeviationY) => _blink.BlinkSVGFEGaussianBlurElement.instance.setStdDeviation_Callback_2_(this, stdDeviationX, stdDeviationY);
-
+ void setStdDeviation(num stdDeviationX, num stdDeviationY) => _blink.BlinkSVGFEGaussianBlurElement.instance.setStdDeviation_Callback_2_(unwrap_jso(this), stdDeviationX, stdDeviationY);
+
@DomName('SVGFEGaussianBlurElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEGaussianBlurElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEGaussianBlurElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEGaussianBlurElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEGaussianBlurElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEGaussianBlurElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEGaussianBlurElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEGaussianBlurElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEGaussianBlurElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEGaussianBlurElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEGaussianBlurElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1901,32 +1902,32 @@
@DomName('SVGFEImageElement.preserveAspectRatio')
@DocsEditable()
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGFEImageElement.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGFEImageElement.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEImageElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEImageElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEImageElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEImageElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEImageElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEImageElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEImageElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEImageElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEImageElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEImageElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEImageElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEImageElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEImageElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEImageElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEImageElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEImageElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGFEImageElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGFEImageElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1961,24 +1962,24 @@
@DomName('SVGFEMergeElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEMergeElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEMergeElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMergeElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEMergeElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEMergeElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMergeElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEMergeElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEMergeElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMergeElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEMergeElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEMergeElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMergeElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEMergeElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEMergeElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2013,8 +2014,8 @@
@DomName('SVGFEMergeNodeElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEMergeNodeElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEMergeNodeElement.instance.in1_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2054,40 +2055,40 @@
@DomName('SVGFEMorphologyElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEMorphologyElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.operator')
@DocsEditable()
- AnimatedEnumeration get operator => _blink.BlinkSVGFEMorphologyElement.instance.operator_Getter_(this);
-
+ AnimatedEnumeration get operator => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.operator_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.radiusX')
@DocsEditable()
- AnimatedNumber get radiusX => _blink.BlinkSVGFEMorphologyElement.instance.radiusX_Getter_(this);
-
+ AnimatedNumber get radiusX => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.radiusX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.radiusY')
@DocsEditable()
- AnimatedNumber get radiusY => _blink.BlinkSVGFEMorphologyElement.instance.radiusY_Getter_(this);
-
+ AnimatedNumber get radiusY => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.radiusY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEMorphologyElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEMorphologyElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEMorphologyElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEMorphologyElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEMorphologyElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEMorphologyElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEMorphologyElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2122,36 +2123,36 @@
@DomName('SVGFEOffsetElement.dx')
@DocsEditable()
- AnimatedNumber get dx => _blink.BlinkSVGFEOffsetElement.instance.dx_Getter_(this);
-
+ AnimatedNumber get dx => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.dx_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEOffsetElement.dy')
@DocsEditable()
- AnimatedNumber get dy => _blink.BlinkSVGFEOffsetElement.instance.dy_Getter_(this);
-
+ AnimatedNumber get dy => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.dy_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEOffsetElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFEOffsetElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEOffsetElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFEOffsetElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEOffsetElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFEOffsetElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEOffsetElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFEOffsetElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEOffsetElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFEOffsetElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEOffsetElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFEOffsetElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFEOffsetElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2186,16 +2187,16 @@
@DomName('SVGFEPointLightElement.x')
@DocsEditable()
- AnimatedNumber get x => _blink.BlinkSVGFEPointLightElement.instance.x_Getter_(this);
-
+ AnimatedNumber get x => wrap_jso(_blink.BlinkSVGFEPointLightElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEPointLightElement.y')
@DocsEditable()
- AnimatedNumber get y => _blink.BlinkSVGFEPointLightElement.instance.y_Getter_(this);
-
+ AnimatedNumber get y => wrap_jso(_blink.BlinkSVGFEPointLightElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGFEPointLightElement.z')
@DocsEditable()
- AnimatedNumber get z => _blink.BlinkSVGFEPointLightElement.instance.z_Getter_(this);
-
+ AnimatedNumber get z => wrap_jso(_blink.BlinkSVGFEPointLightElement.instance.z_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2230,40 +2231,40 @@
@DomName('SVGFESpecularLightingElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFESpecularLightingElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.specularConstant')
@DocsEditable()
- AnimatedNumber get specularConstant => _blink.BlinkSVGFESpecularLightingElement.instance.specularConstant_Getter_(this);
-
+ AnimatedNumber get specularConstant => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.specularConstant_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.specularExponent')
@DocsEditable()
- AnimatedNumber get specularExponent => _blink.BlinkSVGFESpecularLightingElement.instance.specularExponent_Getter_(this);
-
+ AnimatedNumber get specularExponent => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.specularExponent_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.surfaceScale')
@DocsEditable()
- AnimatedNumber get surfaceScale => _blink.BlinkSVGFESpecularLightingElement.instance.surfaceScale_Getter_(this);
-
+ AnimatedNumber get surfaceScale => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.surfaceScale_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFESpecularLightingElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFESpecularLightingElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFESpecularLightingElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFESpecularLightingElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpecularLightingElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFESpecularLightingElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFESpecularLightingElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2298,36 +2299,36 @@
@DomName('SVGFESpotLightElement.limitingConeAngle')
@DocsEditable()
- AnimatedNumber get limitingConeAngle => _blink.BlinkSVGFESpotLightElement.instance.limitingConeAngle_Getter_(this);
-
+ AnimatedNumber get limitingConeAngle => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.limitingConeAngle_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpotLightElement.pointsAtX')
@DocsEditable()
- AnimatedNumber get pointsAtX => _blink.BlinkSVGFESpotLightElement.instance.pointsAtX_Getter_(this);
-
+ AnimatedNumber get pointsAtX => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.pointsAtX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpotLightElement.pointsAtY')
@DocsEditable()
- AnimatedNumber get pointsAtY => _blink.BlinkSVGFESpotLightElement.instance.pointsAtY_Getter_(this);
-
+ AnimatedNumber get pointsAtY => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.pointsAtY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpotLightElement.pointsAtZ')
@DocsEditable()
- AnimatedNumber get pointsAtZ => _blink.BlinkSVGFESpotLightElement.instance.pointsAtZ_Getter_(this);
-
+ AnimatedNumber get pointsAtZ => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.pointsAtZ_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpotLightElement.specularExponent')
@DocsEditable()
- AnimatedNumber get specularExponent => _blink.BlinkSVGFESpotLightElement.instance.specularExponent_Getter_(this);
-
+ AnimatedNumber get specularExponent => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.specularExponent_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpotLightElement.x')
@DocsEditable()
- AnimatedNumber get x => _blink.BlinkSVGFESpotLightElement.instance.x_Getter_(this);
-
+ AnimatedNumber get x => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpotLightElement.y')
@DocsEditable()
- AnimatedNumber get y => _blink.BlinkSVGFESpotLightElement.instance.y_Getter_(this);
-
+ AnimatedNumber get y => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGFESpotLightElement.z')
@DocsEditable()
- AnimatedNumber get z => _blink.BlinkSVGFESpotLightElement.instance.z_Getter_(this);
-
+ AnimatedNumber get z => wrap_jso(_blink.BlinkSVGFESpotLightElement.instance.z_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2362,28 +2363,28 @@
@DomName('SVGFETileElement.in1')
@DocsEditable()
- AnimatedString get in1 => _blink.BlinkSVGFETileElement.instance.in1_Getter_(this);
-
+ AnimatedString get in1 => wrap_jso(_blink.BlinkSVGFETileElement.instance.in1_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETileElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFETileElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFETileElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETileElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFETileElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFETileElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETileElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFETileElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFETileElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETileElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFETileElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFETileElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETileElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFETileElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFETileElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2442,48 +2443,48 @@
@DomName('SVGFETurbulenceElement.baseFrequencyX')
@DocsEditable()
- AnimatedNumber get baseFrequencyX => _blink.BlinkSVGFETurbulenceElement.instance.baseFrequencyX_Getter_(this);
-
+ AnimatedNumber get baseFrequencyX => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.baseFrequencyX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.baseFrequencyY')
@DocsEditable()
- AnimatedNumber get baseFrequencyY => _blink.BlinkSVGFETurbulenceElement.instance.baseFrequencyY_Getter_(this);
-
+ AnimatedNumber get baseFrequencyY => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.baseFrequencyY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.numOctaves')
@DocsEditable()
- AnimatedInteger get numOctaves => _blink.BlinkSVGFETurbulenceElement.instance.numOctaves_Getter_(this);
-
+ AnimatedInteger get numOctaves => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.numOctaves_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.seed')
@DocsEditable()
- AnimatedNumber get seed => _blink.BlinkSVGFETurbulenceElement.instance.seed_Getter_(this);
-
+ AnimatedNumber get seed => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.seed_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.stitchTiles')
@DocsEditable()
- AnimatedEnumeration get stitchTiles => _blink.BlinkSVGFETurbulenceElement.instance.stitchTiles_Getter_(this);
-
+ AnimatedEnumeration get stitchTiles => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.stitchTiles_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.type')
@DocsEditable()
- AnimatedEnumeration get type => _blink.BlinkSVGFETurbulenceElement.instance.type_Getter_(this);
-
+ AnimatedEnumeration get type => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.type_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFETurbulenceElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.result')
@DocsEditable()
- AnimatedString get result => _blink.BlinkSVGFETurbulenceElement.instance.result_Getter_(this);
-
+ AnimatedString get result => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.result_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFETurbulenceElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFETurbulenceElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFETurbulenceElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFETurbulenceElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFETurbulenceElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2518,44 +2519,44 @@
@DomName('SVGFilterElement.filterResX')
@DocsEditable()
- AnimatedInteger get filterResX => _blink.BlinkSVGFilterElement.instance.filterResX_Getter_(this);
-
+ AnimatedInteger get filterResX => wrap_jso(_blink.BlinkSVGFilterElement.instance.filterResX_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.filterResY')
@DocsEditable()
- AnimatedInteger get filterResY => _blink.BlinkSVGFilterElement.instance.filterResY_Getter_(this);
-
+ AnimatedInteger get filterResY => wrap_jso(_blink.BlinkSVGFilterElement.instance.filterResY_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.filterUnits')
@DocsEditable()
- AnimatedEnumeration get filterUnits => _blink.BlinkSVGFilterElement.instance.filterUnits_Getter_(this);
-
+ AnimatedEnumeration get filterUnits => wrap_jso(_blink.BlinkSVGFilterElement.instance.filterUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGFilterElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGFilterElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.primitiveUnits')
@DocsEditable()
- AnimatedEnumeration get primitiveUnits => _blink.BlinkSVGFilterElement.instance.primitiveUnits_Getter_(this);
-
+ AnimatedEnumeration get primitiveUnits => wrap_jso(_blink.BlinkSVGFilterElement.instance.primitiveUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGFilterElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGFilterElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGFilterElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGFilterElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGFilterElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGFilterElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGFilterElement.setFilterRes')
@DocsEditable()
- void setFilterRes(int filterResX, int filterResY) => _blink.BlinkSVGFilterElement.instance.setFilterRes_Callback_2_(this, filterResX, filterResY);
-
+ void setFilterRes(int filterResX, int filterResY) => _blink.BlinkSVGFilterElement.instance.setFilterRes_Callback_2_(unwrap_jso(this), filterResX, filterResY);
+
@DomName('SVGFilterElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGFilterElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGFilterElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2647,20 +2648,20 @@
@DomName('SVGForeignObjectElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGForeignObjectElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGForeignObjectElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGForeignObjectElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGForeignObjectElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGForeignObjectElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGForeignObjectElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGForeignObjectElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGForeignObjectElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGForeignObjectElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGForeignObjectElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGForeignObjectElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2710,13 +2711,13 @@
@DomName('SVGGeometryElement.isPointInFill')
@DocsEditable()
@Experimental() // untriaged
- bool isPointInFill(Point point) => _blink.BlinkSVGGeometryElement.instance.isPointInFill_Callback_1_(this, point);
-
+ bool isPointInFill(Point point) => _blink.BlinkSVGGeometryElement.instance.isPointInFill_Callback_1_(unwrap_jso(this), unwrap_jso(point));
+
@DomName('SVGGeometryElement.isPointInStroke')
@DocsEditable()
@Experimental() // untriaged
- bool isPointInStroke(Point point) => _blink.BlinkSVGGeometryElement.instance.isPointInStroke_Callback_1_(this, point);
-
+ bool isPointInStroke(Point point) => _blink.BlinkSVGGeometryElement.instance.isPointInStroke_Callback_1_(unwrap_jso(this), unwrap_jso(point));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2741,58 +2742,58 @@
@DomName('SVGGraphicsElement.farthestViewportElement')
@DocsEditable()
@Experimental() // untriaged
- SvgElement get farthestViewportElement => _blink.BlinkSVGGraphicsElement.instance.farthestViewportElement_Getter_(this);
-
+ SvgElement get farthestViewportElement => wrap_jso(_blink.BlinkSVGGraphicsElement.instance.farthestViewportElement_Getter_(unwrap_jso(this)));
+
@DomName('SVGGraphicsElement.nearestViewportElement')
@DocsEditable()
@Experimental() // untriaged
- SvgElement get nearestViewportElement => _blink.BlinkSVGGraphicsElement.instance.nearestViewportElement_Getter_(this);
-
+ SvgElement get nearestViewportElement => wrap_jso(_blink.BlinkSVGGraphicsElement.instance.nearestViewportElement_Getter_(unwrap_jso(this)));
+
@DomName('SVGGraphicsElement.transform')
@DocsEditable()
@Experimental() // untriaged
- AnimatedTransformList get transform => _blink.BlinkSVGGraphicsElement.instance.transform_Getter_(this);
-
+ AnimatedTransformList get transform => wrap_jso(_blink.BlinkSVGGraphicsElement.instance.transform_Getter_(unwrap_jso(this)));
+
@DomName('SVGGraphicsElement.getBBox')
@DocsEditable()
@Experimental() // untriaged
- Rect getBBox() => _blink.BlinkSVGGraphicsElement.instance.getBBox_Callback_0_(this);
-
+ Rect getBBox() => wrap_jso(_blink.BlinkSVGGraphicsElement.instance.getBBox_Callback_0_(unwrap_jso(this)));
+
@DomName('SVGGraphicsElement.getCTM')
@DocsEditable()
@Experimental() // untriaged
- Matrix getCtm() => _blink.BlinkSVGGraphicsElement.instance.getCTM_Callback_0_(this);
-
+ Matrix getCtm() => _blink.BlinkSVGGraphicsElement.instance.getCTM_Callback_0_(unwrap_jso(this));
+
@DomName('SVGGraphicsElement.getScreenCTM')
@DocsEditable()
@Experimental() // untriaged
- Matrix getScreenCtm() => _blink.BlinkSVGGraphicsElement.instance.getScreenCTM_Callback_0_(this);
-
+ Matrix getScreenCtm() => _blink.BlinkSVGGraphicsElement.instance.getScreenCTM_Callback_0_(unwrap_jso(this));
+
@DomName('SVGGraphicsElement.getTransformToElement')
@DocsEditable()
@Experimental() // untriaged
- Matrix getTransformToElement(SvgElement element) => _blink.BlinkSVGGraphicsElement.instance.getTransformToElement_Callback_1_(this, element);
-
+ Matrix getTransformToElement(SvgElement element) => _blink.BlinkSVGGraphicsElement.instance.getTransformToElement_Callback_1_(unwrap_jso(this), unwrap_jso(element));
+
@DomName('SVGGraphicsElement.requiredExtensions')
@DocsEditable()
@Experimental() // untriaged
- StringList get requiredExtensions => _blink.BlinkSVGGraphicsElement.instance.requiredExtensions_Getter_(this);
-
+ StringList get requiredExtensions => wrap_jso(_blink.BlinkSVGGraphicsElement.instance.requiredExtensions_Getter_(unwrap_jso(this)));
+
@DomName('SVGGraphicsElement.requiredFeatures')
@DocsEditable()
@Experimental() // untriaged
- StringList get requiredFeatures => _blink.BlinkSVGGraphicsElement.instance.requiredFeatures_Getter_(this);
-
+ StringList get requiredFeatures => wrap_jso(_blink.BlinkSVGGraphicsElement.instance.requiredFeatures_Getter_(unwrap_jso(this)));
+
@DomName('SVGGraphicsElement.systemLanguage')
@DocsEditable()
@Experimental() // untriaged
- StringList get systemLanguage => _blink.BlinkSVGGraphicsElement.instance.systemLanguage_Getter_(this);
-
+ StringList get systemLanguage => wrap_jso(_blink.BlinkSVGGraphicsElement.instance.systemLanguage_Getter_(unwrap_jso(this)));
+
@DomName('SVGGraphicsElement.hasExtension')
@DocsEditable()
@Experimental() // untriaged
- bool hasExtension(String extension) => _blink.BlinkSVGGraphicsElement.instance.hasExtension_Callback_1_(this, extension);
-
+ bool hasExtension(String extension) => _blink.BlinkSVGGraphicsElement.instance.hasExtension_Callback_1_(unwrap_jso(this), extension);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2820,28 +2821,28 @@
@DomName('SVGImageElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGImageElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGImageElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGImageElement.preserveAspectRatio')
@DocsEditable()
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGImageElement.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGImageElement.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGImageElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGImageElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGImageElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGImageElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGImageElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGImageElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGImageElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGImageElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGImageElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGImageElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGImageElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGImageElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2903,40 +2904,40 @@
@DomName('SVGLength.unitType')
@DocsEditable()
- int get unitType => _blink.BlinkSVGLength.instance.unitType_Getter_(this);
-
+ int get unitType => _blink.BlinkSVGLength.instance.unitType_Getter_(unwrap_jso(this));
+
@DomName('SVGLength.value')
@DocsEditable()
- num get value => _blink.BlinkSVGLength.instance.value_Getter_(this);
-
+ num get value => _blink.BlinkSVGLength.instance.value_Getter_(unwrap_jso(this));
+
@DomName('SVGLength.value')
@DocsEditable()
- void set value(num value) => _blink.BlinkSVGLength.instance.value_Setter_(this, value);
-
+ void set value(num value) => _blink.BlinkSVGLength.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('SVGLength.valueAsString')
@DocsEditable()
- String get valueAsString => _blink.BlinkSVGLength.instance.valueAsString_Getter_(this);
-
+ String get valueAsString => _blink.BlinkSVGLength.instance.valueAsString_Getter_(unwrap_jso(this));
+
@DomName('SVGLength.valueAsString')
@DocsEditable()
- void set valueAsString(String value) => _blink.BlinkSVGLength.instance.valueAsString_Setter_(this, value);
-
+ void set valueAsString(String value) => _blink.BlinkSVGLength.instance.valueAsString_Setter_(unwrap_jso(this), value);
+
@DomName('SVGLength.valueInSpecifiedUnits')
@DocsEditable()
- num get valueInSpecifiedUnits => _blink.BlinkSVGLength.instance.valueInSpecifiedUnits_Getter_(this);
-
+ num get valueInSpecifiedUnits => _blink.BlinkSVGLength.instance.valueInSpecifiedUnits_Getter_(unwrap_jso(this));
+
@DomName('SVGLength.valueInSpecifiedUnits')
@DocsEditable()
- void set valueInSpecifiedUnits(num value) => _blink.BlinkSVGLength.instance.valueInSpecifiedUnits_Setter_(this, value);
-
+ void set valueInSpecifiedUnits(num value) => _blink.BlinkSVGLength.instance.valueInSpecifiedUnits_Setter_(unwrap_jso(this), value);
+
@DomName('SVGLength.convertToSpecifiedUnits')
@DocsEditable()
- void convertToSpecifiedUnits(int unitType) => _blink.BlinkSVGLength.instance.convertToSpecifiedUnits_Callback_1_(this, unitType);
-
+ void convertToSpecifiedUnits(int unitType) => _blink.BlinkSVGLength.instance.convertToSpecifiedUnits_Callback_1_(unwrap_jso(this), unitType);
+
@DomName('SVGLength.newValueSpecifiedUnits')
@DocsEditable()
- void newValueSpecifiedUnits(int unitType, num valueInSpecifiedUnits) => _blink.BlinkSVGLength.instance.newValueSpecifiedUnits_Callback_2_(this, unitType, valueInSpecifiedUnits);
-
+ void newValueSpecifiedUnits(int unitType, num valueInSpecifiedUnits) => _blink.BlinkSVGLength.instance.newValueSpecifiedUnits_Callback_2_(unwrap_jso(this), unitType, valueInSpecifiedUnits);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2955,12 +2956,12 @@
@DomName('SVGLengthList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkSVGLengthList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSVGLengthList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('SVGLengthList.numberOfItems')
@DocsEditable()
- int get numberOfItems => _blink.BlinkSVGLengthList.instance.numberOfItems_Getter_(this);
-
+ int get numberOfItems => _blink.BlinkSVGLengthList.instance.numberOfItems_Getter_(unwrap_jso(this));
+
Length operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
@@ -3008,36 +3009,36 @@
@DomName('SVGLengthList.__setter__')
@DocsEditable()
@Experimental() // untriaged
- void __setter__(int index, Length value) => _blink.BlinkSVGLengthList.instance.$__setter___Callback_2_(this, index, value);
-
+ void __setter__(int index, Length value) => _blink.BlinkSVGLengthList.instance.$__setter___Callback_2_(unwrap_jso(this), index, unwrap_jso(value));
+
@DomName('SVGLengthList.appendItem')
@DocsEditable()
- Length appendItem(Length item) => _blink.BlinkSVGLengthList.instance.appendItem_Callback_1_(this, item);
-
+ Length appendItem(Length item) => _blink.BlinkSVGLengthList.instance.appendItem_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGLengthList.clear')
@DocsEditable()
- void clear() => _blink.BlinkSVGLengthList.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkSVGLengthList.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('SVGLengthList.getItem')
@DocsEditable()
- Length getItem(int index) => _blink.BlinkSVGLengthList.instance.getItem_Callback_1_(this, index);
-
+ Length getItem(int index) => _blink.BlinkSVGLengthList.instance.getItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGLengthList.initialize')
@DocsEditable()
- Length initialize(Length item) => _blink.BlinkSVGLengthList.instance.initialize_Callback_1_(this, item);
-
+ Length initialize(Length item) => _blink.BlinkSVGLengthList.instance.initialize_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGLengthList.insertItemBefore')
@DocsEditable()
- Length insertItemBefore(Length item, int index) => _blink.BlinkSVGLengthList.instance.insertItemBefore_Callback_2_(this, item, index);
-
+ Length insertItemBefore(Length item, int index) => _blink.BlinkSVGLengthList.instance.insertItemBefore_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
@DomName('SVGLengthList.removeItem')
@DocsEditable()
- Length removeItem(int index) => _blink.BlinkSVGLengthList.instance.removeItem_Callback_1_(this, index);
-
+ Length removeItem(int index) => _blink.BlinkSVGLengthList.instance.removeItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGLengthList.replaceItem')
@DocsEditable()
- Length replaceItem(Length item, int index) => _blink.BlinkSVGLengthList.instance.replaceItem_Callback_2_(this, item, index);
-
+ Length replaceItem(Length item, int index) => _blink.BlinkSVGLengthList.instance.replaceItem_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3065,20 +3066,20 @@
@DomName('SVGLineElement.x1')
@DocsEditable()
- AnimatedLength get x1 => _blink.BlinkSVGLineElement.instance.x1_Getter_(this);
-
+ AnimatedLength get x1 => wrap_jso(_blink.BlinkSVGLineElement.instance.x1_Getter_(unwrap_jso(this)));
+
@DomName('SVGLineElement.x2')
@DocsEditable()
- AnimatedLength get x2 => _blink.BlinkSVGLineElement.instance.x2_Getter_(this);
-
+ AnimatedLength get x2 => wrap_jso(_blink.BlinkSVGLineElement.instance.x2_Getter_(unwrap_jso(this)));
+
@DomName('SVGLineElement.y1')
@DocsEditable()
- AnimatedLength get y1 => _blink.BlinkSVGLineElement.instance.y1_Getter_(this);
-
+ AnimatedLength get y1 => wrap_jso(_blink.BlinkSVGLineElement.instance.y1_Getter_(unwrap_jso(this)));
+
@DomName('SVGLineElement.y2')
@DocsEditable()
- AnimatedLength get y2 => _blink.BlinkSVGLineElement.instance.y2_Getter_(this);
-
+ AnimatedLength get y2 => wrap_jso(_blink.BlinkSVGLineElement.instance.y2_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3106,20 +3107,20 @@
@DomName('SVGLinearGradientElement.x1')
@DocsEditable()
- AnimatedLength get x1 => _blink.BlinkSVGLinearGradientElement.instance.x1_Getter_(this);
-
+ AnimatedLength get x1 => wrap_jso(_blink.BlinkSVGLinearGradientElement.instance.x1_Getter_(unwrap_jso(this)));
+
@DomName('SVGLinearGradientElement.x2')
@DocsEditable()
- AnimatedLength get x2 => _blink.BlinkSVGLinearGradientElement.instance.x2_Getter_(this);
-
+ AnimatedLength get x2 => wrap_jso(_blink.BlinkSVGLinearGradientElement.instance.x2_Getter_(unwrap_jso(this)));
+
@DomName('SVGLinearGradientElement.y1')
@DocsEditable()
- AnimatedLength get y1 => _blink.BlinkSVGLinearGradientElement.instance.y1_Getter_(this);
-
+ AnimatedLength get y1 => wrap_jso(_blink.BlinkSVGLinearGradientElement.instance.y1_Getter_(unwrap_jso(this)));
+
@DomName('SVGLinearGradientElement.y2')
@DocsEditable()
- AnimatedLength get y2 => _blink.BlinkSVGLinearGradientElement.instance.y2_Getter_(this);
-
+ AnimatedLength get y2 => wrap_jso(_blink.BlinkSVGLinearGradientElement.instance.y2_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3171,48 +3172,48 @@
@DomName('SVGMarkerElement.markerHeight')
@DocsEditable()
- AnimatedLength get markerHeight => _blink.BlinkSVGMarkerElement.instance.markerHeight_Getter_(this);
-
+ AnimatedLength get markerHeight => wrap_jso(_blink.BlinkSVGMarkerElement.instance.markerHeight_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.markerUnits')
@DocsEditable()
- AnimatedEnumeration get markerUnits => _blink.BlinkSVGMarkerElement.instance.markerUnits_Getter_(this);
-
+ AnimatedEnumeration get markerUnits => wrap_jso(_blink.BlinkSVGMarkerElement.instance.markerUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.markerWidth')
@DocsEditable()
- AnimatedLength get markerWidth => _blink.BlinkSVGMarkerElement.instance.markerWidth_Getter_(this);
-
+ AnimatedLength get markerWidth => wrap_jso(_blink.BlinkSVGMarkerElement.instance.markerWidth_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.orientAngle')
@DocsEditable()
- AnimatedAngle get orientAngle => _blink.BlinkSVGMarkerElement.instance.orientAngle_Getter_(this);
-
+ AnimatedAngle get orientAngle => wrap_jso(_blink.BlinkSVGMarkerElement.instance.orientAngle_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.orientType')
@DocsEditable()
- AnimatedEnumeration get orientType => _blink.BlinkSVGMarkerElement.instance.orientType_Getter_(this);
-
+ AnimatedEnumeration get orientType => wrap_jso(_blink.BlinkSVGMarkerElement.instance.orientType_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.refX')
@DocsEditable()
- AnimatedLength get refX => _blink.BlinkSVGMarkerElement.instance.refX_Getter_(this);
-
+ AnimatedLength get refX => wrap_jso(_blink.BlinkSVGMarkerElement.instance.refX_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.refY')
@DocsEditable()
- AnimatedLength get refY => _blink.BlinkSVGMarkerElement.instance.refY_Getter_(this);
-
+ AnimatedLength get refY => wrap_jso(_blink.BlinkSVGMarkerElement.instance.refY_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.setOrientToAngle')
@DocsEditable()
- void setOrientToAngle(Angle angle) => _blink.BlinkSVGMarkerElement.instance.setOrientToAngle_Callback_1_(this, angle);
-
+ void setOrientToAngle(Angle angle) => _blink.BlinkSVGMarkerElement.instance.setOrientToAngle_Callback_1_(unwrap_jso(this), unwrap_jso(angle));
+
@DomName('SVGMarkerElement.setOrientToAuto')
@DocsEditable()
- void setOrientToAuto() => _blink.BlinkSVGMarkerElement.instance.setOrientToAuto_Callback_0_(this);
-
+ void setOrientToAuto() => _blink.BlinkSVGMarkerElement.instance.setOrientToAuto_Callback_0_(unwrap_jso(this));
+
@DomName('SVGMarkerElement.preserveAspectRatio')
@DocsEditable()
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGMarkerElement.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGMarkerElement.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGMarkerElement.viewBox')
@DocsEditable()
- AnimatedRect get viewBox => _blink.BlinkSVGMarkerElement.instance.viewBox_Getter_(this);
-
+ AnimatedRect get viewBox => wrap_jso(_blink.BlinkSVGMarkerElement.instance.viewBox_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3240,44 +3241,44 @@
@DomName('SVGMaskElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGMaskElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGMaskElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.maskContentUnits')
@DocsEditable()
- AnimatedEnumeration get maskContentUnits => _blink.BlinkSVGMaskElement.instance.maskContentUnits_Getter_(this);
-
+ AnimatedEnumeration get maskContentUnits => wrap_jso(_blink.BlinkSVGMaskElement.instance.maskContentUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.maskUnits')
@DocsEditable()
- AnimatedEnumeration get maskUnits => _blink.BlinkSVGMaskElement.instance.maskUnits_Getter_(this);
-
+ AnimatedEnumeration get maskUnits => wrap_jso(_blink.BlinkSVGMaskElement.instance.maskUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGMaskElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGMaskElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGMaskElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGMaskElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGMaskElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGMaskElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.requiredExtensions')
@DocsEditable()
- StringList get requiredExtensions => _blink.BlinkSVGMaskElement.instance.requiredExtensions_Getter_(this);
-
+ StringList get requiredExtensions => wrap_jso(_blink.BlinkSVGMaskElement.instance.requiredExtensions_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.requiredFeatures')
@DocsEditable()
- StringList get requiredFeatures => _blink.BlinkSVGMaskElement.instance.requiredFeatures_Getter_(this);
-
+ StringList get requiredFeatures => wrap_jso(_blink.BlinkSVGMaskElement.instance.requiredFeatures_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.systemLanguage')
@DocsEditable()
- StringList get systemLanguage => _blink.BlinkSVGMaskElement.instance.systemLanguage_Getter_(this);
-
+ StringList get systemLanguage => wrap_jso(_blink.BlinkSVGMaskElement.instance.systemLanguage_Getter_(unwrap_jso(this)));
+
@DomName('SVGMaskElement.hasExtension')
@DocsEditable()
- bool hasExtension(String extension) => _blink.BlinkSVGMaskElement.instance.hasExtension_Callback_1_(this, extension);
-
+ bool hasExtension(String extension) => _blink.BlinkSVGMaskElement.instance.hasExtension_Callback_1_(unwrap_jso(this), extension);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3295,96 +3296,96 @@
@DomName('SVGMatrix.a')
@DocsEditable()
- num get a => _blink.BlinkSVGMatrix.instance.a_Getter_(this);
-
+ num get a => _blink.BlinkSVGMatrix.instance.a_Getter_(unwrap_jso(this));
+
@DomName('SVGMatrix.a')
@DocsEditable()
- void set a(num value) => _blink.BlinkSVGMatrix.instance.a_Setter_(this, value);
-
+ void set a(num value) => _blink.BlinkSVGMatrix.instance.a_Setter_(unwrap_jso(this), value);
+
@DomName('SVGMatrix.b')
@DocsEditable()
- num get b => _blink.BlinkSVGMatrix.instance.b_Getter_(this);
-
+ num get b => _blink.BlinkSVGMatrix.instance.b_Getter_(unwrap_jso(this));
+
@DomName('SVGMatrix.b')
@DocsEditable()
- void set b(num value) => _blink.BlinkSVGMatrix.instance.b_Setter_(this, value);
-
+ void set b(num value) => _blink.BlinkSVGMatrix.instance.b_Setter_(unwrap_jso(this), value);
+
@DomName('SVGMatrix.c')
@DocsEditable()
- num get c => _blink.BlinkSVGMatrix.instance.c_Getter_(this);
-
+ num get c => _blink.BlinkSVGMatrix.instance.c_Getter_(unwrap_jso(this));
+
@DomName('SVGMatrix.c')
@DocsEditable()
- void set c(num value) => _blink.BlinkSVGMatrix.instance.c_Setter_(this, value);
-
+ void set c(num value) => _blink.BlinkSVGMatrix.instance.c_Setter_(unwrap_jso(this), value);
+
@DomName('SVGMatrix.d')
@DocsEditable()
- num get d => _blink.BlinkSVGMatrix.instance.d_Getter_(this);
-
+ num get d => _blink.BlinkSVGMatrix.instance.d_Getter_(unwrap_jso(this));
+
@DomName('SVGMatrix.d')
@DocsEditable()
- void set d(num value) => _blink.BlinkSVGMatrix.instance.d_Setter_(this, value);
-
+ void set d(num value) => _blink.BlinkSVGMatrix.instance.d_Setter_(unwrap_jso(this), value);
+
@DomName('SVGMatrix.e')
@DocsEditable()
- num get e => _blink.BlinkSVGMatrix.instance.e_Getter_(this);
-
+ num get e => _blink.BlinkSVGMatrix.instance.e_Getter_(unwrap_jso(this));
+
@DomName('SVGMatrix.e')
@DocsEditable()
- void set e(num value) => _blink.BlinkSVGMatrix.instance.e_Setter_(this, value);
-
+ void set e(num value) => _blink.BlinkSVGMatrix.instance.e_Setter_(unwrap_jso(this), value);
+
@DomName('SVGMatrix.f')
@DocsEditable()
- num get f => _blink.BlinkSVGMatrix.instance.f_Getter_(this);
-
+ num get f => _blink.BlinkSVGMatrix.instance.f_Getter_(unwrap_jso(this));
+
@DomName('SVGMatrix.f')
@DocsEditable()
- void set f(num value) => _blink.BlinkSVGMatrix.instance.f_Setter_(this, value);
-
+ void set f(num value) => _blink.BlinkSVGMatrix.instance.f_Setter_(unwrap_jso(this), value);
+
@DomName('SVGMatrix.flipX')
@DocsEditable()
- Matrix flipX() => _blink.BlinkSVGMatrix.instance.flipX_Callback_0_(this);
-
+ Matrix flipX() => _blink.BlinkSVGMatrix.instance.flipX_Callback_0_(unwrap_jso(this));
+
@DomName('SVGMatrix.flipY')
@DocsEditable()
- Matrix flipY() => _blink.BlinkSVGMatrix.instance.flipY_Callback_0_(this);
-
+ Matrix flipY() => _blink.BlinkSVGMatrix.instance.flipY_Callback_0_(unwrap_jso(this));
+
@DomName('SVGMatrix.inverse')
@DocsEditable()
- Matrix inverse() => _blink.BlinkSVGMatrix.instance.inverse_Callback_0_(this);
-
+ Matrix inverse() => _blink.BlinkSVGMatrix.instance.inverse_Callback_0_(unwrap_jso(this));
+
@DomName('SVGMatrix.multiply')
@DocsEditable()
- Matrix multiply(Matrix secondMatrix) => _blink.BlinkSVGMatrix.instance.multiply_Callback_1_(this, secondMatrix);
-
+ Matrix multiply(Matrix secondMatrix) => _blink.BlinkSVGMatrix.instance.multiply_Callback_1_(unwrap_jso(this), unwrap_jso(secondMatrix));
+
@DomName('SVGMatrix.rotate')
@DocsEditable()
- Matrix rotate(num angle) => _blink.BlinkSVGMatrix.instance.rotate_Callback_1_(this, angle);
-
+ Matrix rotate(num angle) => _blink.BlinkSVGMatrix.instance.rotate_Callback_1_(unwrap_jso(this), angle);
+
@DomName('SVGMatrix.rotateFromVector')
@DocsEditable()
- Matrix rotateFromVector(num x, num y) => _blink.BlinkSVGMatrix.instance.rotateFromVector_Callback_2_(this, x, y);
-
+ Matrix rotateFromVector(num x, num y) => _blink.BlinkSVGMatrix.instance.rotateFromVector_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('SVGMatrix.scale')
@DocsEditable()
- Matrix scale(num scaleFactor) => _blink.BlinkSVGMatrix.instance.scale_Callback_1_(this, scaleFactor);
-
+ Matrix scale(num scaleFactor) => _blink.BlinkSVGMatrix.instance.scale_Callback_1_(unwrap_jso(this), scaleFactor);
+
@DomName('SVGMatrix.scaleNonUniform')
@DocsEditable()
- Matrix scaleNonUniform(num scaleFactorX, num scaleFactorY) => _blink.BlinkSVGMatrix.instance.scaleNonUniform_Callback_2_(this, scaleFactorX, scaleFactorY);
-
+ Matrix scaleNonUniform(num scaleFactorX, num scaleFactorY) => _blink.BlinkSVGMatrix.instance.scaleNonUniform_Callback_2_(unwrap_jso(this), scaleFactorX, scaleFactorY);
+
@DomName('SVGMatrix.skewX')
@DocsEditable()
- Matrix skewX(num angle) => _blink.BlinkSVGMatrix.instance.skewX_Callback_1_(this, angle);
-
+ Matrix skewX(num angle) => _blink.BlinkSVGMatrix.instance.skewX_Callback_1_(unwrap_jso(this), angle);
+
@DomName('SVGMatrix.skewY')
@DocsEditable()
- Matrix skewY(num angle) => _blink.BlinkSVGMatrix.instance.skewY_Callback_1_(this, angle);
-
+ Matrix skewY(num angle) => _blink.BlinkSVGMatrix.instance.skewY_Callback_1_(unwrap_jso(this), angle);
+
@DomName('SVGMatrix.translate')
@DocsEditable()
- Matrix translate(num x, num y) => _blink.BlinkSVGMatrix.instance.translate_Callback_2_(this, x, y);
-
+ Matrix translate(num x, num y) => _blink.BlinkSVGMatrix.instance.translate_Callback_2_(unwrap_jso(this), x, y);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3423,12 +3424,12 @@
@DomName('SVGNumber.value')
@DocsEditable()
- num get value => _blink.BlinkSVGNumber.instance.value_Getter_(this);
-
+ num get value => _blink.BlinkSVGNumber.instance.value_Getter_(unwrap_jso(this));
+
@DomName('SVGNumber.value')
@DocsEditable()
- void set value(num value) => _blink.BlinkSVGNumber.instance.value_Setter_(this, value);
-
+ void set value(num value) => _blink.BlinkSVGNumber.instance.value_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3447,12 +3448,12 @@
@DomName('SVGNumberList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkSVGNumberList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSVGNumberList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('SVGNumberList.numberOfItems')
@DocsEditable()
- int get numberOfItems => _blink.BlinkSVGNumberList.instance.numberOfItems_Getter_(this);
-
+ int get numberOfItems => _blink.BlinkSVGNumberList.instance.numberOfItems_Getter_(unwrap_jso(this));
+
Number operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
@@ -3500,36 +3501,36 @@
@DomName('SVGNumberList.__setter__')
@DocsEditable()
@Experimental() // untriaged
- void __setter__(int index, Number value) => _blink.BlinkSVGNumberList.instance.$__setter___Callback_2_(this, index, value);
-
+ void __setter__(int index, Number value) => _blink.BlinkSVGNumberList.instance.$__setter___Callback_2_(unwrap_jso(this), index, unwrap_jso(value));
+
@DomName('SVGNumberList.appendItem')
@DocsEditable()
- Number appendItem(Number item) => _blink.BlinkSVGNumberList.instance.appendItem_Callback_1_(this, item);
-
+ Number appendItem(Number item) => _blink.BlinkSVGNumberList.instance.appendItem_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGNumberList.clear')
@DocsEditable()
- void clear() => _blink.BlinkSVGNumberList.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkSVGNumberList.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('SVGNumberList.getItem')
@DocsEditable()
- Number getItem(int index) => _blink.BlinkSVGNumberList.instance.getItem_Callback_1_(this, index);
-
+ Number getItem(int index) => _blink.BlinkSVGNumberList.instance.getItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGNumberList.initialize')
@DocsEditable()
- Number initialize(Number item) => _blink.BlinkSVGNumberList.instance.initialize_Callback_1_(this, item);
-
+ Number initialize(Number item) => _blink.BlinkSVGNumberList.instance.initialize_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGNumberList.insertItemBefore')
@DocsEditable()
- Number insertItemBefore(Number item, int index) => _blink.BlinkSVGNumberList.instance.insertItemBefore_Callback_2_(this, item, index);
-
+ Number insertItemBefore(Number item, int index) => _blink.BlinkSVGNumberList.instance.insertItemBefore_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
@DomName('SVGNumberList.removeItem')
@DocsEditable()
- Number removeItem(int index) => _blink.BlinkSVGNumberList.instance.removeItem_Callback_1_(this, index);
-
+ Number removeItem(int index) => _blink.BlinkSVGNumberList.instance.removeItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGNumberList.replaceItem')
@DocsEditable()
- Number replaceItem(Number item, int index) => _blink.BlinkSVGNumberList.instance.replaceItem_Callback_2_(this, item, index);
-
+ Number replaceItem(Number item, int index) => _blink.BlinkSVGNumberList.instance.replaceItem_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3557,112 +3558,112 @@
@DomName('SVGPathElement.animatedNormalizedPathSegList')
@DocsEditable()
- PathSegList get animatedNormalizedPathSegList => _blink.BlinkSVGPathElement.instance.animatedNormalizedPathSegList_Getter_(this);
-
+ PathSegList get animatedNormalizedPathSegList => wrap_jso(_blink.BlinkSVGPathElement.instance.animatedNormalizedPathSegList_Getter_(unwrap_jso(this)));
+
@DomName('SVGPathElement.animatedPathSegList')
@DocsEditable()
- PathSegList get animatedPathSegList => _blink.BlinkSVGPathElement.instance.animatedPathSegList_Getter_(this);
-
+ PathSegList get animatedPathSegList => wrap_jso(_blink.BlinkSVGPathElement.instance.animatedPathSegList_Getter_(unwrap_jso(this)));
+
@DomName('SVGPathElement.normalizedPathSegList')
@DocsEditable()
- PathSegList get normalizedPathSegList => _blink.BlinkSVGPathElement.instance.normalizedPathSegList_Getter_(this);
-
+ PathSegList get normalizedPathSegList => wrap_jso(_blink.BlinkSVGPathElement.instance.normalizedPathSegList_Getter_(unwrap_jso(this)));
+
@DomName('SVGPathElement.pathLength')
@DocsEditable()
- AnimatedNumber get pathLength => _blink.BlinkSVGPathElement.instance.pathLength_Getter_(this);
-
+ AnimatedNumber get pathLength => wrap_jso(_blink.BlinkSVGPathElement.instance.pathLength_Getter_(unwrap_jso(this)));
+
@DomName('SVGPathElement.pathSegList')
@DocsEditable()
- PathSegList get pathSegList => _blink.BlinkSVGPathElement.instance.pathSegList_Getter_(this);
-
+ PathSegList get pathSegList => wrap_jso(_blink.BlinkSVGPathElement.instance.pathSegList_Getter_(unwrap_jso(this)));
+
@DomName('SVGPathElement.createSVGPathSegArcAbs')
@DocsEditable()
- PathSegArcAbs createSvgPathSegArcAbs(num x, num y, num r1, num r2, num angle, bool largeArcFlag, bool sweepFlag) => _blink.BlinkSVGPathElement.instance.createSVGPathSegArcAbs_Callback_7_(this, x, y, r1, r2, angle, largeArcFlag, sweepFlag);
-
+ PathSegArcAbs createSvgPathSegArcAbs(num x, num y, num r1, num r2, num angle, bool largeArcFlag, bool sweepFlag) => _blink.BlinkSVGPathElement.instance.createSVGPathSegArcAbs_Callback_7_(unwrap_jso(this), x, y, r1, r2, angle, largeArcFlag, sweepFlag);
+
@DomName('SVGPathElement.createSVGPathSegArcRel')
@DocsEditable()
- PathSegArcRel createSvgPathSegArcRel(num x, num y, num r1, num r2, num angle, bool largeArcFlag, bool sweepFlag) => _blink.BlinkSVGPathElement.instance.createSVGPathSegArcRel_Callback_7_(this, x, y, r1, r2, angle, largeArcFlag, sweepFlag);
-
+ PathSegArcRel createSvgPathSegArcRel(num x, num y, num r1, num r2, num angle, bool largeArcFlag, bool sweepFlag) => _blink.BlinkSVGPathElement.instance.createSVGPathSegArcRel_Callback_7_(unwrap_jso(this), x, y, r1, r2, angle, largeArcFlag, sweepFlag);
+
@DomName('SVGPathElement.createSVGPathSegClosePath')
@DocsEditable()
- PathSegClosePath createSvgPathSegClosePath() => _blink.BlinkSVGPathElement.instance.createSVGPathSegClosePath_Callback_0_(this);
-
+ PathSegClosePath createSvgPathSegClosePath() => _blink.BlinkSVGPathElement.instance.createSVGPathSegClosePath_Callback_0_(unwrap_jso(this));
+
@DomName('SVGPathElement.createSVGPathSegCurvetoCubicAbs')
@DocsEditable()
- PathSegCurvetoCubicAbs createSvgPathSegCurvetoCubicAbs(num x, num y, num x1, num y1, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicAbs_Callback_6_(this, x, y, x1, y1, x2, y2);
-
+ PathSegCurvetoCubicAbs createSvgPathSegCurvetoCubicAbs(num x, num y, num x1, num y1, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicAbs_Callback_6_(unwrap_jso(this), x, y, x1, y1, x2, y2);
+
@DomName('SVGPathElement.createSVGPathSegCurvetoCubicRel')
@DocsEditable()
- PathSegCurvetoCubicRel createSvgPathSegCurvetoCubicRel(num x, num y, num x1, num y1, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicRel_Callback_6_(this, x, y, x1, y1, x2, y2);
-
+ PathSegCurvetoCubicRel createSvgPathSegCurvetoCubicRel(num x, num y, num x1, num y1, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicRel_Callback_6_(unwrap_jso(this), x, y, x1, y1, x2, y2);
+
@DomName('SVGPathElement.createSVGPathSegCurvetoCubicSmoothAbs')
@DocsEditable()
- PathSegCurvetoCubicSmoothAbs createSvgPathSegCurvetoCubicSmoothAbs(num x, num y, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicSmoothAbs_Callback_4_(this, x, y, x2, y2);
-
+ PathSegCurvetoCubicSmoothAbs createSvgPathSegCurvetoCubicSmoothAbs(num x, num y, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicSmoothAbs_Callback_4_(unwrap_jso(this), x, y, x2, y2);
+
@DomName('SVGPathElement.createSVGPathSegCurvetoCubicSmoothRel')
@DocsEditable()
- PathSegCurvetoCubicSmoothRel createSvgPathSegCurvetoCubicSmoothRel(num x, num y, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicSmoothRel_Callback_4_(this, x, y, x2, y2);
-
+ PathSegCurvetoCubicSmoothRel createSvgPathSegCurvetoCubicSmoothRel(num x, num y, num x2, num y2) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoCubicSmoothRel_Callback_4_(unwrap_jso(this), x, y, x2, y2);
+
@DomName('SVGPathElement.createSVGPathSegCurvetoQuadraticAbs')
@DocsEditable()
- PathSegCurvetoQuadraticAbs createSvgPathSegCurvetoQuadraticAbs(num x, num y, num x1, num y1) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticAbs_Callback_4_(this, x, y, x1, y1);
-
+ PathSegCurvetoQuadraticAbs createSvgPathSegCurvetoQuadraticAbs(num x, num y, num x1, num y1) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticAbs_Callback_4_(unwrap_jso(this), x, y, x1, y1);
+
@DomName('SVGPathElement.createSVGPathSegCurvetoQuadraticRel')
@DocsEditable()
- PathSegCurvetoQuadraticRel createSvgPathSegCurvetoQuadraticRel(num x, num y, num x1, num y1) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticRel_Callback_4_(this, x, y, x1, y1);
-
+ PathSegCurvetoQuadraticRel createSvgPathSegCurvetoQuadraticRel(num x, num y, num x1, num y1) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticRel_Callback_4_(unwrap_jso(this), x, y, x1, y1);
+
@DomName('SVGPathElement.createSVGPathSegCurvetoQuadraticSmoothAbs')
@DocsEditable()
- PathSegCurvetoQuadraticSmoothAbs createSvgPathSegCurvetoQuadraticSmoothAbs(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticSmoothAbs_Callback_2_(this, x, y);
-
+ PathSegCurvetoQuadraticSmoothAbs createSvgPathSegCurvetoQuadraticSmoothAbs(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticSmoothAbs_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('SVGPathElement.createSVGPathSegCurvetoQuadraticSmoothRel')
@DocsEditable()
- PathSegCurvetoQuadraticSmoothRel createSvgPathSegCurvetoQuadraticSmoothRel(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticSmoothRel_Callback_2_(this, x, y);
-
+ PathSegCurvetoQuadraticSmoothRel createSvgPathSegCurvetoQuadraticSmoothRel(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegCurvetoQuadraticSmoothRel_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('SVGPathElement.createSVGPathSegLinetoAbs')
@DocsEditable()
- PathSegLinetoAbs createSvgPathSegLinetoAbs(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoAbs_Callback_2_(this, x, y);
-
+ PathSegLinetoAbs createSvgPathSegLinetoAbs(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoAbs_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('SVGPathElement.createSVGPathSegLinetoHorizontalAbs')
@DocsEditable()
- PathSegLinetoHorizontalAbs createSvgPathSegLinetoHorizontalAbs(num x) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoHorizontalAbs_Callback_1_(this, x);
-
+ PathSegLinetoHorizontalAbs createSvgPathSegLinetoHorizontalAbs(num x) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoHorizontalAbs_Callback_1_(unwrap_jso(this), x);
+
@DomName('SVGPathElement.createSVGPathSegLinetoHorizontalRel')
@DocsEditable()
- PathSegLinetoHorizontalRel createSvgPathSegLinetoHorizontalRel(num x) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoHorizontalRel_Callback_1_(this, x);
-
+ PathSegLinetoHorizontalRel createSvgPathSegLinetoHorizontalRel(num x) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoHorizontalRel_Callback_1_(unwrap_jso(this), x);
+
@DomName('SVGPathElement.createSVGPathSegLinetoRel')
@DocsEditable()
- PathSegLinetoRel createSvgPathSegLinetoRel(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoRel_Callback_2_(this, x, y);
-
+ PathSegLinetoRel createSvgPathSegLinetoRel(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoRel_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('SVGPathElement.createSVGPathSegLinetoVerticalAbs')
@DocsEditable()
- PathSegLinetoVerticalAbs createSvgPathSegLinetoVerticalAbs(num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoVerticalAbs_Callback_1_(this, y);
-
+ PathSegLinetoVerticalAbs createSvgPathSegLinetoVerticalAbs(num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoVerticalAbs_Callback_1_(unwrap_jso(this), y);
+
@DomName('SVGPathElement.createSVGPathSegLinetoVerticalRel')
@DocsEditable()
- PathSegLinetoVerticalRel createSvgPathSegLinetoVerticalRel(num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoVerticalRel_Callback_1_(this, y);
-
+ PathSegLinetoVerticalRel createSvgPathSegLinetoVerticalRel(num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegLinetoVerticalRel_Callback_1_(unwrap_jso(this), y);
+
@DomName('SVGPathElement.createSVGPathSegMovetoAbs')
@DocsEditable()
- PathSegMovetoAbs createSvgPathSegMovetoAbs(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegMovetoAbs_Callback_2_(this, x, y);
-
+ PathSegMovetoAbs createSvgPathSegMovetoAbs(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegMovetoAbs_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('SVGPathElement.createSVGPathSegMovetoRel')
@DocsEditable()
- PathSegMovetoRel createSvgPathSegMovetoRel(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegMovetoRel_Callback_2_(this, x, y);
-
+ PathSegMovetoRel createSvgPathSegMovetoRel(num x, num y) => _blink.BlinkSVGPathElement.instance.createSVGPathSegMovetoRel_Callback_2_(unwrap_jso(this), x, y);
+
@DomName('SVGPathElement.getPathSegAtLength')
@DocsEditable()
- int getPathSegAtLength(num distance) => _blink.BlinkSVGPathElement.instance.getPathSegAtLength_Callback_1_(this, distance);
-
+ int getPathSegAtLength(num distance) => _blink.BlinkSVGPathElement.instance.getPathSegAtLength_Callback_1_(unwrap_jso(this), distance);
+
@DomName('SVGPathElement.getPointAtLength')
@DocsEditable()
- Point getPointAtLength(num distance) => _blink.BlinkSVGPathElement.instance.getPointAtLength_Callback_1_(this, distance);
-
+ Point getPointAtLength(num distance) => _blink.BlinkSVGPathElement.instance.getPointAtLength_Callback_1_(unwrap_jso(this), distance);
+
@DomName('SVGPathElement.getTotalLength')
@DocsEditable()
- double getTotalLength() => _blink.BlinkSVGPathElement.instance.getTotalLength_Callback_0_(this);
-
+ double getTotalLength() => _blink.BlinkSVGPathElement.instance.getTotalLength_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3760,12 +3761,12 @@
@DomName('SVGPathSeg.pathSegType')
@DocsEditable()
- int get pathSegType => _blink.BlinkSVGPathSeg.instance.pathSegType_Getter_(this);
-
+ int get pathSegType => _blink.BlinkSVGPathSeg.instance.pathSegType_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSeg.pathSegTypeAsLetter')
@DocsEditable()
- String get pathSegTypeAsLetter => _blink.BlinkSVGPathSeg.instance.pathSegTypeAsLetter_Getter_(this);
-
+ String get pathSegTypeAsLetter => _blink.BlinkSVGPathSeg.instance.pathSegTypeAsLetter_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3783,60 +3784,60 @@
@DomName('SVGPathSegArcAbs.angle')
@DocsEditable()
- num get angle => _blink.BlinkSVGPathSegArcAbs.instance.angle_Getter_(this);
-
+ num get angle => _blink.BlinkSVGPathSegArcAbs.instance.angle_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcAbs.angle')
@DocsEditable()
- void set angle(num value) => _blink.BlinkSVGPathSegArcAbs.instance.angle_Setter_(this, value);
-
+ void set angle(num value) => _blink.BlinkSVGPathSegArcAbs.instance.angle_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcAbs.largeArcFlag')
@DocsEditable()
- bool get largeArcFlag => _blink.BlinkSVGPathSegArcAbs.instance.largeArcFlag_Getter_(this);
-
+ bool get largeArcFlag => _blink.BlinkSVGPathSegArcAbs.instance.largeArcFlag_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcAbs.largeArcFlag')
@DocsEditable()
- void set largeArcFlag(bool value) => _blink.BlinkSVGPathSegArcAbs.instance.largeArcFlag_Setter_(this, value);
-
+ void set largeArcFlag(bool value) => _blink.BlinkSVGPathSegArcAbs.instance.largeArcFlag_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcAbs.r1')
@DocsEditable()
- num get r1 => _blink.BlinkSVGPathSegArcAbs.instance.r1_Getter_(this);
-
+ num get r1 => _blink.BlinkSVGPathSegArcAbs.instance.r1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcAbs.r1')
@DocsEditable()
- void set r1(num value) => _blink.BlinkSVGPathSegArcAbs.instance.r1_Setter_(this, value);
-
+ void set r1(num value) => _blink.BlinkSVGPathSegArcAbs.instance.r1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcAbs.r2')
@DocsEditable()
- num get r2 => _blink.BlinkSVGPathSegArcAbs.instance.r2_Getter_(this);
-
+ num get r2 => _blink.BlinkSVGPathSegArcAbs.instance.r2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcAbs.r2')
@DocsEditable()
- void set r2(num value) => _blink.BlinkSVGPathSegArcAbs.instance.r2_Setter_(this, value);
-
+ void set r2(num value) => _blink.BlinkSVGPathSegArcAbs.instance.r2_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcAbs.sweepFlag')
@DocsEditable()
- bool get sweepFlag => _blink.BlinkSVGPathSegArcAbs.instance.sweepFlag_Getter_(this);
-
+ bool get sweepFlag => _blink.BlinkSVGPathSegArcAbs.instance.sweepFlag_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcAbs.sweepFlag')
@DocsEditable()
- void set sweepFlag(bool value) => _blink.BlinkSVGPathSegArcAbs.instance.sweepFlag_Setter_(this, value);
-
+ void set sweepFlag(bool value) => _blink.BlinkSVGPathSegArcAbs.instance.sweepFlag_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegArcAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegArcAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegArcAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegArcAbs.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegArcAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegArcAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegArcAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegArcAbs.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3854,60 +3855,60 @@
@DomName('SVGPathSegArcRel.angle')
@DocsEditable()
- num get angle => _blink.BlinkSVGPathSegArcRel.instance.angle_Getter_(this);
-
+ num get angle => _blink.BlinkSVGPathSegArcRel.instance.angle_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcRel.angle')
@DocsEditable()
- void set angle(num value) => _blink.BlinkSVGPathSegArcRel.instance.angle_Setter_(this, value);
-
+ void set angle(num value) => _blink.BlinkSVGPathSegArcRel.instance.angle_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcRel.largeArcFlag')
@DocsEditable()
- bool get largeArcFlag => _blink.BlinkSVGPathSegArcRel.instance.largeArcFlag_Getter_(this);
-
+ bool get largeArcFlag => _blink.BlinkSVGPathSegArcRel.instance.largeArcFlag_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcRel.largeArcFlag')
@DocsEditable()
- void set largeArcFlag(bool value) => _blink.BlinkSVGPathSegArcRel.instance.largeArcFlag_Setter_(this, value);
-
+ void set largeArcFlag(bool value) => _blink.BlinkSVGPathSegArcRel.instance.largeArcFlag_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcRel.r1')
@DocsEditable()
- num get r1 => _blink.BlinkSVGPathSegArcRel.instance.r1_Getter_(this);
-
+ num get r1 => _blink.BlinkSVGPathSegArcRel.instance.r1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcRel.r1')
@DocsEditable()
- void set r1(num value) => _blink.BlinkSVGPathSegArcRel.instance.r1_Setter_(this, value);
-
+ void set r1(num value) => _blink.BlinkSVGPathSegArcRel.instance.r1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcRel.r2')
@DocsEditable()
- num get r2 => _blink.BlinkSVGPathSegArcRel.instance.r2_Getter_(this);
-
+ num get r2 => _blink.BlinkSVGPathSegArcRel.instance.r2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcRel.r2')
@DocsEditable()
- void set r2(num value) => _blink.BlinkSVGPathSegArcRel.instance.r2_Setter_(this, value);
-
+ void set r2(num value) => _blink.BlinkSVGPathSegArcRel.instance.r2_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcRel.sweepFlag')
@DocsEditable()
- bool get sweepFlag => _blink.BlinkSVGPathSegArcRel.instance.sweepFlag_Getter_(this);
-
+ bool get sweepFlag => _blink.BlinkSVGPathSegArcRel.instance.sweepFlag_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcRel.sweepFlag')
@DocsEditable()
- void set sweepFlag(bool value) => _blink.BlinkSVGPathSegArcRel.instance.sweepFlag_Setter_(this, value);
-
+ void set sweepFlag(bool value) => _blink.BlinkSVGPathSegArcRel.instance.sweepFlag_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegArcRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegArcRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegArcRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegArcRel.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegArcRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegArcRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegArcRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegArcRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegArcRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegArcRel.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -3940,52 +3941,52 @@
@DomName('SVGPathSegCurvetoCubicAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicAbs.x1')
@DocsEditable()
- num get x1 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x1_Getter_(this);
-
+ num get x1 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicAbs.x1')
@DocsEditable()
- void set x1(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x1_Setter_(this, value);
-
+ void set x1(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicAbs.x2')
@DocsEditable()
- num get x2 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x2_Getter_(this);
-
+ num get x2 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicAbs.x2')
@DocsEditable()
- void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x2_Setter_(this, value);
-
+ void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.x2_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicAbs.y1')
@DocsEditable()
- num get y1 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y1_Getter_(this);
-
+ num get y1 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicAbs.y1')
@DocsEditable()
- void set y1(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y1_Setter_(this, value);
-
+ void set y1(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicAbs.y2')
@DocsEditable()
- num get y2 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y2_Getter_(this);
-
+ num get y2 => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicAbs.y2')
@DocsEditable()
- void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y2_Setter_(this, value);
-
+ void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicAbs.instance.y2_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4003,52 +4004,52 @@
@DomName('SVGPathSegCurvetoCubicRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicRel.x1')
@DocsEditable()
- num get x1 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x1_Getter_(this);
-
+ num get x1 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicRel.x1')
@DocsEditable()
- void set x1(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x1_Setter_(this, value);
-
+ void set x1(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicRel.x2')
@DocsEditable()
- num get x2 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x2_Getter_(this);
-
+ num get x2 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicRel.x2')
@DocsEditable()
- void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x2_Setter_(this, value);
-
+ void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.x2_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicRel.y1')
@DocsEditable()
- num get y1 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y1_Getter_(this);
-
+ num get y1 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicRel.y1')
@DocsEditable()
- void set y1(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y1_Setter_(this, value);
-
+ void set y1(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicRel.y2')
@DocsEditable()
- num get y2 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y2_Getter_(this);
-
+ num get y2 => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicRel.y2')
@DocsEditable()
- void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y2_Setter_(this, value);
-
+ void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicRel.instance.y2_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4066,36 +4067,36 @@
@DomName('SVGPathSegCurvetoCubicSmoothAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicSmoothAbs.x2')
@DocsEditable()
- num get x2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x2_Getter_(this);
-
+ num get x2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothAbs.x2')
@DocsEditable()
- void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x2_Setter_(this, value);
-
+ void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.x2_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicSmoothAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicSmoothAbs.y2')
@DocsEditable()
- num get y2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y2_Getter_(this);
-
+ num get y2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothAbs.y2')
@DocsEditable()
- void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y2_Setter_(this, value);
-
+ void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothAbs.instance.y2_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4113,36 +4114,36 @@
@DomName('SVGPathSegCurvetoCubicSmoothRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicSmoothRel.x2')
@DocsEditable()
- num get x2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x2_Getter_(this);
-
+ num get x2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothRel.x2')
@DocsEditable()
- void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x2_Setter_(this, value);
-
+ void set x2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.x2_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicSmoothRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoCubicSmoothRel.y2')
@DocsEditable()
- num get y2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y2_Getter_(this);
-
+ num get y2 => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y2_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoCubicSmoothRel.y2')
@DocsEditable()
- void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y2_Setter_(this, value);
-
+ void set y2(num value) => _blink.BlinkSVGPathSegCurvetoCubicSmoothRel.instance.y2_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4160,36 +4161,36 @@
@DomName('SVGPathSegCurvetoQuadraticAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticAbs.x1')
@DocsEditable()
- num get x1 => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x1_Getter_(this);
-
+ num get x1 => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticAbs.x1')
@DocsEditable()
- void set x1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x1_Setter_(this, value);
-
+ void set x1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.x1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticAbs.y1')
@DocsEditable()
- num get y1 => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y1_Getter_(this);
-
+ num get y1 => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticAbs.y1')
@DocsEditable()
- void set y1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y1_Setter_(this, value);
-
+ void set y1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticAbs.instance.y1_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4207,36 +4208,36 @@
@DomName('SVGPathSegCurvetoQuadraticRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticRel.x1')
@DocsEditable()
- num get x1 => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x1_Getter_(this);
-
+ num get x1 => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticRel.x1')
@DocsEditable()
- void set x1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x1_Setter_(this, value);
-
+ void set x1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.x1_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticRel.y1')
@DocsEditable()
- num get y1 => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y1_Getter_(this);
-
+ num get y1 => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y1_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticRel.y1')
@DocsEditable()
- void set y1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y1_Setter_(this, value);
-
+ void set y1(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticRel.instance.y1_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4254,20 +4255,20 @@
@DomName('SVGPathSegCurvetoQuadraticSmoothAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticSmoothAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticSmoothAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticSmoothAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothAbs.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4285,20 +4286,20 @@
@DomName('SVGPathSegCurvetoQuadraticSmoothRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticSmoothRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegCurvetoQuadraticSmoothRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegCurvetoQuadraticSmoothRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegCurvetoQuadraticSmoothRel.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4316,20 +4317,20 @@
@DomName('SVGPathSegLinetoAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegLinetoAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegLinetoAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegLinetoAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegLinetoAbs.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegLinetoAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegLinetoAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegLinetoAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegLinetoAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegLinetoAbs.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4347,12 +4348,12 @@
@DomName('SVGPathSegLinetoHorizontalAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegLinetoHorizontalAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegLinetoHorizontalAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoHorizontalAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegLinetoHorizontalAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegLinetoHorizontalAbs.instance.x_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4370,12 +4371,12 @@
@DomName('SVGPathSegLinetoHorizontalRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegLinetoHorizontalRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegLinetoHorizontalRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoHorizontalRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegLinetoHorizontalRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegLinetoHorizontalRel.instance.x_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4393,20 +4394,20 @@
@DomName('SVGPathSegLinetoRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegLinetoRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegLinetoRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegLinetoRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegLinetoRel.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegLinetoRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegLinetoRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegLinetoRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegLinetoRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegLinetoRel.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4424,12 +4425,12 @@
@DomName('SVGPathSegLinetoVerticalAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegLinetoVerticalAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegLinetoVerticalAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoVerticalAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegLinetoVerticalAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegLinetoVerticalAbs.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4447,12 +4448,12 @@
@DomName('SVGPathSegLinetoVerticalRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegLinetoVerticalRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegLinetoVerticalRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegLinetoVerticalRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegLinetoVerticalRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegLinetoVerticalRel.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4471,12 +4472,12 @@
@DomName('SVGPathSegList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkSVGPathSegList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSVGPathSegList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegList.numberOfItems')
@DocsEditable()
- int get numberOfItems => _blink.BlinkSVGPathSegList.instance.numberOfItems_Getter_(this);
-
+ int get numberOfItems => _blink.BlinkSVGPathSegList.instance.numberOfItems_Getter_(unwrap_jso(this));
+
PathSeg operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
@@ -4524,36 +4525,36 @@
@DomName('SVGPathSegList.__setter__')
@DocsEditable()
@Experimental() // untriaged
- void __setter__(int index, PathSeg value) => _blink.BlinkSVGPathSegList.instance.$__setter___Callback_2_(this, index, value);
-
+ void __setter__(int index, PathSeg value) => _blink.BlinkSVGPathSegList.instance.$__setter___Callback_2_(unwrap_jso(this), index, unwrap_jso(value));
+
@DomName('SVGPathSegList.appendItem')
@DocsEditable()
- PathSeg appendItem(PathSeg newItem) => _blink.BlinkSVGPathSegList.instance.appendItem_Callback_1_(this, newItem);
-
+ PathSeg appendItem(PathSeg newItem) => _blink.BlinkSVGPathSegList.instance.appendItem_Callback_1_(unwrap_jso(this), unwrap_jso(newItem));
+
@DomName('SVGPathSegList.clear')
@DocsEditable()
- void clear() => _blink.BlinkSVGPathSegList.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkSVGPathSegList.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('SVGPathSegList.getItem')
@DocsEditable()
- PathSeg getItem(int index) => _blink.BlinkSVGPathSegList.instance.getItem_Callback_1_(this, index);
-
+ PathSeg getItem(int index) => _blink.BlinkSVGPathSegList.instance.getItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGPathSegList.initialize')
@DocsEditable()
- PathSeg initialize(PathSeg newItem) => _blink.BlinkSVGPathSegList.instance.initialize_Callback_1_(this, newItem);
-
+ PathSeg initialize(PathSeg newItem) => _blink.BlinkSVGPathSegList.instance.initialize_Callback_1_(unwrap_jso(this), unwrap_jso(newItem));
+
@DomName('SVGPathSegList.insertItemBefore')
@DocsEditable()
- PathSeg insertItemBefore(PathSeg newItem, int index) => _blink.BlinkSVGPathSegList.instance.insertItemBefore_Callback_2_(this, newItem, index);
-
+ PathSeg insertItemBefore(PathSeg newItem, int index) => _blink.BlinkSVGPathSegList.instance.insertItemBefore_Callback_2_(unwrap_jso(this), unwrap_jso(newItem), index);
+
@DomName('SVGPathSegList.removeItem')
@DocsEditable()
- PathSeg removeItem(int index) => _blink.BlinkSVGPathSegList.instance.removeItem_Callback_1_(this, index);
-
+ PathSeg removeItem(int index) => _blink.BlinkSVGPathSegList.instance.removeItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGPathSegList.replaceItem')
@DocsEditable()
- PathSeg replaceItem(PathSeg newItem, int index) => _blink.BlinkSVGPathSegList.instance.replaceItem_Callback_2_(this, newItem, index);
-
+ PathSeg replaceItem(PathSeg newItem, int index) => _blink.BlinkSVGPathSegList.instance.replaceItem_Callback_2_(unwrap_jso(this), unwrap_jso(newItem), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4571,20 +4572,20 @@
@DomName('SVGPathSegMovetoAbs.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegMovetoAbs.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegMovetoAbs.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegMovetoAbs.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegMovetoAbs.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegMovetoAbs.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegMovetoAbs.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegMovetoAbs.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegMovetoAbs.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegMovetoAbs.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegMovetoAbs.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegMovetoAbs.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4602,20 +4603,20 @@
@DomName('SVGPathSegMovetoRel.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPathSegMovetoRel.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPathSegMovetoRel.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegMovetoRel.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPathSegMovetoRel.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPathSegMovetoRel.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPathSegMovetoRel.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPathSegMovetoRel.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPathSegMovetoRel.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPathSegMovetoRel.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPathSegMovetoRel.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPathSegMovetoRel.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4643,60 +4644,60 @@
@DomName('SVGPatternElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGPatternElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGPatternElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.patternContentUnits')
@DocsEditable()
- AnimatedEnumeration get patternContentUnits => _blink.BlinkSVGPatternElement.instance.patternContentUnits_Getter_(this);
-
+ AnimatedEnumeration get patternContentUnits => wrap_jso(_blink.BlinkSVGPatternElement.instance.patternContentUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.patternTransform')
@DocsEditable()
- AnimatedTransformList get patternTransform => _blink.BlinkSVGPatternElement.instance.patternTransform_Getter_(this);
-
+ AnimatedTransformList get patternTransform => wrap_jso(_blink.BlinkSVGPatternElement.instance.patternTransform_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.patternUnits')
@DocsEditable()
- AnimatedEnumeration get patternUnits => _blink.BlinkSVGPatternElement.instance.patternUnits_Getter_(this);
-
+ AnimatedEnumeration get patternUnits => wrap_jso(_blink.BlinkSVGPatternElement.instance.patternUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGPatternElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGPatternElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGPatternElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGPatternElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGPatternElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGPatternElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.preserveAspectRatio')
@DocsEditable()
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGPatternElement.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGPatternElement.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.viewBox')
@DocsEditable()
- AnimatedRect get viewBox => _blink.BlinkSVGPatternElement.instance.viewBox_Getter_(this);
-
+ AnimatedRect get viewBox => wrap_jso(_blink.BlinkSVGPatternElement.instance.viewBox_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.requiredExtensions')
@DocsEditable()
- StringList get requiredExtensions => _blink.BlinkSVGPatternElement.instance.requiredExtensions_Getter_(this);
-
+ StringList get requiredExtensions => wrap_jso(_blink.BlinkSVGPatternElement.instance.requiredExtensions_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.requiredFeatures')
@DocsEditable()
- StringList get requiredFeatures => _blink.BlinkSVGPatternElement.instance.requiredFeatures_Getter_(this);
-
+ StringList get requiredFeatures => wrap_jso(_blink.BlinkSVGPatternElement.instance.requiredFeatures_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.systemLanguage')
@DocsEditable()
- StringList get systemLanguage => _blink.BlinkSVGPatternElement.instance.systemLanguage_Getter_(this);
-
+ StringList get systemLanguage => wrap_jso(_blink.BlinkSVGPatternElement.instance.systemLanguage_Getter_(unwrap_jso(this)));
+
@DomName('SVGPatternElement.hasExtension')
@DocsEditable()
- bool hasExtension(String extension) => _blink.BlinkSVGPatternElement.instance.hasExtension_Callback_1_(this, extension);
-
+ bool hasExtension(String extension) => _blink.BlinkSVGPatternElement.instance.hasExtension_Callback_1_(unwrap_jso(this), extension);
+
@DomName('SVGPatternElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGPatternElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGPatternElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4714,24 +4715,24 @@
@DomName('SVGPoint.x')
@DocsEditable()
- num get x => _blink.BlinkSVGPoint.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGPoint.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGPoint.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGPoint.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGPoint.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPoint.y')
@DocsEditable()
- num get y => _blink.BlinkSVGPoint.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGPoint.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGPoint.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGPoint.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGPoint.instance.y_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPoint.matrixTransform')
@DocsEditable()
- Point matrixTransform(Matrix matrix) => _blink.BlinkSVGPoint.instance.matrixTransform_Callback_1_(this, matrix);
-
+ Point matrixTransform(Matrix matrix) => _blink.BlinkSVGPoint.instance.matrixTransform_Callback_1_(unwrap_jso(this), unwrap_jso(matrix));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4750,45 +4751,45 @@
@DomName('SVGPointList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkSVGPointList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSVGPointList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('SVGPointList.numberOfItems')
@DocsEditable()
- int get numberOfItems => _blink.BlinkSVGPointList.instance.numberOfItems_Getter_(this);
-
+ int get numberOfItems => _blink.BlinkSVGPointList.instance.numberOfItems_Getter_(unwrap_jso(this));
+
@DomName('SVGPointList.__setter__')
@DocsEditable()
@Experimental() // untriaged
- void __setter__(int index, Point value) => _blink.BlinkSVGPointList.instance.$__setter___Callback_2_(this, index, value);
-
+ void __setter__(int index, Point value) => _blink.BlinkSVGPointList.instance.$__setter___Callback_2_(unwrap_jso(this), index, unwrap_jso(value));
+
@DomName('SVGPointList.appendItem')
@DocsEditable()
- Point appendItem(Point item) => _blink.BlinkSVGPointList.instance.appendItem_Callback_1_(this, item);
-
+ Point appendItem(Point item) => _blink.BlinkSVGPointList.instance.appendItem_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGPointList.clear')
@DocsEditable()
- void clear() => _blink.BlinkSVGPointList.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkSVGPointList.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('SVGPointList.getItem')
@DocsEditable()
- Point getItem(int index) => _blink.BlinkSVGPointList.instance.getItem_Callback_1_(this, index);
-
+ Point getItem(int index) => _blink.BlinkSVGPointList.instance.getItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGPointList.initialize')
@DocsEditable()
- Point initialize(Point item) => _blink.BlinkSVGPointList.instance.initialize_Callback_1_(this, item);
-
+ Point initialize(Point item) => _blink.BlinkSVGPointList.instance.initialize_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGPointList.insertItemBefore')
@DocsEditable()
- Point insertItemBefore(Point item, int index) => _blink.BlinkSVGPointList.instance.insertItemBefore_Callback_2_(this, item, index);
-
+ Point insertItemBefore(Point item, int index) => _blink.BlinkSVGPointList.instance.insertItemBefore_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
@DomName('SVGPointList.removeItem')
@DocsEditable()
- Point removeItem(int index) => _blink.BlinkSVGPointList.instance.removeItem_Callback_1_(this, index);
-
+ Point removeItem(int index) => _blink.BlinkSVGPointList.instance.removeItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGPointList.replaceItem')
@DocsEditable()
- Point replaceItem(Point item, int index) => _blink.BlinkSVGPointList.instance.replaceItem_Callback_2_(this, item, index);
-
+ Point replaceItem(Point item, int index) => _blink.BlinkSVGPointList.instance.replaceItem_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4816,12 +4817,12 @@
@DomName('SVGPolygonElement.animatedPoints')
@DocsEditable()
- PointList get animatedPoints => _blink.BlinkSVGPolygonElement.instance.animatedPoints_Getter_(this);
-
+ PointList get animatedPoints => wrap_jso(_blink.BlinkSVGPolygonElement.instance.animatedPoints_Getter_(unwrap_jso(this)));
+
@DomName('SVGPolygonElement.points')
@DocsEditable()
- PointList get points => _blink.BlinkSVGPolygonElement.instance.points_Getter_(this);
-
+ PointList get points => wrap_jso(_blink.BlinkSVGPolygonElement.instance.points_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4849,12 +4850,12 @@
@DomName('SVGPolylineElement.animatedPoints')
@DocsEditable()
- PointList get animatedPoints => _blink.BlinkSVGPolylineElement.instance.animatedPoints_Getter_(this);
-
+ PointList get animatedPoints => wrap_jso(_blink.BlinkSVGPolylineElement.instance.animatedPoints_Getter_(unwrap_jso(this)));
+
@DomName('SVGPolylineElement.points')
@DocsEditable()
- PointList get points => _blink.BlinkSVGPolylineElement.instance.points_Getter_(this);
-
+ PointList get points => wrap_jso(_blink.BlinkSVGPolylineElement.instance.points_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4928,20 +4929,20 @@
@DomName('SVGPreserveAspectRatio.align')
@DocsEditable()
- int get align => _blink.BlinkSVGPreserveAspectRatio.instance.align_Getter_(this);
-
+ int get align => _blink.BlinkSVGPreserveAspectRatio.instance.align_Getter_(unwrap_jso(this));
+
@DomName('SVGPreserveAspectRatio.align')
@DocsEditable()
- void set align(int value) => _blink.BlinkSVGPreserveAspectRatio.instance.align_Setter_(this, value);
-
+ void set align(int value) => _blink.BlinkSVGPreserveAspectRatio.instance.align_Setter_(unwrap_jso(this), value);
+
@DomName('SVGPreserveAspectRatio.meetOrSlice')
@DocsEditable()
- int get meetOrSlice => _blink.BlinkSVGPreserveAspectRatio.instance.meetOrSlice_Getter_(this);
-
+ int get meetOrSlice => _blink.BlinkSVGPreserveAspectRatio.instance.meetOrSlice_Getter_(unwrap_jso(this));
+
@DomName('SVGPreserveAspectRatio.meetOrSlice')
@DocsEditable()
- void set meetOrSlice(int value) => _blink.BlinkSVGPreserveAspectRatio.instance.meetOrSlice_Setter_(this, value);
-
+ void set meetOrSlice(int value) => _blink.BlinkSVGPreserveAspectRatio.instance.meetOrSlice_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -4969,28 +4970,28 @@
@DomName('SVGRadialGradientElement.cx')
@DocsEditable()
- AnimatedLength get cx => _blink.BlinkSVGRadialGradientElement.instance.cx_Getter_(this);
-
+ AnimatedLength get cx => wrap_jso(_blink.BlinkSVGRadialGradientElement.instance.cx_Getter_(unwrap_jso(this)));
+
@DomName('SVGRadialGradientElement.cy')
@DocsEditable()
- AnimatedLength get cy => _blink.BlinkSVGRadialGradientElement.instance.cy_Getter_(this);
-
+ AnimatedLength get cy => wrap_jso(_blink.BlinkSVGRadialGradientElement.instance.cy_Getter_(unwrap_jso(this)));
+
@DomName('SVGRadialGradientElement.fr')
@DocsEditable()
- AnimatedLength get fr => _blink.BlinkSVGRadialGradientElement.instance.fr_Getter_(this);
-
+ AnimatedLength get fr => wrap_jso(_blink.BlinkSVGRadialGradientElement.instance.fr_Getter_(unwrap_jso(this)));
+
@DomName('SVGRadialGradientElement.fx')
@DocsEditable()
- AnimatedLength get fx => _blink.BlinkSVGRadialGradientElement.instance.fx_Getter_(this);
-
+ AnimatedLength get fx => wrap_jso(_blink.BlinkSVGRadialGradientElement.instance.fx_Getter_(unwrap_jso(this)));
+
@DomName('SVGRadialGradientElement.fy')
@DocsEditable()
- AnimatedLength get fy => _blink.BlinkSVGRadialGradientElement.instance.fy_Getter_(this);
-
+ AnimatedLength get fy => wrap_jso(_blink.BlinkSVGRadialGradientElement.instance.fy_Getter_(unwrap_jso(this)));
+
@DomName('SVGRadialGradientElement.r')
@DocsEditable()
- AnimatedLength get r => _blink.BlinkSVGRadialGradientElement.instance.r_Getter_(this);
-
+ AnimatedLength get r => wrap_jso(_blink.BlinkSVGRadialGradientElement.instance.r_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -5008,36 +5009,36 @@
@DomName('SVGRect.height')
@DocsEditable()
- num get height => _blink.BlinkSVGRect.instance.height_Getter_(this);
-
+ num get height => _blink.BlinkSVGRect.instance.height_Getter_(unwrap_jso(this));
+
@DomName('SVGRect.height')
@DocsEditable()
- void set height(num value) => _blink.BlinkSVGRect.instance.height_Setter_(this, value);
-
+ void set height(num value) => _blink.BlinkSVGRect.instance.height_Setter_(unwrap_jso(this), value);
+
@DomName('SVGRect.width')
@DocsEditable()
- num get width => _blink.BlinkSVGRect.instance.width_Getter_(this);
-
+ num get width => _blink.BlinkSVGRect.instance.width_Getter_(unwrap_jso(this));
+
@DomName('SVGRect.width')
@DocsEditable()
- void set width(num value) => _blink.BlinkSVGRect.instance.width_Setter_(this, value);
-
+ void set width(num value) => _blink.BlinkSVGRect.instance.width_Setter_(unwrap_jso(this), value);
+
@DomName('SVGRect.x')
@DocsEditable()
- num get x => _blink.BlinkSVGRect.instance.x_Getter_(this);
-
+ num get x => _blink.BlinkSVGRect.instance.x_Getter_(unwrap_jso(this));
+
@DomName('SVGRect.x')
@DocsEditable()
- void set x(num value) => _blink.BlinkSVGRect.instance.x_Setter_(this, value);
-
+ void set x(num value) => _blink.BlinkSVGRect.instance.x_Setter_(unwrap_jso(this), value);
+
@DomName('SVGRect.y')
@DocsEditable()
- num get y => _blink.BlinkSVGRect.instance.y_Getter_(this);
-
+ num get y => _blink.BlinkSVGRect.instance.y_Getter_(unwrap_jso(this));
+
@DomName('SVGRect.y')
@DocsEditable()
- void set y(num value) => _blink.BlinkSVGRect.instance.y_Setter_(this, value);
-
+ void set y(num value) => _blink.BlinkSVGRect.instance.y_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -5065,28 +5066,28 @@
@DomName('SVGRectElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGRectElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGRectElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGRectElement.rx')
@DocsEditable()
- AnimatedLength get rx => _blink.BlinkSVGRectElement.instance.rx_Getter_(this);
-
+ AnimatedLength get rx => wrap_jso(_blink.BlinkSVGRectElement.instance.rx_Getter_(unwrap_jso(this)));
+
@DomName('SVGRectElement.ry')
@DocsEditable()
- AnimatedLength get ry => _blink.BlinkSVGRectElement.instance.ry_Getter_(this);
-
+ AnimatedLength get ry => wrap_jso(_blink.BlinkSVGRectElement.instance.ry_Getter_(unwrap_jso(this)));
+
@DomName('SVGRectElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGRectElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGRectElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGRectElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGRectElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGRectElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGRectElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGRectElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGRectElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -5153,16 +5154,16 @@
@DomName('SVGScriptElement.type')
@DocsEditable()
- String get type => _blink.BlinkSVGScriptElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkSVGScriptElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('SVGScriptElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkSVGScriptElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkSVGScriptElement.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('SVGScriptElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGScriptElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGScriptElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -5221,8 +5222,8 @@
@DomName('SVGStopElement.offset')
@DocsEditable()
- AnimatedNumber get gradientOffset => _blink.BlinkSVGStopElement.instance.offset_Getter_(this);
-
+ AnimatedNumber get gradientOffset => wrap_jso(_blink.BlinkSVGStopElement.instance.offset_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -5241,12 +5242,12 @@
@DomName('SVGStringList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkSVGStringList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSVGStringList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('SVGStringList.numberOfItems')
@DocsEditable()
- int get numberOfItems => _blink.BlinkSVGStringList.instance.numberOfItems_Getter_(this);
-
+ int get numberOfItems => _blink.BlinkSVGStringList.instance.numberOfItems_Getter_(unwrap_jso(this));
+
String operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
@@ -5294,36 +5295,36 @@
@DomName('SVGStringList.__setter__')
@DocsEditable()
@Experimental() // untriaged
- void __setter__(int index, String value) => _blink.BlinkSVGStringList.instance.$__setter___Callback_2_(this, index, value);
-
+ void __setter__(int index, String value) => _blink.BlinkSVGStringList.instance.$__setter___Callback_2_(unwrap_jso(this), index, value);
+
@DomName('SVGStringList.appendItem')
@DocsEditable()
- String appendItem(String item) => _blink.BlinkSVGStringList.instance.appendItem_Callback_1_(this, item);
-
+ String appendItem(String item) => _blink.BlinkSVGStringList.instance.appendItem_Callback_1_(unwrap_jso(this), item);
+
@DomName('SVGStringList.clear')
@DocsEditable()
- void clear() => _blink.BlinkSVGStringList.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkSVGStringList.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('SVGStringList.getItem')
@DocsEditable()
- String getItem(int index) => _blink.BlinkSVGStringList.instance.getItem_Callback_1_(this, index);
-
+ String getItem(int index) => _blink.BlinkSVGStringList.instance.getItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGStringList.initialize')
@DocsEditable()
- String initialize(String item) => _blink.BlinkSVGStringList.instance.initialize_Callback_1_(this, item);
-
+ String initialize(String item) => _blink.BlinkSVGStringList.instance.initialize_Callback_1_(unwrap_jso(this), item);
+
@DomName('SVGStringList.insertItemBefore')
@DocsEditable()
- String insertItemBefore(String item, int index) => _blink.BlinkSVGStringList.instance.insertItemBefore_Callback_2_(this, item, index);
-
+ String insertItemBefore(String item, int index) => _blink.BlinkSVGStringList.instance.insertItemBefore_Callback_2_(unwrap_jso(this), item, index);
+
@DomName('SVGStringList.removeItem')
@DocsEditable()
- String removeItem(int index) => _blink.BlinkSVGStringList.instance.removeItem_Callback_1_(this, index);
-
+ String removeItem(int index) => _blink.BlinkSVGStringList.instance.removeItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGStringList.replaceItem')
@DocsEditable()
- String replaceItem(String item, int index) => _blink.BlinkSVGStringList.instance.replaceItem_Callback_2_(this, item, index);
-
+ String replaceItem(String item, int index) => _blink.BlinkSVGStringList.instance.replaceItem_Callback_2_(unwrap_jso(this), item, index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -5352,41 +5353,41 @@
@DomName('SVGStyleElement.disabled')
@DocsEditable()
- bool get disabled => _blink.BlinkSVGStyleElement.instance.disabled_Getter_(this);
-
+ bool get disabled => _blink.BlinkSVGStyleElement.instance.disabled_Getter_(unwrap_jso(this));
+
@DomName('SVGStyleElement.disabled')
@DocsEditable()
- void set disabled(bool value) => _blink.BlinkSVGStyleElement.instance.disabled_Setter_(this, value);
-
+ void set disabled(bool value) => _blink.BlinkSVGStyleElement.instance.disabled_Setter_(unwrap_jso(this), value);
+
@DomName('SVGStyleElement.media')
@DocsEditable()
- String get media => _blink.BlinkSVGStyleElement.instance.media_Getter_(this);
-
+ String get media => _blink.BlinkSVGStyleElement.instance.media_Getter_(unwrap_jso(this));
+
@DomName('SVGStyleElement.media')
@DocsEditable()
- void set media(String value) => _blink.BlinkSVGStyleElement.instance.media_Setter_(this, value);
-
+ void set media(String value) => _blink.BlinkSVGStyleElement.instance.media_Setter_(unwrap_jso(this), value);
+
@DomName('SVGStyleElement.sheet')
@DocsEditable()
@Experimental() // untriaged
- StyleSheet get sheet => _blink.BlinkSVGStyleElement.instance.sheet_Getter_(this);
-
+ StyleSheet get sheet => wrap_jso(_blink.BlinkSVGStyleElement.instance.sheet_Getter_(unwrap_jso(this)));
+
@DomName('SVGStyleElement.title')
@DocsEditable()
- String get title => _blink.BlinkSVGStyleElement.instance.title_Getter_(this);
-
+ String get title => _blink.BlinkSVGStyleElement.instance.title_Getter_(unwrap_jso(this));
+
@DomName('SVGStyleElement.title')
@DocsEditable()
- void set title(String value) => _blink.BlinkSVGStyleElement.instance.title_Setter_(this, value);
-
+ void set title(String value) => _blink.BlinkSVGStyleElement.instance.title_Setter_(unwrap_jso(this), value);
+
@DomName('SVGStyleElement.type')
@DocsEditable()
- String get type => _blink.BlinkSVGStyleElement.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkSVGStyleElement.instance.type_Getter_(unwrap_jso(this));
+
@DomName('SVGStyleElement.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkSVGStyleElement.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkSVGStyleElement.instance.type_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -5447,7 +5448,7 @@
CssClassSet get classes => new _AttributeClassSet(this);
- List<Element> get children => new FilteredElementList<Element>(this);
+ List<Element> get children => new FilteredElementList(this);
void set children(List<Element> value) {
final children = this.children;
@@ -5806,59 +5807,59 @@
@DomName('SVGElement.className')
@DocsEditable()
@Experimental() // untriaged
- AnimatedString get _svgClassName => _blink.BlinkSVGElement.instance.className_Getter_(this);
-
+ AnimatedString get _svgClassName => wrap_jso(_blink.BlinkSVGElement.instance.className_Getter_(unwrap_jso(this)));
+
@DomName('SVGElement.ownerSVGElement')
@DocsEditable()
- SvgSvgElement get ownerSvgElement => _blink.BlinkSVGElement.instance.ownerSVGElement_Getter_(this);
-
+ SvgSvgElement get ownerSvgElement => wrap_jso(_blink.BlinkSVGElement.instance.ownerSVGElement_Getter_(unwrap_jso(this)));
+
@DomName('SVGElement.style')
@DocsEditable()
@Experimental() // untriaged
- CssStyleDeclaration get style => _blink.BlinkSVGElement.instance.style_Getter_(this);
-
+ CssStyleDeclaration get style => wrap_jso(_blink.BlinkSVGElement.instance.style_Getter_(unwrap_jso(this)));
+
@DomName('SVGElement.tabIndex')
@DocsEditable()
@Experimental() // untriaged
- int get tabIndex => _blink.BlinkSVGElement.instance.tabIndex_Getter_(this);
-
+ int get tabIndex => _blink.BlinkSVGElement.instance.tabIndex_Getter_(unwrap_jso(this));
+
@DomName('SVGElement.tabIndex')
@DocsEditable()
@Experimental() // untriaged
- void set tabIndex(int value) => _blink.BlinkSVGElement.instance.tabIndex_Setter_(this, value);
-
+ void set tabIndex(int value) => _blink.BlinkSVGElement.instance.tabIndex_Setter_(unwrap_jso(this), value);
+
@DomName('SVGElement.viewportElement')
@DocsEditable()
- SvgElement get viewportElement => _blink.BlinkSVGElement.instance.viewportElement_Getter_(this);
-
+ SvgElement get viewportElement => wrap_jso(_blink.BlinkSVGElement.instance.viewportElement_Getter_(unwrap_jso(this)));
+
@DomName('SVGElement.xmlbase')
@DocsEditable()
- String get xmlbase => _blink.BlinkSVGElement.instance.xmlbase_Getter_(this);
-
+ String get xmlbase => _blink.BlinkSVGElement.instance.xmlbase_Getter_(unwrap_jso(this));
+
@DomName('SVGElement.xmlbase')
@DocsEditable()
- void set xmlbase(String value) => _blink.BlinkSVGElement.instance.xmlbase_Setter_(this, value);
-
+ void set xmlbase(String value) => _blink.BlinkSVGElement.instance.xmlbase_Setter_(unwrap_jso(this), value);
+
@DomName('SVGElement.xmllang')
@DocsEditable()
@Experimental() // untriaged
- String get xmllang => _blink.BlinkSVGElement.instance.xmllang_Getter_(this);
-
+ String get xmllang => _blink.BlinkSVGElement.instance.xmllang_Getter_(unwrap_jso(this));
+
@DomName('SVGElement.xmllang')
@DocsEditable()
@Experimental() // untriaged
- void set xmllang(String value) => _blink.BlinkSVGElement.instance.xmllang_Setter_(this, value);
-
+ void set xmllang(String value) => _blink.BlinkSVGElement.instance.xmllang_Setter_(unwrap_jso(this), value);
+
@DomName('SVGElement.xmlspace')
@DocsEditable()
@Experimental() // untriaged
- String get xmlspace => _blink.BlinkSVGElement.instance.xmlspace_Getter_(this);
-
+ String get xmlspace => _blink.BlinkSVGElement.instance.xmlspace_Getter_(unwrap_jso(this));
+
@DomName('SVGElement.xmlspace')
@DocsEditable()
@Experimental() // untriaged
- void set xmlspace(String value) => _blink.BlinkSVGElement.instance.xmlspace_Setter_(this, value);
-
+ void set xmlspace(String value) => _blink.BlinkSVGElement.instance.xmlspace_Setter_(unwrap_jso(this), value);
+
@DomName('SVGElement.onabort')
@DocsEditable()
@Experimental() // untriaged
@@ -6146,168 +6147,168 @@
@DomName('SVGSVGElement.currentScale')
@DocsEditable()
- num get currentScale => _blink.BlinkSVGSVGElement.instance.currentScale_Getter_(this);
-
+ num get currentScale => _blink.BlinkSVGSVGElement.instance.currentScale_Getter_(unwrap_jso(this));
+
@DomName('SVGSVGElement.currentScale')
@DocsEditable()
- void set currentScale(num value) => _blink.BlinkSVGSVGElement.instance.currentScale_Setter_(this, value);
-
+ void set currentScale(num value) => _blink.BlinkSVGSVGElement.instance.currentScale_Setter_(unwrap_jso(this), value);
+
@DomName('SVGSVGElement.currentTranslate')
@DocsEditable()
- Point get currentTranslate => _blink.BlinkSVGSVGElement.instance.currentTranslate_Getter_(this);
-
+ Point get currentTranslate => wrap_jso(_blink.BlinkSVGSVGElement.instance.currentTranslate_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.currentView')
@DocsEditable()
- ViewSpec get currentView => _blink.BlinkSVGSVGElement.instance.currentView_Getter_(this);
-
+ ViewSpec get currentView => wrap_jso(_blink.BlinkSVGSVGElement.instance.currentView_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGSVGElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGSVGElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.pixelUnitToMillimeterX')
@DocsEditable()
- double get pixelUnitToMillimeterX => _blink.BlinkSVGSVGElement.instance.pixelUnitToMillimeterX_Getter_(this);
-
+ double get pixelUnitToMillimeterX => _blink.BlinkSVGSVGElement.instance.pixelUnitToMillimeterX_Getter_(unwrap_jso(this));
+
@DomName('SVGSVGElement.pixelUnitToMillimeterY')
@DocsEditable()
- double get pixelUnitToMillimeterY => _blink.BlinkSVGSVGElement.instance.pixelUnitToMillimeterY_Getter_(this);
-
+ double get pixelUnitToMillimeterY => _blink.BlinkSVGSVGElement.instance.pixelUnitToMillimeterY_Getter_(unwrap_jso(this));
+
@DomName('SVGSVGElement.screenPixelToMillimeterX')
@DocsEditable()
- double get screenPixelToMillimeterX => _blink.BlinkSVGSVGElement.instance.screenPixelToMillimeterX_Getter_(this);
-
+ double get screenPixelToMillimeterX => _blink.BlinkSVGSVGElement.instance.screenPixelToMillimeterX_Getter_(unwrap_jso(this));
+
@DomName('SVGSVGElement.screenPixelToMillimeterY')
@DocsEditable()
- double get screenPixelToMillimeterY => _blink.BlinkSVGSVGElement.instance.screenPixelToMillimeterY_Getter_(this);
-
+ double get screenPixelToMillimeterY => _blink.BlinkSVGSVGElement.instance.screenPixelToMillimeterY_Getter_(unwrap_jso(this));
+
@DomName('SVGSVGElement.useCurrentView')
@DocsEditable()
- bool get useCurrentView => _blink.BlinkSVGSVGElement.instance.useCurrentView_Getter_(this);
-
+ bool get useCurrentView => _blink.BlinkSVGSVGElement.instance.useCurrentView_Getter_(unwrap_jso(this));
+
@DomName('SVGSVGElement.viewport')
@DocsEditable()
- Rect get viewport => _blink.BlinkSVGSVGElement.instance.viewport_Getter_(this);
-
+ Rect get viewport => wrap_jso(_blink.BlinkSVGSVGElement.instance.viewport_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGSVGElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGSVGElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGSVGElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGSVGElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGSVGElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGSVGElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.animationsPaused')
@DocsEditable()
- bool animationsPaused() => _blink.BlinkSVGSVGElement.instance.animationsPaused_Callback_0_(this);
-
+ bool animationsPaused() => _blink.BlinkSVGSVGElement.instance.animationsPaused_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.checkEnclosure')
@DocsEditable()
- bool checkEnclosure(SvgElement element, Rect rect) => _blink.BlinkSVGSVGElement.instance.checkEnclosure_Callback_2_(this, element, rect);
-
+ bool checkEnclosure(SvgElement element, Rect rect) => _blink.BlinkSVGSVGElement.instance.checkEnclosure_Callback_2_(unwrap_jso(this), unwrap_jso(element), unwrap_jso(rect));
+
@DomName('SVGSVGElement.checkIntersection')
@DocsEditable()
- bool checkIntersection(SvgElement element, Rect rect) => _blink.BlinkSVGSVGElement.instance.checkIntersection_Callback_2_(this, element, rect);
-
+ bool checkIntersection(SvgElement element, Rect rect) => _blink.BlinkSVGSVGElement.instance.checkIntersection_Callback_2_(unwrap_jso(this), unwrap_jso(element), unwrap_jso(rect));
+
@DomName('SVGSVGElement.createSVGAngle')
@DocsEditable()
- Angle createSvgAngle() => _blink.BlinkSVGSVGElement.instance.createSVGAngle_Callback_0_(this);
-
+ Angle createSvgAngle() => _blink.BlinkSVGSVGElement.instance.createSVGAngle_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.createSVGLength')
@DocsEditable()
- Length createSvgLength() => _blink.BlinkSVGSVGElement.instance.createSVGLength_Callback_0_(this);
-
+ Length createSvgLength() => _blink.BlinkSVGSVGElement.instance.createSVGLength_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.createSVGMatrix')
@DocsEditable()
- Matrix createSvgMatrix() => _blink.BlinkSVGSVGElement.instance.createSVGMatrix_Callback_0_(this);
-
+ Matrix createSvgMatrix() => _blink.BlinkSVGSVGElement.instance.createSVGMatrix_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.createSVGNumber')
@DocsEditable()
- Number createSvgNumber() => _blink.BlinkSVGSVGElement.instance.createSVGNumber_Callback_0_(this);
-
+ Number createSvgNumber() => _blink.BlinkSVGSVGElement.instance.createSVGNumber_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.createSVGPoint')
@DocsEditable()
- Point createSvgPoint() => _blink.BlinkSVGSVGElement.instance.createSVGPoint_Callback_0_(this);
-
+ Point createSvgPoint() => _blink.BlinkSVGSVGElement.instance.createSVGPoint_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.createSVGRect')
@DocsEditable()
- Rect createSvgRect() => _blink.BlinkSVGSVGElement.instance.createSVGRect_Callback_0_(this);
-
+ Rect createSvgRect() => wrap_jso(_blink.BlinkSVGSVGElement.instance.createSVGRect_Callback_0_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.createSVGTransform')
@DocsEditable()
- Transform createSvgTransform() => _blink.BlinkSVGSVGElement.instance.createSVGTransform_Callback_0_(this);
-
+ Transform createSvgTransform() => _blink.BlinkSVGSVGElement.instance.createSVGTransform_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.createSVGTransformFromMatrix')
@DocsEditable()
- Transform createSvgTransformFromMatrix(Matrix matrix) => _blink.BlinkSVGSVGElement.instance.createSVGTransformFromMatrix_Callback_1_(this, matrix);
-
+ Transform createSvgTransformFromMatrix(Matrix matrix) => _blink.BlinkSVGSVGElement.instance.createSVGTransformFromMatrix_Callback_1_(unwrap_jso(this), unwrap_jso(matrix));
+
@DomName('SVGSVGElement.deselectAll')
@DocsEditable()
- void deselectAll() => _blink.BlinkSVGSVGElement.instance.deselectAll_Callback_0_(this);
-
+ void deselectAll() => _blink.BlinkSVGSVGElement.instance.deselectAll_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.forceRedraw')
@DocsEditable()
- void forceRedraw() => _blink.BlinkSVGSVGElement.instance.forceRedraw_Callback_0_(this);
-
+ void forceRedraw() => _blink.BlinkSVGSVGElement.instance.forceRedraw_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.getCurrentTime')
@DocsEditable()
- double getCurrentTime() => _blink.BlinkSVGSVGElement.instance.getCurrentTime_Callback_0_(this);
-
+ double getCurrentTime() => _blink.BlinkSVGSVGElement.instance.getCurrentTime_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.getElementById')
@DocsEditable()
- Element getElementById(String elementId) => _blink.BlinkSVGSVGElement.instance.getElementById_Callback_1_(this, elementId);
-
+ Element getElementById(String elementId) => wrap_jso(_blink.BlinkSVGSVGElement.instance.getElementById_Callback_1_(unwrap_jso(this), elementId));
+
@DomName('SVGSVGElement.getEnclosureList')
@DocsEditable()
- List<Node> getEnclosureList(Rect rect, SvgElement referenceElement) => _blink.BlinkSVGSVGElement.instance.getEnclosureList_Callback_2_(this, rect, referenceElement);
-
+ List<Node> getEnclosureList(Rect rect, SvgElement referenceElement) => wrap_jso_list(_blink.BlinkSVGSVGElement.instance.getEnclosureList_Callback_2_(unwrap_jso(this), unwrap_jso(rect), unwrap_jso(referenceElement)));
+
@DomName('SVGSVGElement.getIntersectionList')
@DocsEditable()
- List<Node> getIntersectionList(Rect rect, SvgElement referenceElement) => _blink.BlinkSVGSVGElement.instance.getIntersectionList_Callback_2_(this, rect, referenceElement);
-
+ List<Node> getIntersectionList(Rect rect, SvgElement referenceElement) => wrap_jso_list(_blink.BlinkSVGSVGElement.instance.getIntersectionList_Callback_2_(unwrap_jso(this), unwrap_jso(rect), unwrap_jso(referenceElement)));
+
@DomName('SVGSVGElement.pauseAnimations')
@DocsEditable()
- void pauseAnimations() => _blink.BlinkSVGSVGElement.instance.pauseAnimations_Callback_0_(this);
-
+ void pauseAnimations() => _blink.BlinkSVGSVGElement.instance.pauseAnimations_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.setCurrentTime')
@DocsEditable()
- void setCurrentTime(num seconds) => _blink.BlinkSVGSVGElement.instance.setCurrentTime_Callback_1_(this, seconds);
-
+ void setCurrentTime(num seconds) => _blink.BlinkSVGSVGElement.instance.setCurrentTime_Callback_1_(unwrap_jso(this), seconds);
+
@DomName('SVGSVGElement.suspendRedraw')
@DocsEditable()
- int suspendRedraw(int maxWaitMilliseconds) => _blink.BlinkSVGSVGElement.instance.suspendRedraw_Callback_1_(this, maxWaitMilliseconds);
-
+ int suspendRedraw(int maxWaitMilliseconds) => _blink.BlinkSVGSVGElement.instance.suspendRedraw_Callback_1_(unwrap_jso(this), maxWaitMilliseconds);
+
@DomName('SVGSVGElement.unpauseAnimations')
@DocsEditable()
- void unpauseAnimations() => _blink.BlinkSVGSVGElement.instance.unpauseAnimations_Callback_0_(this);
-
+ void unpauseAnimations() => _blink.BlinkSVGSVGElement.instance.unpauseAnimations_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.unsuspendRedraw')
@DocsEditable()
- void unsuspendRedraw(int suspendHandleId) => _blink.BlinkSVGSVGElement.instance.unsuspendRedraw_Callback_1_(this, suspendHandleId);
-
+ void unsuspendRedraw(int suspendHandleId) => _blink.BlinkSVGSVGElement.instance.unsuspendRedraw_Callback_1_(unwrap_jso(this), suspendHandleId);
+
@DomName('SVGSVGElement.unsuspendRedrawAll')
@DocsEditable()
- void unsuspendRedrawAll() => _blink.BlinkSVGSVGElement.instance.unsuspendRedrawAll_Callback_0_(this);
-
+ void unsuspendRedrawAll() => _blink.BlinkSVGSVGElement.instance.unsuspendRedrawAll_Callback_0_(unwrap_jso(this));
+
@DomName('SVGSVGElement.preserveAspectRatio')
@DocsEditable()
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGSVGElement.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGSVGElement.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.viewBox')
@DocsEditable()
- AnimatedRect get viewBox => _blink.BlinkSVGSVGElement.instance.viewBox_Getter_(this);
-
+ AnimatedRect get viewBox => wrap_jso(_blink.BlinkSVGSVGElement.instance.viewBox_Getter_(unwrap_jso(this)));
+
@DomName('SVGSVGElement.zoomAndPan')
@DocsEditable()
- int get zoomAndPan => _blink.BlinkSVGSVGElement.instance.zoomAndPan_Getter_(this);
-
+ int get zoomAndPan => _blink.BlinkSVGSVGElement.instance.zoomAndPan_Getter_(unwrap_jso(this));
+
@DomName('SVGSVGElement.zoomAndPan')
@DocsEditable()
- void set zoomAndPan(int value) => _blink.BlinkSVGSVGElement.instance.zoomAndPan_Setter_(this, value);
-
+ void set zoomAndPan(int value) => _blink.BlinkSVGSVGElement.instance.zoomAndPan_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6360,12 +6361,12 @@
@DomName('SVGSymbolElement.preserveAspectRatio')
@DocsEditable()
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGSymbolElement.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGSymbolElement.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGSymbolElement.viewBox')
@DocsEditable()
- AnimatedRect get viewBox => _blink.BlinkSVGSymbolElement.instance.viewBox_Getter_(this);
-
+ AnimatedRect get viewBox => wrap_jso(_blink.BlinkSVGSymbolElement.instance.viewBox_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6457,48 +6458,48 @@
@DomName('SVGTextContentElement.lengthAdjust')
@DocsEditable()
- AnimatedEnumeration get lengthAdjust => _blink.BlinkSVGTextContentElement.instance.lengthAdjust_Getter_(this);
-
+ AnimatedEnumeration get lengthAdjust => wrap_jso(_blink.BlinkSVGTextContentElement.instance.lengthAdjust_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextContentElement.textLength')
@DocsEditable()
- AnimatedLength get textLength => _blink.BlinkSVGTextContentElement.instance.textLength_Getter_(this);
-
+ AnimatedLength get textLength => wrap_jso(_blink.BlinkSVGTextContentElement.instance.textLength_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextContentElement.getCharNumAtPosition')
@DocsEditable()
- int getCharNumAtPosition(Point point) => _blink.BlinkSVGTextContentElement.instance.getCharNumAtPosition_Callback_1_(this, point);
-
+ int getCharNumAtPosition(Point point) => _blink.BlinkSVGTextContentElement.instance.getCharNumAtPosition_Callback_1_(unwrap_jso(this), unwrap_jso(point));
+
@DomName('SVGTextContentElement.getComputedTextLength')
@DocsEditable()
- double getComputedTextLength() => _blink.BlinkSVGTextContentElement.instance.getComputedTextLength_Callback_0_(this);
-
+ double getComputedTextLength() => _blink.BlinkSVGTextContentElement.instance.getComputedTextLength_Callback_0_(unwrap_jso(this));
+
@DomName('SVGTextContentElement.getEndPositionOfChar')
@DocsEditable()
- Point getEndPositionOfChar(int offset) => _blink.BlinkSVGTextContentElement.instance.getEndPositionOfChar_Callback_1_(this, offset);
-
+ Point getEndPositionOfChar(int offset) => _blink.BlinkSVGTextContentElement.instance.getEndPositionOfChar_Callback_1_(unwrap_jso(this), offset);
+
@DomName('SVGTextContentElement.getExtentOfChar')
@DocsEditable()
- Rect getExtentOfChar(int offset) => _blink.BlinkSVGTextContentElement.instance.getExtentOfChar_Callback_1_(this, offset);
-
+ Rect getExtentOfChar(int offset) => wrap_jso(_blink.BlinkSVGTextContentElement.instance.getExtentOfChar_Callback_1_(unwrap_jso(this), offset));
+
@DomName('SVGTextContentElement.getNumberOfChars')
@DocsEditable()
- int getNumberOfChars() => _blink.BlinkSVGTextContentElement.instance.getNumberOfChars_Callback_0_(this);
-
+ int getNumberOfChars() => _blink.BlinkSVGTextContentElement.instance.getNumberOfChars_Callback_0_(unwrap_jso(this));
+
@DomName('SVGTextContentElement.getRotationOfChar')
@DocsEditable()
- double getRotationOfChar(int offset) => _blink.BlinkSVGTextContentElement.instance.getRotationOfChar_Callback_1_(this, offset);
-
+ double getRotationOfChar(int offset) => _blink.BlinkSVGTextContentElement.instance.getRotationOfChar_Callback_1_(unwrap_jso(this), offset);
+
@DomName('SVGTextContentElement.getStartPositionOfChar')
@DocsEditable()
- Point getStartPositionOfChar(int offset) => _blink.BlinkSVGTextContentElement.instance.getStartPositionOfChar_Callback_1_(this, offset);
-
+ Point getStartPositionOfChar(int offset) => _blink.BlinkSVGTextContentElement.instance.getStartPositionOfChar_Callback_1_(unwrap_jso(this), offset);
+
@DomName('SVGTextContentElement.getSubStringLength')
@DocsEditable()
- double getSubStringLength(int offset, int length) => _blink.BlinkSVGTextContentElement.instance.getSubStringLength_Callback_2_(this, offset, length);
-
+ double getSubStringLength(int offset, int length) => _blink.BlinkSVGTextContentElement.instance.getSubStringLength_Callback_2_(unwrap_jso(this), offset, length);
+
@DomName('SVGTextContentElement.selectSubString')
@DocsEditable()
- void selectSubString(int offset, int length) => _blink.BlinkSVGTextContentElement.instance.selectSubString_Callback_2_(this, offset, length);
-
+ void selectSubString(int offset, int length) => _blink.BlinkSVGTextContentElement.instance.selectSubString_Callback_2_(unwrap_jso(this), offset, length);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6571,20 +6572,20 @@
@DomName('SVGTextPathElement.method')
@DocsEditable()
- AnimatedEnumeration get method => _blink.BlinkSVGTextPathElement.instance.method_Getter_(this);
-
+ AnimatedEnumeration get method => wrap_jso(_blink.BlinkSVGTextPathElement.instance.method_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextPathElement.spacing')
@DocsEditable()
- AnimatedEnumeration get spacing => _blink.BlinkSVGTextPathElement.instance.spacing_Getter_(this);
-
+ AnimatedEnumeration get spacing => wrap_jso(_blink.BlinkSVGTextPathElement.instance.spacing_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextPathElement.startOffset')
@DocsEditable()
- AnimatedLength get startOffset => _blink.BlinkSVGTextPathElement.instance.startOffset_Getter_(this);
-
+ AnimatedLength get startOffset => wrap_jso(_blink.BlinkSVGTextPathElement.instance.startOffset_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextPathElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGTextPathElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGTextPathElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6608,24 +6609,24 @@
@DomName('SVGTextPositioningElement.dx')
@DocsEditable()
- AnimatedLengthList get dx => _blink.BlinkSVGTextPositioningElement.instance.dx_Getter_(this);
-
+ AnimatedLengthList get dx => wrap_jso(_blink.BlinkSVGTextPositioningElement.instance.dx_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextPositioningElement.dy')
@DocsEditable()
- AnimatedLengthList get dy => _blink.BlinkSVGTextPositioningElement.instance.dy_Getter_(this);
-
+ AnimatedLengthList get dy => wrap_jso(_blink.BlinkSVGTextPositioningElement.instance.dy_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextPositioningElement.rotate')
@DocsEditable()
- AnimatedNumberList get rotate => _blink.BlinkSVGTextPositioningElement.instance.rotate_Getter_(this);
-
+ AnimatedNumberList get rotate => wrap_jso(_blink.BlinkSVGTextPositioningElement.instance.rotate_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextPositioningElement.x')
@DocsEditable()
- AnimatedLengthList get x => _blink.BlinkSVGTextPositioningElement.instance.x_Getter_(this);
-
+ AnimatedLengthList get x => wrap_jso(_blink.BlinkSVGTextPositioningElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGTextPositioningElement.y')
@DocsEditable()
- AnimatedLengthList get y => _blink.BlinkSVGTextPositioningElement.instance.y_Getter_(this);
-
+ AnimatedLengthList get y => wrap_jso(_blink.BlinkSVGTextPositioningElement.instance.y_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6696,40 +6697,40 @@
@DomName('SVGTransform.angle')
@DocsEditable()
- double get angle => _blink.BlinkSVGTransform.instance.angle_Getter_(this);
-
+ double get angle => _blink.BlinkSVGTransform.instance.angle_Getter_(unwrap_jso(this));
+
@DomName('SVGTransform.matrix')
@DocsEditable()
- Matrix get matrix => _blink.BlinkSVGTransform.instance.matrix_Getter_(this);
-
+ Matrix get matrix => wrap_jso(_blink.BlinkSVGTransform.instance.matrix_Getter_(unwrap_jso(this)));
+
@DomName('SVGTransform.type')
@DocsEditable()
- int get type => _blink.BlinkSVGTransform.instance.type_Getter_(this);
-
+ int get type => _blink.BlinkSVGTransform.instance.type_Getter_(unwrap_jso(this));
+
@DomName('SVGTransform.setMatrix')
@DocsEditable()
- void setMatrix(Matrix matrix) => _blink.BlinkSVGTransform.instance.setMatrix_Callback_1_(this, matrix);
-
+ void setMatrix(Matrix matrix) => _blink.BlinkSVGTransform.instance.setMatrix_Callback_1_(unwrap_jso(this), unwrap_jso(matrix));
+
@DomName('SVGTransform.setRotate')
@DocsEditable()
- void setRotate(num angle, num cx, num cy) => _blink.BlinkSVGTransform.instance.setRotate_Callback_3_(this, angle, cx, cy);
-
+ void setRotate(num angle, num cx, num cy) => _blink.BlinkSVGTransform.instance.setRotate_Callback_3_(unwrap_jso(this), angle, cx, cy);
+
@DomName('SVGTransform.setScale')
@DocsEditable()
- void setScale(num sx, num sy) => _blink.BlinkSVGTransform.instance.setScale_Callback_2_(this, sx, sy);
-
+ void setScale(num sx, num sy) => _blink.BlinkSVGTransform.instance.setScale_Callback_2_(unwrap_jso(this), sx, sy);
+
@DomName('SVGTransform.setSkewX')
@DocsEditable()
- void setSkewX(num angle) => _blink.BlinkSVGTransform.instance.setSkewX_Callback_1_(this, angle);
-
+ void setSkewX(num angle) => _blink.BlinkSVGTransform.instance.setSkewX_Callback_1_(unwrap_jso(this), angle);
+
@DomName('SVGTransform.setSkewY')
@DocsEditable()
- void setSkewY(num angle) => _blink.BlinkSVGTransform.instance.setSkewY_Callback_1_(this, angle);
-
+ void setSkewY(num angle) => _blink.BlinkSVGTransform.instance.setSkewY_Callback_1_(unwrap_jso(this), angle);
+
@DomName('SVGTransform.setTranslate')
@DocsEditable()
- void setTranslate(num tx, num ty) => _blink.BlinkSVGTransform.instance.setTranslate_Callback_2_(this, tx, ty);
-
+ void setTranslate(num tx, num ty) => _blink.BlinkSVGTransform.instance.setTranslate_Callback_2_(unwrap_jso(this), tx, ty);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6748,12 +6749,12 @@
@DomName('SVGTransformList.length')
@DocsEditable()
@Experimental() // untriaged
- int get length => _blink.BlinkSVGTransformList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSVGTransformList.instance.length_Getter_(unwrap_jso(this));
+
@DomName('SVGTransformList.numberOfItems')
@DocsEditable()
- int get numberOfItems => _blink.BlinkSVGTransformList.instance.numberOfItems_Getter_(this);
-
+ int get numberOfItems => _blink.BlinkSVGTransformList.instance.numberOfItems_Getter_(unwrap_jso(this));
+
Transform operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
@@ -6801,44 +6802,44 @@
@DomName('SVGTransformList.__setter__')
@DocsEditable()
@Experimental() // untriaged
- void __setter__(int index, Transform value) => _blink.BlinkSVGTransformList.instance.$__setter___Callback_2_(this, index, value);
-
+ void __setter__(int index, Transform value) => _blink.BlinkSVGTransformList.instance.$__setter___Callback_2_(unwrap_jso(this), index, unwrap_jso(value));
+
@DomName('SVGTransformList.appendItem')
@DocsEditable()
- Transform appendItem(Transform item) => _blink.BlinkSVGTransformList.instance.appendItem_Callback_1_(this, item);
-
+ Transform appendItem(Transform item) => _blink.BlinkSVGTransformList.instance.appendItem_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGTransformList.clear')
@DocsEditable()
- void clear() => _blink.BlinkSVGTransformList.instance.clear_Callback_0_(this);
-
+ void clear() => _blink.BlinkSVGTransformList.instance.clear_Callback_0_(unwrap_jso(this));
+
@DomName('SVGTransformList.consolidate')
@DocsEditable()
- Transform consolidate() => _blink.BlinkSVGTransformList.instance.consolidate_Callback_0_(this);
-
+ Transform consolidate() => _blink.BlinkSVGTransformList.instance.consolidate_Callback_0_(unwrap_jso(this));
+
@DomName('SVGTransformList.createSVGTransformFromMatrix')
@DocsEditable()
- Transform createSvgTransformFromMatrix(Matrix matrix) => _blink.BlinkSVGTransformList.instance.createSVGTransformFromMatrix_Callback_1_(this, matrix);
-
+ Transform createSvgTransformFromMatrix(Matrix matrix) => _blink.BlinkSVGTransformList.instance.createSVGTransformFromMatrix_Callback_1_(unwrap_jso(this), unwrap_jso(matrix));
+
@DomName('SVGTransformList.getItem')
@DocsEditable()
- Transform getItem(int index) => _blink.BlinkSVGTransformList.instance.getItem_Callback_1_(this, index);
-
+ Transform getItem(int index) => _blink.BlinkSVGTransformList.instance.getItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGTransformList.initialize')
@DocsEditable()
- Transform initialize(Transform item) => _blink.BlinkSVGTransformList.instance.initialize_Callback_1_(this, item);
-
+ Transform initialize(Transform item) => _blink.BlinkSVGTransformList.instance.initialize_Callback_1_(unwrap_jso(this), unwrap_jso(item));
+
@DomName('SVGTransformList.insertItemBefore')
@DocsEditable()
- Transform insertItemBefore(Transform item, int index) => _blink.BlinkSVGTransformList.instance.insertItemBefore_Callback_2_(this, item, index);
-
+ Transform insertItemBefore(Transform item, int index) => _blink.BlinkSVGTransformList.instance.insertItemBefore_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
@DomName('SVGTransformList.removeItem')
@DocsEditable()
- Transform removeItem(int index) => _blink.BlinkSVGTransformList.instance.removeItem_Callback_1_(this, index);
-
+ Transform removeItem(int index) => _blink.BlinkSVGTransformList.instance.removeItem_Callback_1_(unwrap_jso(this), index);
+
@DomName('SVGTransformList.replaceItem')
@DocsEditable()
- Transform replaceItem(Transform item, int index) => _blink.BlinkSVGTransformList.instance.replaceItem_Callback_2_(this, item, index);
-
+ Transform replaceItem(Transform item, int index) => _blink.BlinkSVGTransformList.instance.replaceItem_Callback_2_(unwrap_jso(this), unwrap_jso(item), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6912,24 +6913,24 @@
@DomName('SVGUseElement.height')
@DocsEditable()
- AnimatedLength get height => _blink.BlinkSVGUseElement.instance.height_Getter_(this);
-
+ AnimatedLength get height => wrap_jso(_blink.BlinkSVGUseElement.instance.height_Getter_(unwrap_jso(this)));
+
@DomName('SVGUseElement.width')
@DocsEditable()
- AnimatedLength get width => _blink.BlinkSVGUseElement.instance.width_Getter_(this);
-
+ AnimatedLength get width => wrap_jso(_blink.BlinkSVGUseElement.instance.width_Getter_(unwrap_jso(this)));
+
@DomName('SVGUseElement.x')
@DocsEditable()
- AnimatedLength get x => _blink.BlinkSVGUseElement.instance.x_Getter_(this);
-
+ AnimatedLength get x => wrap_jso(_blink.BlinkSVGUseElement.instance.x_Getter_(unwrap_jso(this)));
+
@DomName('SVGUseElement.y')
@DocsEditable()
- AnimatedLength get y => _blink.BlinkSVGUseElement.instance.y_Getter_(this);
-
+ AnimatedLength get y => wrap_jso(_blink.BlinkSVGUseElement.instance.y_Getter_(unwrap_jso(this)));
+
@DomName('SVGUseElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGUseElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGUseElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6957,24 +6958,24 @@
@DomName('SVGViewElement.viewTarget')
@DocsEditable()
- StringList get viewTarget => _blink.BlinkSVGViewElement.instance.viewTarget_Getter_(this);
-
+ StringList get viewTarget => wrap_jso(_blink.BlinkSVGViewElement.instance.viewTarget_Getter_(unwrap_jso(this)));
+
@DomName('SVGViewElement.preserveAspectRatio')
@DocsEditable()
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGViewElement.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGViewElement.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGViewElement.viewBox')
@DocsEditable()
- AnimatedRect get viewBox => _blink.BlinkSVGViewElement.instance.viewBox_Getter_(this);
-
+ AnimatedRect get viewBox => wrap_jso(_blink.BlinkSVGViewElement.instance.viewBox_Getter_(unwrap_jso(this)));
+
@DomName('SVGViewElement.zoomAndPan')
@DocsEditable()
- int get zoomAndPan => _blink.BlinkSVGViewElement.instance.zoomAndPan_Getter_(this);
-
+ int get zoomAndPan => _blink.BlinkSVGViewElement.instance.zoomAndPan_Getter_(unwrap_jso(this));
+
@DomName('SVGViewElement.zoomAndPan')
@DocsEditable()
- void set zoomAndPan(int value) => _blink.BlinkSVGViewElement.instance.zoomAndPan_Setter_(this, value);
-
+ void set zoomAndPan(int value) => _blink.BlinkSVGViewElement.instance.zoomAndPan_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -6992,48 +6993,48 @@
@DomName('SVGViewSpec.preserveAspectRatioString')
@DocsEditable()
- String get preserveAspectRatioString => _blink.BlinkSVGViewSpec.instance.preserveAspectRatioString_Getter_(this);
-
+ String get preserveAspectRatioString => _blink.BlinkSVGViewSpec.instance.preserveAspectRatioString_Getter_(unwrap_jso(this));
+
@DomName('SVGViewSpec.transform')
@DocsEditable()
- TransformList get transform => _blink.BlinkSVGViewSpec.instance.transform_Getter_(this);
-
+ TransformList get transform => wrap_jso(_blink.BlinkSVGViewSpec.instance.transform_Getter_(unwrap_jso(this)));
+
@DomName('SVGViewSpec.transformString')
@DocsEditable()
- String get transformString => _blink.BlinkSVGViewSpec.instance.transformString_Getter_(this);
-
+ String get transformString => _blink.BlinkSVGViewSpec.instance.transformString_Getter_(unwrap_jso(this));
+
@DomName('SVGViewSpec.viewBoxString')
@DocsEditable()
- String get viewBoxString => _blink.BlinkSVGViewSpec.instance.viewBoxString_Getter_(this);
-
+ String get viewBoxString => _blink.BlinkSVGViewSpec.instance.viewBoxString_Getter_(unwrap_jso(this));
+
@DomName('SVGViewSpec.viewTarget')
@DocsEditable()
- SvgElement get viewTarget => _blink.BlinkSVGViewSpec.instance.viewTarget_Getter_(this);
-
+ SvgElement get viewTarget => wrap_jso(_blink.BlinkSVGViewSpec.instance.viewTarget_Getter_(unwrap_jso(this)));
+
@DomName('SVGViewSpec.viewTargetString')
@DocsEditable()
- String get viewTargetString => _blink.BlinkSVGViewSpec.instance.viewTargetString_Getter_(this);
-
+ String get viewTargetString => _blink.BlinkSVGViewSpec.instance.viewTargetString_Getter_(unwrap_jso(this));
+
@DomName('SVGViewSpec.preserveAspectRatio')
@DocsEditable()
@Experimental() // nonstandard
- AnimatedPreserveAspectRatio get preserveAspectRatio => _blink.BlinkSVGViewSpec.instance.preserveAspectRatio_Getter_(this);
-
+ AnimatedPreserveAspectRatio get preserveAspectRatio => wrap_jso(_blink.BlinkSVGViewSpec.instance.preserveAspectRatio_Getter_(unwrap_jso(this)));
+
@DomName('SVGViewSpec.viewBox')
@DocsEditable()
@Experimental() // nonstandard
- AnimatedRect get viewBox => _blink.BlinkSVGViewSpec.instance.viewBox_Getter_(this);
-
+ AnimatedRect get viewBox => wrap_jso(_blink.BlinkSVGViewSpec.instance.viewBox_Getter_(unwrap_jso(this)));
+
@DomName('SVGViewSpec.zoomAndPan')
@DocsEditable()
@Experimental() // nonstandard
- int get zoomAndPan => _blink.BlinkSVGViewSpec.instance.zoomAndPan_Getter_(this);
-
+ int get zoomAndPan => _blink.BlinkSVGViewSpec.instance.zoomAndPan_Getter_(unwrap_jso(this));
+
@DomName('SVGViewSpec.zoomAndPan')
@DocsEditable()
@Experimental() // nonstandard
- void set zoomAndPan(int value) => _blink.BlinkSVGViewSpec.instance.zoomAndPan_Setter_(this, value);
-
+ void set zoomAndPan(int value) => _blink.BlinkSVGViewSpec.instance.zoomAndPan_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7086,24 +7087,24 @@
@DomName('SVGZoomEvent.newScale')
@DocsEditable()
- double get newScale => _blink.BlinkSVGZoomEvent.instance.newScale_Getter_(this);
-
+ double get newScale => _blink.BlinkSVGZoomEvent.instance.newScale_Getter_(unwrap_jso(this));
+
@DomName('SVGZoomEvent.newTranslate')
@DocsEditable()
- Point get newTranslate => _blink.BlinkSVGZoomEvent.instance.newTranslate_Getter_(this);
-
+ Point get newTranslate => wrap_jso(_blink.BlinkSVGZoomEvent.instance.newTranslate_Getter_(unwrap_jso(this)));
+
@DomName('SVGZoomEvent.previousScale')
@DocsEditable()
- double get previousScale => _blink.BlinkSVGZoomEvent.instance.previousScale_Getter_(this);
-
+ double get previousScale => _blink.BlinkSVGZoomEvent.instance.previousScale_Getter_(unwrap_jso(this));
+
@DomName('SVGZoomEvent.previousTranslate')
@DocsEditable()
- Point get previousTranslate => _blink.BlinkSVGZoomEvent.instance.previousTranslate_Getter_(this);
-
+ Point get previousTranslate => wrap_jso(_blink.BlinkSVGZoomEvent.instance.previousTranslate_Getter_(unwrap_jso(this)));
+
@DomName('SVGZoomEvent.zoomRectScreen')
@DocsEditable()
- Rect get zoomRectScreen => _blink.BlinkSVGZoomEvent.instance.zoomRectScreen_Getter_(this);
-
+ Rect get zoomRectScreen => wrap_jso(_blink.BlinkSVGZoomEvent.instance.zoomRectScreen_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -7143,20 +7144,20 @@
@DomName('SVGGradientElement.gradientTransform')
@DocsEditable()
- AnimatedTransformList get gradientTransform => _blink.BlinkSVGGradientElement.instance.gradientTransform_Getter_(this);
-
+ AnimatedTransformList get gradientTransform => wrap_jso(_blink.BlinkSVGGradientElement.instance.gradientTransform_Getter_(unwrap_jso(this)));
+
@DomName('SVGGradientElement.gradientUnits')
@DocsEditable()
- AnimatedEnumeration get gradientUnits => _blink.BlinkSVGGradientElement.instance.gradientUnits_Getter_(this);
-
+ AnimatedEnumeration get gradientUnits => wrap_jso(_blink.BlinkSVGGradientElement.instance.gradientUnits_Getter_(unwrap_jso(this)));
+
@DomName('SVGGradientElement.spreadMethod')
@DocsEditable()
- AnimatedEnumeration get spreadMethod => _blink.BlinkSVGGradientElement.instance.spreadMethod_Getter_(this);
-
+ AnimatedEnumeration get spreadMethod => wrap_jso(_blink.BlinkSVGGradientElement.instance.spreadMethod_Getter_(unwrap_jso(this)));
+
@DomName('SVGGradientElement.href')
@DocsEditable()
- AnimatedString get href => _blink.BlinkSVGGradientElement.instance.href_Getter_(this);
-
+ AnimatedString get href => wrap_jso(_blink.BlinkSVGGradientElement.instance.href_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
diff --git a/sdk/lib/web_audio/dartium/web_audio_dartium.dart b/sdk/lib/web_audio/dartium/web_audio_dartium.dart
index 0d2124c..f38441b 100644
--- a/sdk/lib/web_audio/dartium/web_audio_dartium.dart
+++ b/sdk/lib/web_audio/dartium/web_audio_dartium.dart
@@ -48,6 +48,7 @@
'WaveShaperNode': () => WaveShaperNode,
};
+
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -65,57 +66,57 @@
@DomName('AnalyserNode.fftSize')
@DocsEditable()
- int get fftSize => _blink.BlinkAnalyserNode.instance.fftSize_Getter_(this);
-
+ int get fftSize => _blink.BlinkAnalyserNode.instance.fftSize_Getter_(unwrap_jso(this));
+
@DomName('AnalyserNode.fftSize')
@DocsEditable()
- void set fftSize(int value) => _blink.BlinkAnalyserNode.instance.fftSize_Setter_(this, value);
-
+ void set fftSize(int value) => _blink.BlinkAnalyserNode.instance.fftSize_Setter_(unwrap_jso(this), value);
+
@DomName('AnalyserNode.frequencyBinCount')
@DocsEditable()
- int get frequencyBinCount => _blink.BlinkAnalyserNode.instance.frequencyBinCount_Getter_(this);
-
+ int get frequencyBinCount => _blink.BlinkAnalyserNode.instance.frequencyBinCount_Getter_(unwrap_jso(this));
+
@DomName('AnalyserNode.maxDecibels')
@DocsEditable()
- num get maxDecibels => _blink.BlinkAnalyserNode.instance.maxDecibels_Getter_(this);
-
+ num get maxDecibels => _blink.BlinkAnalyserNode.instance.maxDecibels_Getter_(unwrap_jso(this));
+
@DomName('AnalyserNode.maxDecibels')
@DocsEditable()
- void set maxDecibels(num value) => _blink.BlinkAnalyserNode.instance.maxDecibels_Setter_(this, value);
-
+ void set maxDecibels(num value) => _blink.BlinkAnalyserNode.instance.maxDecibels_Setter_(unwrap_jso(this), value);
+
@DomName('AnalyserNode.minDecibels')
@DocsEditable()
- num get minDecibels => _blink.BlinkAnalyserNode.instance.minDecibels_Getter_(this);
-
+ num get minDecibels => _blink.BlinkAnalyserNode.instance.minDecibels_Getter_(unwrap_jso(this));
+
@DomName('AnalyserNode.minDecibels')
@DocsEditable()
- void set minDecibels(num value) => _blink.BlinkAnalyserNode.instance.minDecibels_Setter_(this, value);
-
+ void set minDecibels(num value) => _blink.BlinkAnalyserNode.instance.minDecibels_Setter_(unwrap_jso(this), value);
+
@DomName('AnalyserNode.smoothingTimeConstant')
@DocsEditable()
- num get smoothingTimeConstant => _blink.BlinkAnalyserNode.instance.smoothingTimeConstant_Getter_(this);
-
+ num get smoothingTimeConstant => _blink.BlinkAnalyserNode.instance.smoothingTimeConstant_Getter_(unwrap_jso(this));
+
@DomName('AnalyserNode.smoothingTimeConstant')
@DocsEditable()
- void set smoothingTimeConstant(num value) => _blink.BlinkAnalyserNode.instance.smoothingTimeConstant_Setter_(this, value);
-
+ void set smoothingTimeConstant(num value) => _blink.BlinkAnalyserNode.instance.smoothingTimeConstant_Setter_(unwrap_jso(this), value);
+
@DomName('AnalyserNode.getByteFrequencyData')
@DocsEditable()
- void getByteFrequencyData(Uint8List array) => _blink.BlinkAnalyserNode.instance.getByteFrequencyData_Callback_1_(this, array);
-
+ void getByteFrequencyData(Uint8List array) => _blink.BlinkAnalyserNode.instance.getByteFrequencyData_Callback_1_(unwrap_jso(this), array);
+
@DomName('AnalyserNode.getByteTimeDomainData')
@DocsEditable()
- void getByteTimeDomainData(Uint8List array) => _blink.BlinkAnalyserNode.instance.getByteTimeDomainData_Callback_1_(this, array);
-
+ void getByteTimeDomainData(Uint8List array) => _blink.BlinkAnalyserNode.instance.getByteTimeDomainData_Callback_1_(unwrap_jso(this), array);
+
@DomName('AnalyserNode.getFloatFrequencyData')
@DocsEditable()
- void getFloatFrequencyData(Float32List array) => _blink.BlinkAnalyserNode.instance.getFloatFrequencyData_Callback_1_(this, array);
-
+ void getFloatFrequencyData(Float32List array) => _blink.BlinkAnalyserNode.instance.getFloatFrequencyData_Callback_1_(unwrap_jso(this), array);
+
@DomName('AnalyserNode.getFloatTimeDomainData')
@DocsEditable()
@Experimental() // untriaged
- void getFloatTimeDomainData(Float32List array) => _blink.BlinkAnalyserNode.instance.getFloatTimeDomainData_Callback_1_(this, array);
-
+ void getFloatTimeDomainData(Float32List array) => _blink.BlinkAnalyserNode.instance.getFloatTimeDomainData_Callback_1_(unwrap_jso(this), array);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -134,24 +135,24 @@
@DomName('AudioBuffer.duration')
@DocsEditable()
- double get duration => _blink.BlinkAudioBuffer.instance.duration_Getter_(this);
-
+ double get duration => _blink.BlinkAudioBuffer.instance.duration_Getter_(unwrap_jso(this));
+
@DomName('AudioBuffer.length')
@DocsEditable()
- int get length => _blink.BlinkAudioBuffer.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkAudioBuffer.instance.length_Getter_(unwrap_jso(this));
+
@DomName('AudioBuffer.numberOfChannels')
@DocsEditable()
- int get numberOfChannels => _blink.BlinkAudioBuffer.instance.numberOfChannels_Getter_(this);
-
+ int get numberOfChannels => _blink.BlinkAudioBuffer.instance.numberOfChannels_Getter_(unwrap_jso(this));
+
@DomName('AudioBuffer.sampleRate')
@DocsEditable()
- double get sampleRate => _blink.BlinkAudioBuffer.instance.sampleRate_Getter_(this);
-
+ double get sampleRate => _blink.BlinkAudioBuffer.instance.sampleRate_Getter_(unwrap_jso(this));
+
@DomName('AudioBuffer.getChannelData')
@DocsEditable()
- Float32List getChannelData(int channelIndex) => _blink.BlinkAudioBuffer.instance.getChannelData_Callback_1_(this, channelIndex);
-
+ Float32List getChannelData(int channelIndex) => _blink.BlinkAudioBuffer.instance.getChannelData_Callback_1_(unwrap_jso(this), channelIndex);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -194,63 +195,63 @@
@DomName('AudioBufferSourceNode.buffer')
@DocsEditable()
- AudioBuffer get buffer => _blink.BlinkAudioBufferSourceNode.instance.buffer_Getter_(this);
-
+ AudioBuffer get buffer => wrap_jso(_blink.BlinkAudioBufferSourceNode.instance.buffer_Getter_(unwrap_jso(this)));
+
@DomName('AudioBufferSourceNode.buffer')
@DocsEditable()
- void set buffer(AudioBuffer value) => _blink.BlinkAudioBufferSourceNode.instance.buffer_Setter_(this, value);
-
+ void set buffer(AudioBuffer value) => _blink.BlinkAudioBufferSourceNode.instance.buffer_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('AudioBufferSourceNode.loop')
@DocsEditable()
- bool get loop => _blink.BlinkAudioBufferSourceNode.instance.loop_Getter_(this);
-
+ bool get loop => _blink.BlinkAudioBufferSourceNode.instance.loop_Getter_(unwrap_jso(this));
+
@DomName('AudioBufferSourceNode.loop')
@DocsEditable()
- void set loop(bool value) => _blink.BlinkAudioBufferSourceNode.instance.loop_Setter_(this, value);
-
+ void set loop(bool value) => _blink.BlinkAudioBufferSourceNode.instance.loop_Setter_(unwrap_jso(this), value);
+
@DomName('AudioBufferSourceNode.loopEnd')
@DocsEditable()
- num get loopEnd => _blink.BlinkAudioBufferSourceNode.instance.loopEnd_Getter_(this);
-
+ num get loopEnd => _blink.BlinkAudioBufferSourceNode.instance.loopEnd_Getter_(unwrap_jso(this));
+
@DomName('AudioBufferSourceNode.loopEnd')
@DocsEditable()
- void set loopEnd(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopEnd_Setter_(this, value);
-
+ void set loopEnd(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopEnd_Setter_(unwrap_jso(this), value);
+
@DomName('AudioBufferSourceNode.loopStart')
@DocsEditable()
- num get loopStart => _blink.BlinkAudioBufferSourceNode.instance.loopStart_Getter_(this);
-
+ num get loopStart => _blink.BlinkAudioBufferSourceNode.instance.loopStart_Getter_(unwrap_jso(this));
+
@DomName('AudioBufferSourceNode.loopStart')
@DocsEditable()
- void set loopStart(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopStart_Setter_(this, value);
-
+ void set loopStart(num value) => _blink.BlinkAudioBufferSourceNode.instance.loopStart_Setter_(unwrap_jso(this), value);
+
@DomName('AudioBufferSourceNode.playbackRate')
@DocsEditable()
- AudioParam get playbackRate => _blink.BlinkAudioBufferSourceNode.instance.playbackRate_Getter_(this);
-
+ AudioParam get playbackRate => wrap_jso(_blink.BlinkAudioBufferSourceNode.instance.playbackRate_Getter_(unwrap_jso(this)));
+
void start([num when, num grainOffset, num grainDuration]) {
if (grainDuration != null) {
- _blink.BlinkAudioBufferSourceNode.instance.start_Callback_3_(this, when, grainOffset, grainDuration);
+ _blink.BlinkAudioBufferSourceNode.instance.start_Callback_3_(unwrap_jso(this), when, grainOffset, grainDuration);
return;
}
if (grainOffset != null) {
- _blink.BlinkAudioBufferSourceNode.instance.start_Callback_2_(this, when, grainOffset);
+ _blink.BlinkAudioBufferSourceNode.instance.start_Callback_2_(unwrap_jso(this), when, grainOffset);
return;
}
if (when != null) {
- _blink.BlinkAudioBufferSourceNode.instance.start_Callback_1_(this, when);
+ _blink.BlinkAudioBufferSourceNode.instance.start_Callback_1_(unwrap_jso(this), when);
return;
}
- _blink.BlinkAudioBufferSourceNode.instance.start_Callback_0_(this);
+ _blink.BlinkAudioBufferSourceNode.instance.start_Callback_0_(unwrap_jso(this));
return;
}
void stop([num when]) {
if (when != null) {
- _blink.BlinkAudioBufferSourceNode.instance.stop_Callback_1_(this, when);
+ _blink.BlinkAudioBufferSourceNode.instance.stop_Callback_1_(unwrap_jso(this), when);
return;
}
- _blink.BlinkAudioBufferSourceNode.instance.stop_Callback_0_(this);
+ _blink.BlinkAudioBufferSourceNode.instance.stop_Callback_0_(unwrap_jso(this));
return;
}
@@ -296,119 +297,119 @@
@DomName('AudioContext.currentTime')
@DocsEditable()
- double get currentTime => _blink.BlinkAudioContext.instance.currentTime_Getter_(this);
-
+ double get currentTime => _blink.BlinkAudioContext.instance.currentTime_Getter_(unwrap_jso(this));
+
@DomName('AudioContext.destination')
@DocsEditable()
- AudioDestinationNode get destination => _blink.BlinkAudioContext.instance.destination_Getter_(this);
-
+ AudioDestinationNode get destination => wrap_jso(_blink.BlinkAudioContext.instance.destination_Getter_(unwrap_jso(this)));
+
@DomName('AudioContext.listener')
@DocsEditable()
- AudioListener get listener => _blink.BlinkAudioContext.instance.listener_Getter_(this);
-
+ AudioListener get listener => wrap_jso(_blink.BlinkAudioContext.instance.listener_Getter_(unwrap_jso(this)));
+
@DomName('AudioContext.sampleRate')
@DocsEditable()
- double get sampleRate => _blink.BlinkAudioContext.instance.sampleRate_Getter_(this);
-
+ double get sampleRate => _blink.BlinkAudioContext.instance.sampleRate_Getter_(unwrap_jso(this));
+
@DomName('AudioContext.createAnalyser')
@DocsEditable()
- AnalyserNode createAnalyser() => _blink.BlinkAudioContext.instance.createAnalyser_Callback_0_(this);
-
+ AnalyserNode createAnalyser() => wrap_jso(_blink.BlinkAudioContext.instance.createAnalyser_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.createBiquadFilter')
@DocsEditable()
- BiquadFilterNode createBiquadFilter() => _blink.BlinkAudioContext.instance.createBiquadFilter_Callback_0_(this);
-
+ BiquadFilterNode createBiquadFilter() => wrap_jso(_blink.BlinkAudioContext.instance.createBiquadFilter_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.createBuffer')
@DocsEditable()
- AudioBuffer createBuffer(int numberOfChannels, int numberOfFrames, num sampleRate) => _blink.BlinkAudioContext.instance.createBuffer_Callback_3_(this, numberOfChannels, numberOfFrames, sampleRate);
-
+ AudioBuffer createBuffer(int numberOfChannels, int numberOfFrames, num sampleRate) => wrap_jso(_blink.BlinkAudioContext.instance.createBuffer_Callback_3_(unwrap_jso(this), numberOfChannels, numberOfFrames, sampleRate));
+
@DomName('AudioContext.createBufferSource')
@DocsEditable()
- AudioBufferSourceNode createBufferSource() => _blink.BlinkAudioContext.instance.createBufferSource_Callback_0_(this);
-
+ AudioBufferSourceNode createBufferSource() => wrap_jso(_blink.BlinkAudioContext.instance.createBufferSource_Callback_0_(unwrap_jso(this)));
+
ChannelMergerNode createChannelMerger([int numberOfInputs]) {
if (numberOfInputs != null) {
- return _blink.BlinkAudioContext.instance.createChannelMerger_Callback_1_(this, numberOfInputs);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createChannelMerger_Callback_1_(unwrap_jso(this), numberOfInputs));
}
- return _blink.BlinkAudioContext.instance.createChannelMerger_Callback_0_(this);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createChannelMerger_Callback_0_(unwrap_jso(this)));
}
ChannelSplitterNode createChannelSplitter([int numberOfOutputs]) {
if (numberOfOutputs != null) {
- return _blink.BlinkAudioContext.instance.createChannelSplitter_Callback_1_(this, numberOfOutputs);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createChannelSplitter_Callback_1_(unwrap_jso(this), numberOfOutputs));
}
- return _blink.BlinkAudioContext.instance.createChannelSplitter_Callback_0_(this);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createChannelSplitter_Callback_0_(unwrap_jso(this)));
}
@DomName('AudioContext.createConvolver')
@DocsEditable()
- ConvolverNode createConvolver() => _blink.BlinkAudioContext.instance.createConvolver_Callback_0_(this);
-
+ ConvolverNode createConvolver() => wrap_jso(_blink.BlinkAudioContext.instance.createConvolver_Callback_0_(unwrap_jso(this)));
+
DelayNode createDelay([num maxDelayTime]) {
if (maxDelayTime != null) {
- return _blink.BlinkAudioContext.instance.createDelay_Callback_1_(this, maxDelayTime);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createDelay_Callback_1_(unwrap_jso(this), maxDelayTime));
}
- return _blink.BlinkAudioContext.instance.createDelay_Callback_0_(this);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createDelay_Callback_0_(unwrap_jso(this)));
}
@DomName('AudioContext.createDynamicsCompressor')
@DocsEditable()
- DynamicsCompressorNode createDynamicsCompressor() => _blink.BlinkAudioContext.instance.createDynamicsCompressor_Callback_0_(this);
-
+ DynamicsCompressorNode createDynamicsCompressor() => wrap_jso(_blink.BlinkAudioContext.instance.createDynamicsCompressor_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.createGain')
@DocsEditable()
- GainNode createGain() => _blink.BlinkAudioContext.instance.createGain_Callback_0_(this);
-
+ GainNode createGain() => wrap_jso(_blink.BlinkAudioContext.instance.createGain_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.createMediaElementSource')
@DocsEditable()
- MediaElementAudioSourceNode createMediaElementSource(MediaElement mediaElement) => _blink.BlinkAudioContext.instance.createMediaElementSource_Callback_1_(this, mediaElement);
-
+ MediaElementAudioSourceNode createMediaElementSource(MediaElement mediaElement) => wrap_jso(_blink.BlinkAudioContext.instance.createMediaElementSource_Callback_1_(unwrap_jso(this), unwrap_jso(mediaElement)));
+
@DomName('AudioContext.createMediaStreamDestination')
@DocsEditable()
- MediaStreamAudioDestinationNode createMediaStreamDestination() => _blink.BlinkAudioContext.instance.createMediaStreamDestination_Callback_0_(this);
-
+ MediaStreamAudioDestinationNode createMediaStreamDestination() => wrap_jso(_blink.BlinkAudioContext.instance.createMediaStreamDestination_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.createMediaStreamSource')
@DocsEditable()
- MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream) => _blink.BlinkAudioContext.instance.createMediaStreamSource_Callback_1_(this, mediaStream);
-
+ MediaStreamAudioSourceNode createMediaStreamSource(MediaStream mediaStream) => wrap_jso(_blink.BlinkAudioContext.instance.createMediaStreamSource_Callback_1_(unwrap_jso(this), unwrap_jso(mediaStream)));
+
@DomName('AudioContext.createOscillator')
@DocsEditable()
- OscillatorNode createOscillator() => _blink.BlinkAudioContext.instance.createOscillator_Callback_0_(this);
-
+ OscillatorNode createOscillator() => wrap_jso(_blink.BlinkAudioContext.instance.createOscillator_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.createPanner')
@DocsEditable()
- PannerNode createPanner() => _blink.BlinkAudioContext.instance.createPanner_Callback_0_(this);
-
+ PannerNode createPanner() => wrap_jso(_blink.BlinkAudioContext.instance.createPanner_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.createPeriodicWave')
@DocsEditable()
@Experimental() // untriaged
- PeriodicWave createPeriodicWave(Float32List real, Float32List imag) => _blink.BlinkAudioContext.instance.createPeriodicWave_Callback_2_(this, real, imag);
-
+ PeriodicWave createPeriodicWave(Float32List real, Float32List imag) => wrap_jso(_blink.BlinkAudioContext.instance.createPeriodicWave_Callback_2_(unwrap_jso(this), real, imag));
+
ScriptProcessorNode createScriptProcessor([int bufferSize, int numberOfInputChannels, int numberOfOutputChannels]) {
if (numberOfOutputChannels != null) {
- return _blink.BlinkAudioContext.instance.createScriptProcessor_Callback_3_(this, bufferSize, numberOfInputChannels, numberOfOutputChannels);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createScriptProcessor_Callback_3_(unwrap_jso(this), bufferSize, numberOfInputChannels, numberOfOutputChannels));
}
if (numberOfInputChannels != null) {
- return _blink.BlinkAudioContext.instance.createScriptProcessor_Callback_2_(this, bufferSize, numberOfInputChannels);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createScriptProcessor_Callback_2_(unwrap_jso(this), bufferSize, numberOfInputChannels));
}
if (bufferSize != null) {
- return _blink.BlinkAudioContext.instance.createScriptProcessor_Callback_1_(this, bufferSize);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createScriptProcessor_Callback_1_(unwrap_jso(this), bufferSize));
}
- return _blink.BlinkAudioContext.instance.createScriptProcessor_Callback_0_(this);
+ return wrap_jso(_blink.BlinkAudioContext.instance.createScriptProcessor_Callback_0_(unwrap_jso(this)));
}
@DomName('AudioContext.createWaveShaper')
@DocsEditable()
- WaveShaperNode createWaveShaper() => _blink.BlinkAudioContext.instance.createWaveShaper_Callback_0_(this);
-
+ WaveShaperNode createWaveShaper() => wrap_jso(_blink.BlinkAudioContext.instance.createWaveShaper_Callback_0_(unwrap_jso(this)));
+
@DomName('AudioContext.decodeAudioData')
@DocsEditable()
- void _decodeAudioData(ByteBuffer audioData, AudioBufferCallback successCallback, [AudioBufferCallback errorCallback]) => _blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_(this, audioData, successCallback, errorCallback);
-
+ void _decodeAudioData(ByteBuffer audioData, AudioBufferCallback successCallback, [AudioBufferCallback errorCallback]) => _blink.BlinkAudioContext.instance.decodeAudioData_Callback_3_(unwrap_jso(this), audioData, unwrap_jso(successCallback), unwrap_jso(errorCallback));
+
@DomName('AudioContext.startRendering')
@DocsEditable()
- void startRendering() => _blink.BlinkAudioContext.instance.startRendering_Callback_0_(this);
-
+ void startRendering() => _blink.BlinkAudioContext.instance.startRendering_Callback_0_(unwrap_jso(this));
+
/// Stream of `complete` events handled by this [AudioContext].
@DomName('AudioContext.oncomplete')
@DocsEditable()
@@ -446,8 +447,8 @@
@DomName('AudioDestinationNode.maxChannelCount')
@DocsEditable()
- int get maxChannelCount => _blink.BlinkAudioDestinationNode.instance.maxChannelCount_Getter_(this);
-
+ int get maxChannelCount => _blink.BlinkAudioDestinationNode.instance.maxChannelCount_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -466,32 +467,32 @@
@DomName('AudioListener.dopplerFactor')
@DocsEditable()
- num get dopplerFactor => _blink.BlinkAudioListener.instance.dopplerFactor_Getter_(this);
-
+ num get dopplerFactor => _blink.BlinkAudioListener.instance.dopplerFactor_Getter_(unwrap_jso(this));
+
@DomName('AudioListener.dopplerFactor')
@DocsEditable()
- void set dopplerFactor(num value) => _blink.BlinkAudioListener.instance.dopplerFactor_Setter_(this, value);
-
+ void set dopplerFactor(num value) => _blink.BlinkAudioListener.instance.dopplerFactor_Setter_(unwrap_jso(this), value);
+
@DomName('AudioListener.speedOfSound')
@DocsEditable()
- num get speedOfSound => _blink.BlinkAudioListener.instance.speedOfSound_Getter_(this);
-
+ num get speedOfSound => _blink.BlinkAudioListener.instance.speedOfSound_Getter_(unwrap_jso(this));
+
@DomName('AudioListener.speedOfSound')
@DocsEditable()
- void set speedOfSound(num value) => _blink.BlinkAudioListener.instance.speedOfSound_Setter_(this, value);
-
+ void set speedOfSound(num value) => _blink.BlinkAudioListener.instance.speedOfSound_Setter_(unwrap_jso(this), value);
+
@DomName('AudioListener.setOrientation')
@DocsEditable()
- void setOrientation(num x, num y, num z, num xUp, num yUp, num zUp) => _blink.BlinkAudioListener.instance.setOrientation_Callback_6_(this, x, y, z, xUp, yUp, zUp);
-
+ void setOrientation(num x, num y, num z, num xUp, num yUp, num zUp) => _blink.BlinkAudioListener.instance.setOrientation_Callback_6_(unwrap_jso(this), x, y, z, xUp, yUp, zUp);
+
@DomName('AudioListener.setPosition')
@DocsEditable()
- void setPosition(num x, num y, num z) => _blink.BlinkAudioListener.instance.setPosition_Callback_3_(this, x, y, z);
-
+ void setPosition(num x, num y, num z) => _blink.BlinkAudioListener.instance.setPosition_Callback_3_(unwrap_jso(this), x, y, z);
+
@DomName('AudioListener.setVelocity')
@DocsEditable()
- void setVelocity(num x, num y, num z) => _blink.BlinkAudioListener.instance.setVelocity_Callback_3_(this, x, y, z);
-
+ void setVelocity(num x, num y, num z) => _blink.BlinkAudioListener.instance.setVelocity_Callback_3_(unwrap_jso(this), x, y, z);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -507,47 +508,47 @@
@DomName('AudioNode.channelCount')
@DocsEditable()
- int get channelCount => _blink.BlinkAudioNode.instance.channelCount_Getter_(this);
-
+ int get channelCount => _blink.BlinkAudioNode.instance.channelCount_Getter_(unwrap_jso(this));
+
@DomName('AudioNode.channelCount')
@DocsEditable()
- void set channelCount(int value) => _blink.BlinkAudioNode.instance.channelCount_Setter_(this, value);
-
+ void set channelCount(int value) => _blink.BlinkAudioNode.instance.channelCount_Setter_(unwrap_jso(this), value);
+
@DomName('AudioNode.channelCountMode')
@DocsEditable()
- String get channelCountMode => _blink.BlinkAudioNode.instance.channelCountMode_Getter_(this);
-
+ String get channelCountMode => _blink.BlinkAudioNode.instance.channelCountMode_Getter_(unwrap_jso(this));
+
@DomName('AudioNode.channelCountMode')
@DocsEditable()
- void set channelCountMode(String value) => _blink.BlinkAudioNode.instance.channelCountMode_Setter_(this, value);
-
+ void set channelCountMode(String value) => _blink.BlinkAudioNode.instance.channelCountMode_Setter_(unwrap_jso(this), value);
+
@DomName('AudioNode.channelInterpretation')
@DocsEditable()
- String get channelInterpretation => _blink.BlinkAudioNode.instance.channelInterpretation_Getter_(this);
-
+ String get channelInterpretation => _blink.BlinkAudioNode.instance.channelInterpretation_Getter_(unwrap_jso(this));
+
@DomName('AudioNode.channelInterpretation')
@DocsEditable()
- void set channelInterpretation(String value) => _blink.BlinkAudioNode.instance.channelInterpretation_Setter_(this, value);
-
+ void set channelInterpretation(String value) => _blink.BlinkAudioNode.instance.channelInterpretation_Setter_(unwrap_jso(this), value);
+
@DomName('AudioNode.context')
@DocsEditable()
- AudioContext get context => _blink.BlinkAudioNode.instance.context_Getter_(this);
-
+ AudioContext get context => wrap_jso(_blink.BlinkAudioNode.instance.context_Getter_(unwrap_jso(this)));
+
@DomName('AudioNode.numberOfInputs')
@DocsEditable()
- int get numberOfInputs => _blink.BlinkAudioNode.instance.numberOfInputs_Getter_(this);
-
+ int get numberOfInputs => _blink.BlinkAudioNode.instance.numberOfInputs_Getter_(unwrap_jso(this));
+
@DomName('AudioNode.numberOfOutputs')
@DocsEditable()
- int get numberOfOutputs => _blink.BlinkAudioNode.instance.numberOfOutputs_Getter_(this);
-
+ int get numberOfOutputs => _blink.BlinkAudioNode.instance.numberOfOutputs_Getter_(unwrap_jso(this));
+
void _connect(destination, int output, [int input]) {
if ((input is int || input == null) && (output is int || output == null) && (destination is AudioNode || destination == null)) {
- _blink.BlinkAudioNode.instance.connect_Callback_3_(this, destination, output, input);
+ _blink.BlinkAudioNode.instance.connect_Callback_3_(unwrap_jso(this), unwrap_jso(destination), output, input);
return;
}
if ((output is int || output == null) && (destination is AudioParam || destination == null) && input == null) {
- _blink.BlinkAudioNode.instance.connect_Callback_2_(this, destination, output);
+ _blink.BlinkAudioNode.instance.connect_Callback_2_(unwrap_jso(this), unwrap_jso(destination), output);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -555,8 +556,8 @@
@DomName('AudioNode.disconnect')
@DocsEditable()
- void disconnect(int output) => _blink.BlinkAudioNode.instance.disconnect_Callback_1_(this, output);
-
+ void disconnect(int output) => _blink.BlinkAudioNode.instance.disconnect_Callback_1_(unwrap_jso(this), output);
+
@DomName('AudioNode.connect')
void connectNode(AudioNode destination, [int output = 0, int input = 0]) =>
_connect(destination, output, input);
@@ -582,40 +583,40 @@
@DomName('AudioParam.defaultValue')
@DocsEditable()
- double get defaultValue => _blink.BlinkAudioParam.instance.defaultValue_Getter_(this);
-
+ double get defaultValue => _blink.BlinkAudioParam.instance.defaultValue_Getter_(unwrap_jso(this));
+
@DomName('AudioParam.value')
@DocsEditable()
- num get value => _blink.BlinkAudioParam.instance.value_Getter_(this);
-
+ num get value => _blink.BlinkAudioParam.instance.value_Getter_(unwrap_jso(this));
+
@DomName('AudioParam.value')
@DocsEditable()
- void set value(num value) => _blink.BlinkAudioParam.instance.value_Setter_(this, value);
-
+ void set value(num value) => _blink.BlinkAudioParam.instance.value_Setter_(unwrap_jso(this), value);
+
@DomName('AudioParam.cancelScheduledValues')
@DocsEditable()
- void cancelScheduledValues(num startTime) => _blink.BlinkAudioParam.instance.cancelScheduledValues_Callback_1_(this, startTime);
-
+ void cancelScheduledValues(num startTime) => _blink.BlinkAudioParam.instance.cancelScheduledValues_Callback_1_(unwrap_jso(this), startTime);
+
@DomName('AudioParam.exponentialRampToValueAtTime')
@DocsEditable()
- void exponentialRampToValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance.exponentialRampToValueAtTime_Callback_2_(this, value, time);
-
+ void exponentialRampToValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance.exponentialRampToValueAtTime_Callback_2_(unwrap_jso(this), value, time);
+
@DomName('AudioParam.linearRampToValueAtTime')
@DocsEditable()
- void linearRampToValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance.linearRampToValueAtTime_Callback_2_(this, value, time);
-
+ void linearRampToValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance.linearRampToValueAtTime_Callback_2_(unwrap_jso(this), value, time);
+
@DomName('AudioParam.setTargetAtTime')
@DocsEditable()
- void setTargetAtTime(num target, num time, num timeConstant) => _blink.BlinkAudioParam.instance.setTargetAtTime_Callback_3_(this, target, time, timeConstant);
-
+ void setTargetAtTime(num target, num time, num timeConstant) => _blink.BlinkAudioParam.instance.setTargetAtTime_Callback_3_(unwrap_jso(this), target, time, timeConstant);
+
@DomName('AudioParam.setValueAtTime')
@DocsEditable()
- void setValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance.setValueAtTime_Callback_2_(this, value, time);
-
+ void setValueAtTime(num value, num time) => _blink.BlinkAudioParam.instance.setValueAtTime_Callback_2_(unwrap_jso(this), value, time);
+
@DomName('AudioParam.setValueCurveAtTime')
@DocsEditable()
- void setValueCurveAtTime(Float32List values, num time, num duration) => _blink.BlinkAudioParam.instance.setValueCurveAtTime_Callback_3_(this, values, time, duration);
-
+ void setValueCurveAtTime(Float32List values, num time, num duration) => _blink.BlinkAudioParam.instance.setValueCurveAtTime_Callback_3_(unwrap_jso(this), values, time, duration);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -634,17 +635,17 @@
@DomName('AudioProcessingEvent.inputBuffer')
@DocsEditable()
- AudioBuffer get inputBuffer => _blink.BlinkAudioProcessingEvent.instance.inputBuffer_Getter_(this);
-
+ AudioBuffer get inputBuffer => wrap_jso(_blink.BlinkAudioProcessingEvent.instance.inputBuffer_Getter_(unwrap_jso(this)));
+
@DomName('AudioProcessingEvent.outputBuffer')
@DocsEditable()
- AudioBuffer get outputBuffer => _blink.BlinkAudioProcessingEvent.instance.outputBuffer_Getter_(this);
-
+ AudioBuffer get outputBuffer => wrap_jso(_blink.BlinkAudioProcessingEvent.instance.outputBuffer_Getter_(unwrap_jso(this)));
+
@DomName('AudioProcessingEvent.playbackTime')
@DocsEditable()
@Experimental() // untriaged
- double get playbackTime => _blink.BlinkAudioProcessingEvent.instance.playbackTime_Getter_(this);
-
+ double get playbackTime => _blink.BlinkAudioProcessingEvent.instance.playbackTime_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -679,32 +680,32 @@
@DomName('BiquadFilterNode.Q')
@DocsEditable()
- AudioParam get Q => _blink.BlinkBiquadFilterNode.instance.Q_Getter_(this);
-
+ AudioParam get Q => wrap_jso(_blink.BlinkBiquadFilterNode.instance.Q_Getter_(unwrap_jso(this)));
+
@DomName('BiquadFilterNode.detune')
@DocsEditable()
- AudioParam get detune => _blink.BlinkBiquadFilterNode.instance.detune_Getter_(this);
-
+ AudioParam get detune => wrap_jso(_blink.BlinkBiquadFilterNode.instance.detune_Getter_(unwrap_jso(this)));
+
@DomName('BiquadFilterNode.frequency')
@DocsEditable()
- AudioParam get frequency => _blink.BlinkBiquadFilterNode.instance.frequency_Getter_(this);
-
+ AudioParam get frequency => wrap_jso(_blink.BlinkBiquadFilterNode.instance.frequency_Getter_(unwrap_jso(this)));
+
@DomName('BiquadFilterNode.gain')
@DocsEditable()
- AudioParam get gain => _blink.BlinkBiquadFilterNode.instance.gain_Getter_(this);
-
+ AudioParam get gain => wrap_jso(_blink.BlinkBiquadFilterNode.instance.gain_Getter_(unwrap_jso(this)));
+
@DomName('BiquadFilterNode.type')
@DocsEditable()
- String get type => _blink.BlinkBiquadFilterNode.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkBiquadFilterNode.instance.type_Getter_(unwrap_jso(this));
+
@DomName('BiquadFilterNode.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkBiquadFilterNode.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkBiquadFilterNode.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('BiquadFilterNode.getFrequencyResponse')
@DocsEditable()
- void getFrequencyResponse(Float32List frequencyHz, Float32List magResponse, Float32List phaseResponse) => _blink.BlinkBiquadFilterNode.instance.getFrequencyResponse_Callback_3_(this, frequencyHz, magResponse, phaseResponse);
-
+ void getFrequencyResponse(Float32List frequencyHz, Float32List magResponse, Float32List phaseResponse) => _blink.BlinkBiquadFilterNode.instance.getFrequencyResponse_Callback_3_(unwrap_jso(this), frequencyHz, magResponse, phaseResponse);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -755,20 +756,20 @@
@DomName('ConvolverNode.buffer')
@DocsEditable()
- AudioBuffer get buffer => _blink.BlinkConvolverNode.instance.buffer_Getter_(this);
-
+ AudioBuffer get buffer => wrap_jso(_blink.BlinkConvolverNode.instance.buffer_Getter_(unwrap_jso(this)));
+
@DomName('ConvolverNode.buffer')
@DocsEditable()
- void set buffer(AudioBuffer value) => _blink.BlinkConvolverNode.instance.buffer_Setter_(this, value);
-
+ void set buffer(AudioBuffer value) => _blink.BlinkConvolverNode.instance.buffer_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('ConvolverNode.normalize')
@DocsEditable()
- bool get normalize => _blink.BlinkConvolverNode.instance.normalize_Getter_(this);
-
+ bool get normalize => _blink.BlinkConvolverNode.instance.normalize_Getter_(unwrap_jso(this));
+
@DomName('ConvolverNode.normalize')
@DocsEditable()
- void set normalize(bool value) => _blink.BlinkConvolverNode.instance.normalize_Setter_(this, value);
-
+ void set normalize(bool value) => _blink.BlinkConvolverNode.instance.normalize_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -787,8 +788,8 @@
@DomName('DelayNode.delayTime')
@DocsEditable()
- AudioParam get delayTime => _blink.BlinkDelayNode.instance.delayTime_Getter_(this);
-
+ AudioParam get delayTime => wrap_jso(_blink.BlinkDelayNode.instance.delayTime_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -807,28 +808,28 @@
@DomName('DynamicsCompressorNode.attack')
@DocsEditable()
- AudioParam get attack => _blink.BlinkDynamicsCompressorNode.instance.attack_Getter_(this);
-
+ AudioParam get attack => wrap_jso(_blink.BlinkDynamicsCompressorNode.instance.attack_Getter_(unwrap_jso(this)));
+
@DomName('DynamicsCompressorNode.knee')
@DocsEditable()
- AudioParam get knee => _blink.BlinkDynamicsCompressorNode.instance.knee_Getter_(this);
-
+ AudioParam get knee => wrap_jso(_blink.BlinkDynamicsCompressorNode.instance.knee_Getter_(unwrap_jso(this)));
+
@DomName('DynamicsCompressorNode.ratio')
@DocsEditable()
- AudioParam get ratio => _blink.BlinkDynamicsCompressorNode.instance.ratio_Getter_(this);
-
+ AudioParam get ratio => wrap_jso(_blink.BlinkDynamicsCompressorNode.instance.ratio_Getter_(unwrap_jso(this)));
+
@DomName('DynamicsCompressorNode.reduction')
@DocsEditable()
- AudioParam get reduction => _blink.BlinkDynamicsCompressorNode.instance.reduction_Getter_(this);
-
+ AudioParam get reduction => wrap_jso(_blink.BlinkDynamicsCompressorNode.instance.reduction_Getter_(unwrap_jso(this)));
+
@DomName('DynamicsCompressorNode.release')
@DocsEditable()
- AudioParam get release => _blink.BlinkDynamicsCompressorNode.instance.release_Getter_(this);
-
+ AudioParam get release => wrap_jso(_blink.BlinkDynamicsCompressorNode.instance.release_Getter_(unwrap_jso(this)));
+
@DomName('DynamicsCompressorNode.threshold')
@DocsEditable()
- AudioParam get threshold => _blink.BlinkDynamicsCompressorNode.instance.threshold_Getter_(this);
-
+ AudioParam get threshold => wrap_jso(_blink.BlinkDynamicsCompressorNode.instance.threshold_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -847,8 +848,8 @@
@DomName('GainNode.gain')
@DocsEditable()
- AudioParam get gain => _blink.BlinkGainNode.instance.gain_Getter_(this);
-
+ AudioParam get gain => wrap_jso(_blink.BlinkGainNode.instance.gain_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -868,8 +869,8 @@
@DomName('MediaElementAudioSourceNode.mediaElement')
@DocsEditable()
@Experimental() // non-standard
- MediaElement get mediaElement => _blink.BlinkMediaElementAudioSourceNode.instance.mediaElement_Getter_(this);
-
+ MediaElement get mediaElement => wrap_jso(_blink.BlinkMediaElementAudioSourceNode.instance.mediaElement_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -888,8 +889,8 @@
@DomName('MediaStreamAudioDestinationNode.stream')
@DocsEditable()
- MediaStream get stream => _blink.BlinkMediaStreamAudioDestinationNode.instance.stream_Getter_(this);
-
+ MediaStream get stream => wrap_jso(_blink.BlinkMediaStreamAudioDestinationNode.instance.stream_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -908,8 +909,8 @@
@DomName('MediaStreamAudioSourceNode.mediaStream')
@DocsEditable()
- MediaStream get mediaStream => _blink.BlinkMediaStreamAudioSourceNode.instance.mediaStream_Getter_(this);
-
+ MediaStream get mediaStream => wrap_jso(_blink.BlinkMediaStreamAudioSourceNode.instance.mediaStream_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -928,8 +929,8 @@
@DomName('OfflineAudioCompletionEvent.renderedBuffer')
@DocsEditable()
- AudioBuffer get renderedBuffer => _blink.BlinkOfflineAudioCompletionEvent.instance.renderedBuffer_Getter_(this);
-
+ AudioBuffer get renderedBuffer => wrap_jso(_blink.BlinkOfflineAudioCompletionEvent.instance.renderedBuffer_Getter_(unwrap_jso(this)));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -981,48 +982,48 @@
@DomName('OscillatorNode.detune')
@DocsEditable()
- AudioParam get detune => _blink.BlinkOscillatorNode.instance.detune_Getter_(this);
-
+ AudioParam get detune => wrap_jso(_blink.BlinkOscillatorNode.instance.detune_Getter_(unwrap_jso(this)));
+
@DomName('OscillatorNode.frequency')
@DocsEditable()
- AudioParam get frequency => _blink.BlinkOscillatorNode.instance.frequency_Getter_(this);
-
+ AudioParam get frequency => wrap_jso(_blink.BlinkOscillatorNode.instance.frequency_Getter_(unwrap_jso(this)));
+
@DomName('OscillatorNode.type')
@DocsEditable()
- String get type => _blink.BlinkOscillatorNode.instance.type_Getter_(this);
-
+ String get type => _blink.BlinkOscillatorNode.instance.type_Getter_(unwrap_jso(this));
+
@DomName('OscillatorNode.type')
@DocsEditable()
- void set type(String value) => _blink.BlinkOscillatorNode.instance.type_Setter_(this, value);
-
+ void set type(String value) => _blink.BlinkOscillatorNode.instance.type_Setter_(unwrap_jso(this), value);
+
@DomName('OscillatorNode.noteOff')
@DocsEditable()
- void noteOff(num when) => _blink.BlinkOscillatorNode.instance.noteOff_Callback_1_(this, when);
-
+ void noteOff(num when) => _blink.BlinkOscillatorNode.instance.noteOff_Callback_1_(unwrap_jso(this), when);
+
@DomName('OscillatorNode.noteOn')
@DocsEditable()
- void noteOn(num when) => _blink.BlinkOscillatorNode.instance.noteOn_Callback_1_(this, when);
-
+ void noteOn(num when) => _blink.BlinkOscillatorNode.instance.noteOn_Callback_1_(unwrap_jso(this), when);
+
@DomName('OscillatorNode.setPeriodicWave')
@DocsEditable()
@Experimental() // untriaged
- void setPeriodicWave(PeriodicWave periodicWave) => _blink.BlinkOscillatorNode.instance.setPeriodicWave_Callback_1_(this, periodicWave);
-
+ void setPeriodicWave(PeriodicWave periodicWave) => _blink.BlinkOscillatorNode.instance.setPeriodicWave_Callback_1_(unwrap_jso(this), unwrap_jso(periodicWave));
+
void start([num when]) {
if (when != null) {
- _blink.BlinkOscillatorNode.instance.start_Callback_1_(this, when);
+ _blink.BlinkOscillatorNode.instance.start_Callback_1_(unwrap_jso(this), when);
return;
}
- _blink.BlinkOscillatorNode.instance.start_Callback_0_(this);
+ _blink.BlinkOscillatorNode.instance.start_Callback_0_(unwrap_jso(this));
return;
}
void stop([num when]) {
if (when != null) {
- _blink.BlinkOscillatorNode.instance.stop_Callback_1_(this, when);
+ _blink.BlinkOscillatorNode.instance.stop_Callback_1_(unwrap_jso(this), when);
return;
}
- _blink.BlinkOscillatorNode.instance.stop_Callback_0_(this);
+ _blink.BlinkOscillatorNode.instance.stop_Callback_0_(unwrap_jso(this));
return;
}
@@ -1050,80 +1051,80 @@
@DomName('PannerNode.coneInnerAngle')
@DocsEditable()
- num get coneInnerAngle => _blink.BlinkPannerNode.instance.coneInnerAngle_Getter_(this);
-
+ num get coneInnerAngle => _blink.BlinkPannerNode.instance.coneInnerAngle_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.coneInnerAngle')
@DocsEditable()
- void set coneInnerAngle(num value) => _blink.BlinkPannerNode.instance.coneInnerAngle_Setter_(this, value);
-
+ void set coneInnerAngle(num value) => _blink.BlinkPannerNode.instance.coneInnerAngle_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.coneOuterAngle')
@DocsEditable()
- num get coneOuterAngle => _blink.BlinkPannerNode.instance.coneOuterAngle_Getter_(this);
-
+ num get coneOuterAngle => _blink.BlinkPannerNode.instance.coneOuterAngle_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.coneOuterAngle')
@DocsEditable()
- void set coneOuterAngle(num value) => _blink.BlinkPannerNode.instance.coneOuterAngle_Setter_(this, value);
-
+ void set coneOuterAngle(num value) => _blink.BlinkPannerNode.instance.coneOuterAngle_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.coneOuterGain')
@DocsEditable()
- num get coneOuterGain => _blink.BlinkPannerNode.instance.coneOuterGain_Getter_(this);
-
+ num get coneOuterGain => _blink.BlinkPannerNode.instance.coneOuterGain_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.coneOuterGain')
@DocsEditable()
- void set coneOuterGain(num value) => _blink.BlinkPannerNode.instance.coneOuterGain_Setter_(this, value);
-
+ void set coneOuterGain(num value) => _blink.BlinkPannerNode.instance.coneOuterGain_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.distanceModel')
@DocsEditable()
- String get distanceModel => _blink.BlinkPannerNode.instance.distanceModel_Getter_(this);
-
+ String get distanceModel => _blink.BlinkPannerNode.instance.distanceModel_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.distanceModel')
@DocsEditable()
- void set distanceModel(String value) => _blink.BlinkPannerNode.instance.distanceModel_Setter_(this, value);
-
+ void set distanceModel(String value) => _blink.BlinkPannerNode.instance.distanceModel_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.maxDistance')
@DocsEditable()
- num get maxDistance => _blink.BlinkPannerNode.instance.maxDistance_Getter_(this);
-
+ num get maxDistance => _blink.BlinkPannerNode.instance.maxDistance_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.maxDistance')
@DocsEditable()
- void set maxDistance(num value) => _blink.BlinkPannerNode.instance.maxDistance_Setter_(this, value);
-
+ void set maxDistance(num value) => _blink.BlinkPannerNode.instance.maxDistance_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.panningModel')
@DocsEditable()
- String get panningModel => _blink.BlinkPannerNode.instance.panningModel_Getter_(this);
-
+ String get panningModel => _blink.BlinkPannerNode.instance.panningModel_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.panningModel')
@DocsEditable()
- void set panningModel(String value) => _blink.BlinkPannerNode.instance.panningModel_Setter_(this, value);
-
+ void set panningModel(String value) => _blink.BlinkPannerNode.instance.panningModel_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.refDistance')
@DocsEditable()
- num get refDistance => _blink.BlinkPannerNode.instance.refDistance_Getter_(this);
-
+ num get refDistance => _blink.BlinkPannerNode.instance.refDistance_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.refDistance')
@DocsEditable()
- void set refDistance(num value) => _blink.BlinkPannerNode.instance.refDistance_Setter_(this, value);
-
+ void set refDistance(num value) => _blink.BlinkPannerNode.instance.refDistance_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.rolloffFactor')
@DocsEditable()
- num get rolloffFactor => _blink.BlinkPannerNode.instance.rolloffFactor_Getter_(this);
-
+ num get rolloffFactor => _blink.BlinkPannerNode.instance.rolloffFactor_Getter_(unwrap_jso(this));
+
@DomName('PannerNode.rolloffFactor')
@DocsEditable()
- void set rolloffFactor(num value) => _blink.BlinkPannerNode.instance.rolloffFactor_Setter_(this, value);
-
+ void set rolloffFactor(num value) => _blink.BlinkPannerNode.instance.rolloffFactor_Setter_(unwrap_jso(this), value);
+
@DomName('PannerNode.setOrientation')
@DocsEditable()
- void setOrientation(num x, num y, num z) => _blink.BlinkPannerNode.instance.setOrientation_Callback_3_(this, x, y, z);
-
+ void setOrientation(num x, num y, num z) => _blink.BlinkPannerNode.instance.setOrientation_Callback_3_(unwrap_jso(this), x, y, z);
+
@DomName('PannerNode.setPosition')
@DocsEditable()
- void setPosition(num x, num y, num z) => _blink.BlinkPannerNode.instance.setPosition_Callback_3_(this, x, y, z);
-
+ void setPosition(num x, num y, num z) => _blink.BlinkPannerNode.instance.setPosition_Callback_3_(unwrap_jso(this), x, y, z);
+
@DomName('PannerNode.setVelocity')
@DocsEditable()
- void setVelocity(num x, num y, num z) => _blink.BlinkPannerNode.instance.setVelocity_Callback_3_(this, x, y, z);
-
+ void setVelocity(num x, num y, num z) => _blink.BlinkPannerNode.instance.setVelocity_Callback_3_(unwrap_jso(this), x, y, z);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1168,13 +1169,13 @@
@DomName('ScriptProcessorNode.bufferSize')
@DocsEditable()
- int get bufferSize => _blink.BlinkScriptProcessorNode.instance.bufferSize_Getter_(this);
-
+ int get bufferSize => _blink.BlinkScriptProcessorNode.instance.bufferSize_Getter_(unwrap_jso(this));
+
@DomName('ScriptProcessorNode.setEventListener')
@DocsEditable()
@Experimental() // untriaged
- void setEventListener(EventListener eventListener) => _blink.BlinkScriptProcessorNode.instance.setEventListener_Callback_1_(this, eventListener);
-
+ void setEventListener(EventListener eventListener) => _blink.BlinkScriptProcessorNode.instance.setEventListener_Callback_1_(unwrap_jso(this), unwrap_jso(eventListener));
+
/// Stream of `audioprocess` events handled by this [ScriptProcessorNode].
/**
* Get a Stream that fires events when AudioProcessingEvents occur.
@@ -1206,18 +1207,18 @@
@DomName('WaveShaperNode.curve')
@DocsEditable()
- Float32List get curve => _blink.BlinkWaveShaperNode.instance.curve_Getter_(this);
-
+ Float32List get curve => wrap_jso(_blink.BlinkWaveShaperNode.instance.curve_Getter_(unwrap_jso(this)));
+
@DomName('WaveShaperNode.curve')
@DocsEditable()
- void set curve(Float32List value) => _blink.BlinkWaveShaperNode.instance.curve_Setter_(this, value);
-
+ void set curve(Float32List value) => _blink.BlinkWaveShaperNode.instance.curve_Setter_(unwrap_jso(this), unwrap_jso(value));
+
@DomName('WaveShaperNode.oversample')
@DocsEditable()
- String get oversample => _blink.BlinkWaveShaperNode.instance.oversample_Getter_(this);
-
+ String get oversample => _blink.BlinkWaveShaperNode.instance.oversample_Getter_(unwrap_jso(this));
+
@DomName('WaveShaperNode.oversample')
@DocsEditable()
- void set oversample(String value) => _blink.BlinkWaveShaperNode.instance.oversample_Setter_(this, value);
-
+ void set oversample(String value) => _blink.BlinkWaveShaperNode.instance.oversample_Setter_(unwrap_jso(this), value);
+
}
diff --git a/sdk/lib/web_gl/dartium/web_gl_dartium.dart b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
index cf2f5f7..d587afd 100644
--- a/sdk/lib/web_gl/dartium/web_gl_dartium.dart
+++ b/sdk/lib/web_gl/dartium/web_gl_dartium.dart
@@ -57,6 +57,7 @@
'WebGLVertexArrayObjectOES': () => VertexArrayObject,
};
+
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -374,16 +375,16 @@
@DomName('WebGLActiveInfo.name')
@DocsEditable()
- String get name => _blink.BlinkWebGLActiveInfo.instance.name_Getter_(this);
-
+ String get name => _blink.BlinkWebGLActiveInfo.instance.name_Getter_(unwrap_jso(this));
+
@DomName('WebGLActiveInfo.size')
@DocsEditable()
- int get size => _blink.BlinkWebGLActiveInfo.instance.size_Getter_(this);
-
+ int get size => _blink.BlinkWebGLActiveInfo.instance.size_Getter_(unwrap_jso(this));
+
@DomName('WebGLActiveInfo.type')
@DocsEditable()
- int get type => _blink.BlinkWebGLActiveInfo.instance.type_Getter_(this);
-
+ int get type => _blink.BlinkWebGLActiveInfo.instance.type_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -407,18 +408,18 @@
@DomName('ANGLEInstancedArrays.drawArraysInstancedANGLE')
@DocsEditable()
@Experimental() // untriaged
- void drawArraysInstancedAngle(int mode, int first, int count, int primcount) => _blink.BlinkANGLEInstancedArrays.instance.drawArraysInstancedANGLE_Callback_4_(this, mode, first, count, primcount);
-
+ void drawArraysInstancedAngle(int mode, int first, int count, int primcount) => _blink.BlinkANGLEInstancedArrays.instance.drawArraysInstancedANGLE_Callback_4_(unwrap_jso(this), mode, first, count, primcount);
+
@DomName('ANGLEInstancedArrays.drawElementsInstancedANGLE')
@DocsEditable()
@Experimental() // untriaged
- void drawElementsInstancedAngle(int mode, int count, int type, int offset, int primcount) => _blink.BlinkANGLEInstancedArrays.instance.drawElementsInstancedANGLE_Callback_5_(this, mode, count, type, offset, primcount);
-
+ void drawElementsInstancedAngle(int mode, int count, int type, int offset, int primcount) => _blink.BlinkANGLEInstancedArrays.instance.drawElementsInstancedANGLE_Callback_5_(unwrap_jso(this), mode, count, type, offset, primcount);
+
@DomName('ANGLEInstancedArrays.vertexAttribDivisorANGLE')
@DocsEditable()
@Experimental() // untriaged
- void vertexAttribDivisorAngle(int index, int divisor) => _blink.BlinkANGLEInstancedArrays.instance.vertexAttribDivisorANGLE_Callback_2_(this, index, divisor);
-
+ void vertexAttribDivisorAngle(int index, int divisor) => _blink.BlinkANGLEInstancedArrays.instance.vertexAttribDivisorANGLE_Callback_2_(unwrap_jso(this), index, divisor);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -585,62 +586,62 @@
@DomName('WebGLContextAttributes.alpha')
@DocsEditable()
- bool get alpha => _blink.BlinkWebGLContextAttributes.instance.alpha_Getter_(this);
-
+ bool get alpha => _blink.BlinkWebGLContextAttributes.instance.alpha_Getter_(unwrap_jso(this));
+
@DomName('WebGLContextAttributes.alpha')
@DocsEditable()
- void set alpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.alpha_Setter_(this, value);
-
+ void set alpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.alpha_Setter_(unwrap_jso(this), value);
+
@DomName('WebGLContextAttributes.antialias')
@DocsEditable()
- bool get antialias => _blink.BlinkWebGLContextAttributes.instance.antialias_Getter_(this);
-
+ bool get antialias => _blink.BlinkWebGLContextAttributes.instance.antialias_Getter_(unwrap_jso(this));
+
@DomName('WebGLContextAttributes.antialias')
@DocsEditable()
- void set antialias(bool value) => _blink.BlinkWebGLContextAttributes.instance.antialias_Setter_(this, value);
-
+ void set antialias(bool value) => _blink.BlinkWebGLContextAttributes.instance.antialias_Setter_(unwrap_jso(this), value);
+
@DomName('WebGLContextAttributes.depth')
@DocsEditable()
- bool get depth => _blink.BlinkWebGLContextAttributes.instance.depth_Getter_(this);
-
+ bool get depth => _blink.BlinkWebGLContextAttributes.instance.depth_Getter_(unwrap_jso(this));
+
@DomName('WebGLContextAttributes.depth')
@DocsEditable()
- void set depth(bool value) => _blink.BlinkWebGLContextAttributes.instance.depth_Setter_(this, value);
-
+ void set depth(bool value) => _blink.BlinkWebGLContextAttributes.instance.depth_Setter_(unwrap_jso(this), value);
+
@DomName('WebGLContextAttributes.failIfMajorPerformanceCaveat')
@DocsEditable()
@Experimental() // untriaged
- bool get failIfMajorPerformanceCaveat => _blink.BlinkWebGLContextAttributes.instance.failIfMajorPerformanceCaveat_Getter_(this);
-
+ bool get failIfMajorPerformanceCaveat => _blink.BlinkWebGLContextAttributes.instance.failIfMajorPerformanceCaveat_Getter_(unwrap_jso(this));
+
@DomName('WebGLContextAttributes.failIfMajorPerformanceCaveat')
@DocsEditable()
@Experimental() // untriaged
- void set failIfMajorPerformanceCaveat(bool value) => _blink.BlinkWebGLContextAttributes.instance.failIfMajorPerformanceCaveat_Setter_(this, value);
-
+ void set failIfMajorPerformanceCaveat(bool value) => _blink.BlinkWebGLContextAttributes.instance.failIfMajorPerformanceCaveat_Setter_(unwrap_jso(this), value);
+
@DomName('WebGLContextAttributes.premultipliedAlpha')
@DocsEditable()
- bool get premultipliedAlpha => _blink.BlinkWebGLContextAttributes.instance.premultipliedAlpha_Getter_(this);
-
+ bool get premultipliedAlpha => _blink.BlinkWebGLContextAttributes.instance.premultipliedAlpha_Getter_(unwrap_jso(this));
+
@DomName('WebGLContextAttributes.premultipliedAlpha')
@DocsEditable()
- void set premultipliedAlpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.premultipliedAlpha_Setter_(this, value);
-
+ void set premultipliedAlpha(bool value) => _blink.BlinkWebGLContextAttributes.instance.premultipliedAlpha_Setter_(unwrap_jso(this), value);
+
@DomName('WebGLContextAttributes.preserveDrawingBuffer')
@DocsEditable()
- bool get preserveDrawingBuffer => _blink.BlinkWebGLContextAttributes.instance.preserveDrawingBuffer_Getter_(this);
-
+ bool get preserveDrawingBuffer => _blink.BlinkWebGLContextAttributes.instance.preserveDrawingBuffer_Getter_(unwrap_jso(this));
+
@DomName('WebGLContextAttributes.preserveDrawingBuffer')
@DocsEditable()
- void set preserveDrawingBuffer(bool value) => _blink.BlinkWebGLContextAttributes.instance.preserveDrawingBuffer_Setter_(this, value);
-
+ void set preserveDrawingBuffer(bool value) => _blink.BlinkWebGLContextAttributes.instance.preserveDrawingBuffer_Setter_(unwrap_jso(this), value);
+
@DomName('WebGLContextAttributes.stencil')
@DocsEditable()
- bool get stencil => _blink.BlinkWebGLContextAttributes.instance.stencil_Getter_(this);
-
+ bool get stencil => _blink.BlinkWebGLContextAttributes.instance.stencil_Getter_(unwrap_jso(this));
+
@DomName('WebGLContextAttributes.stencil')
@DocsEditable()
- void set stencil(bool value) => _blink.BlinkWebGLContextAttributes.instance.stencil_Setter_(this, value);
-
+ void set stencil(bool value) => _blink.BlinkWebGLContextAttributes.instance.stencil_Setter_(unwrap_jso(this), value);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -658,8 +659,8 @@
@DomName('WebGLContextEvent.statusMessage')
@DocsEditable()
- String get statusMessage => _blink.BlinkWebGLContextEvent.instance.statusMessage_Getter_(this);
-
+ String get statusMessage => _blink.BlinkWebGLContextEvent.instance.statusMessage_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -702,8 +703,8 @@
@DomName('WebGLDebugShaders.getTranslatedShaderSource')
@DocsEditable()
- String getTranslatedShaderSource(Shader shader) => _blink.BlinkWebGLDebugShaders.instance.getTranslatedShaderSource_Callback_1_(this, shader);
-
+ String getTranslatedShaderSource(Shader shader) => _blink.BlinkWebGLDebugShaders.instance.getTranslatedShaderSource_Callback_1_(unwrap_jso(this), unwrap_jso(shader));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -878,8 +879,8 @@
@DomName('WebGLDrawBuffers.drawBuffersWEBGL')
@DocsEditable()
- void drawBuffersWebgl(List<int> buffers) => _blink.BlinkWebGLDrawBuffers.instance.drawBuffersWEBGL_Callback_1_(this, buffers);
-
+ void drawBuffersWebgl(List<int> buffers) => _blink.BlinkWebGLDrawBuffers.instance.drawBuffersWEBGL_Callback_1_(unwrap_jso(this), buffers);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -993,12 +994,12 @@
@DomName('WebGLLoseContext.loseContext')
@DocsEditable()
- void loseContext() => _blink.BlinkWebGLLoseContext.instance.loseContext_Callback_0_(this);
-
+ void loseContext() => _blink.BlinkWebGLLoseContext.instance.loseContext_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLLoseContext.restoreContext')
@DocsEditable()
- void restoreContext() => _blink.BlinkWebGLLoseContext.instance.restoreContext_Callback_0_(this);
-
+ void restoreContext() => _blink.BlinkWebGLLoseContext.instance.restoreContext_Callback_0_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -1125,20 +1126,20 @@
@DomName('OESVertexArrayObject.bindVertexArrayOES')
@DocsEditable()
- void bindVertexArray(VertexArrayObject arrayObject) => _blink.BlinkOESVertexArrayObject.instance.bindVertexArrayOES_Callback_1_(this, arrayObject);
-
+ void bindVertexArray(VertexArrayObject arrayObject) => _blink.BlinkOESVertexArrayObject.instance.bindVertexArrayOES_Callback_1_(unwrap_jso(this), unwrap_jso(arrayObject));
+
@DomName('OESVertexArrayObject.createVertexArrayOES')
@DocsEditable()
- VertexArrayObject createVertexArray() => _blink.BlinkOESVertexArrayObject.instance.createVertexArrayOES_Callback_0_(this);
-
+ VertexArrayObject createVertexArray() => _blink.BlinkOESVertexArrayObject.instance.createVertexArrayOES_Callback_0_(unwrap_jso(this));
+
@DomName('OESVertexArrayObject.deleteVertexArrayOES')
@DocsEditable()
- void deleteVertexArray(VertexArrayObject arrayObject) => _blink.BlinkOESVertexArrayObject.instance.deleteVertexArrayOES_Callback_1_(this, arrayObject);
-
+ void deleteVertexArray(VertexArrayObject arrayObject) => _blink.BlinkOESVertexArrayObject.instance.deleteVertexArrayOES_Callback_1_(unwrap_jso(this), unwrap_jso(arrayObject));
+
@DomName('OESVertexArrayObject.isVertexArrayOES')
@DocsEditable()
- bool isVertexArray(VertexArrayObject arrayObject) => _blink.BlinkOESVertexArrayObject.instance.isVertexArrayOES_Callback_1_(this, arrayObject);
-
+ bool isVertexArray(VertexArrayObject arrayObject) => _blink.BlinkOESVertexArrayObject.instance.isVertexArrayOES_Callback_1_(unwrap_jso(this), unwrap_jso(arrayObject));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -2380,79 +2381,79 @@
@DomName('WebGLRenderingContext.canvas')
@DocsEditable()
@Experimental() // untriaged
- CanvasElement get canvas => _blink.BlinkWebGLRenderingContext.instance.canvas_Getter_(this);
-
+ CanvasElement get canvas => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.canvas_Getter_(unwrap_jso(this)));
+
@DomName('WebGLRenderingContext.drawingBufferHeight')
@DocsEditable()
- int get drawingBufferHeight => _blink.BlinkWebGLRenderingContext.instance.drawingBufferHeight_Getter_(this);
-
+ int get drawingBufferHeight => _blink.BlinkWebGLRenderingContext.instance.drawingBufferHeight_Getter_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.drawingBufferWidth')
@DocsEditable()
- int get drawingBufferWidth => _blink.BlinkWebGLRenderingContext.instance.drawingBufferWidth_Getter_(this);
-
+ int get drawingBufferWidth => _blink.BlinkWebGLRenderingContext.instance.drawingBufferWidth_Getter_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.activeTexture')
@DocsEditable()
- void activeTexture(int texture) => _blink.BlinkWebGLRenderingContext.instance.activeTexture_Callback_1_(this, texture);
-
+ void activeTexture(int texture) => _blink.BlinkWebGLRenderingContext.instance.activeTexture_Callback_1_(unwrap_jso(this), texture);
+
@DomName('WebGLRenderingContext.attachShader')
@DocsEditable()
- void attachShader(Program program, Shader shader) => _blink.BlinkWebGLRenderingContext.instance.attachShader_Callback_2_(this, program, shader);
-
+ void attachShader(Program program, Shader shader) => _blink.BlinkWebGLRenderingContext.instance.attachShader_Callback_2_(unwrap_jso(this), unwrap_jso(program), unwrap_jso(shader));
+
@DomName('WebGLRenderingContext.bindAttribLocation')
@DocsEditable()
- void bindAttribLocation(Program program, int index, String name) => _blink.BlinkWebGLRenderingContext.instance.bindAttribLocation_Callback_3_(this, program, index, name);
-
+ void bindAttribLocation(Program program, int index, String name) => _blink.BlinkWebGLRenderingContext.instance.bindAttribLocation_Callback_3_(unwrap_jso(this), unwrap_jso(program), index, name);
+
@DomName('WebGLRenderingContext.bindBuffer')
@DocsEditable()
- void bindBuffer(int target, Buffer buffer) => _blink.BlinkWebGLRenderingContext.instance.bindBuffer_Callback_2_(this, target, buffer);
-
+ void bindBuffer(int target, Buffer buffer) => _blink.BlinkWebGLRenderingContext.instance.bindBuffer_Callback_2_(unwrap_jso(this), target, unwrap_jso(buffer));
+
@DomName('WebGLRenderingContext.bindFramebuffer')
@DocsEditable()
- void bindFramebuffer(int target, Framebuffer framebuffer) => _blink.BlinkWebGLRenderingContext.instance.bindFramebuffer_Callback_2_(this, target, framebuffer);
-
+ void bindFramebuffer(int target, Framebuffer framebuffer) => _blink.BlinkWebGLRenderingContext.instance.bindFramebuffer_Callback_2_(unwrap_jso(this), target, unwrap_jso(framebuffer));
+
@DomName('WebGLRenderingContext.bindRenderbuffer')
@DocsEditable()
- void bindRenderbuffer(int target, Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.bindRenderbuffer_Callback_2_(this, target, renderbuffer);
-
+ void bindRenderbuffer(int target, Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.bindRenderbuffer_Callback_2_(unwrap_jso(this), target, unwrap_jso(renderbuffer));
+
@DomName('WebGLRenderingContext.bindTexture')
@DocsEditable()
- void bindTexture(int target, Texture texture) => _blink.BlinkWebGLRenderingContext.instance.bindTexture_Callback_2_(this, target, texture);
-
+ void bindTexture(int target, Texture texture) => _blink.BlinkWebGLRenderingContext.instance.bindTexture_Callback_2_(unwrap_jso(this), target, unwrap_jso(texture));
+
@DomName('WebGLRenderingContext.blendColor')
@DocsEditable()
- void blendColor(num red, num green, num blue, num alpha) => _blink.BlinkWebGLRenderingContext.instance.blendColor_Callback_4_(this, red, green, blue, alpha);
-
+ void blendColor(num red, num green, num blue, num alpha) => _blink.BlinkWebGLRenderingContext.instance.blendColor_Callback_4_(unwrap_jso(this), red, green, blue, alpha);
+
@DomName('WebGLRenderingContext.blendEquation')
@DocsEditable()
- void blendEquation(int mode) => _blink.BlinkWebGLRenderingContext.instance.blendEquation_Callback_1_(this, mode);
-
+ void blendEquation(int mode) => _blink.BlinkWebGLRenderingContext.instance.blendEquation_Callback_1_(unwrap_jso(this), mode);
+
@DomName('WebGLRenderingContext.blendEquationSeparate')
@DocsEditable()
- void blendEquationSeparate(int modeRGB, int modeAlpha) => _blink.BlinkWebGLRenderingContext.instance.blendEquationSeparate_Callback_2_(this, modeRGB, modeAlpha);
-
+ void blendEquationSeparate(int modeRGB, int modeAlpha) => _blink.BlinkWebGLRenderingContext.instance.blendEquationSeparate_Callback_2_(unwrap_jso(this), modeRGB, modeAlpha);
+
@DomName('WebGLRenderingContext.blendFunc')
@DocsEditable()
- void blendFunc(int sfactor, int dfactor) => _blink.BlinkWebGLRenderingContext.instance.blendFunc_Callback_2_(this, sfactor, dfactor);
-
+ void blendFunc(int sfactor, int dfactor) => _blink.BlinkWebGLRenderingContext.instance.blendFunc_Callback_2_(unwrap_jso(this), sfactor, dfactor);
+
@DomName('WebGLRenderingContext.blendFuncSeparate')
@DocsEditable()
- void blendFuncSeparate(int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) => _blink.BlinkWebGLRenderingContext.instance.blendFuncSeparate_Callback_4_(this, srcRGB, dstRGB, srcAlpha, dstAlpha);
-
+ void blendFuncSeparate(int srcRGB, int dstRGB, int srcAlpha, int dstAlpha) => _blink.BlinkWebGLRenderingContext.instance.blendFuncSeparate_Callback_4_(unwrap_jso(this), srcRGB, dstRGB, srcAlpha, dstAlpha);
+
@DomName('WebGLRenderingContext.bufferByteData')
@DocsEditable()
- void bufferByteData(int target, ByteBuffer data, int usage) => _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(this, target, data, usage);
-
+ void bufferByteData(int target, ByteBuffer data, int usage) => _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(unwrap_jso(this), target, data, usage);
+
void bufferData(int target, data_OR_size, int usage) {
if ((usage is int) && (data_OR_size is int) && (target is int)) {
- _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(this, target, data_OR_size, usage);
+ _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(unwrap_jso(this), target, unwrap_jso(data_OR_size), usage);
return;
}
if ((usage is int) && (data_OR_size is TypedData) && (target is int)) {
- _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(this, target, data_OR_size, usage);
+ _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(unwrap_jso(this), target, unwrap_jso(data_OR_size), usage);
return;
}
if ((usage is int) && (data_OR_size is ByteBuffer || data_OR_size == null) && (target is int)) {
- _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(this, target, data_OR_size, usage);
+ _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(unwrap_jso(this), target, unwrap_jso(data_OR_size), usage);
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2460,19 +2461,19 @@
@DomName('WebGLRenderingContext.bufferDataTyped')
@DocsEditable()
- void bufferDataTyped(int target, TypedData data, int usage) => _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(this, target, data, usage);
-
+ void bufferDataTyped(int target, TypedData data, int usage) => _blink.BlinkWebGLRenderingContext.instance.bufferData_Callback_3_(unwrap_jso(this), target, unwrap_jso(data), usage);
+
@DomName('WebGLRenderingContext.bufferSubByteData')
@DocsEditable()
- void bufferSubByteData(int target, int offset, ByteBuffer data) => _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(this, target, offset, data);
-
+ void bufferSubByteData(int target, int offset, ByteBuffer data) => _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(unwrap_jso(this), target, offset, data);
+
void bufferSubData(int target, int offset, data) {
if ((data is TypedData) && (offset is int) && (target is int)) {
- _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(this, target, offset, data);
+ _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(unwrap_jso(this), target, offset, unwrap_jso(data));
return;
}
if ((data is ByteBuffer || data == null) && (offset is int) && (target is int)) {
- _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(this, target, offset, data);
+ _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(unwrap_jso(this), target, offset, unwrap_jso(data));
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2480,375 +2481,375 @@
@DomName('WebGLRenderingContext.bufferSubDataTyped')
@DocsEditable()
- void bufferSubDataTyped(int target, int offset, TypedData data) => _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(this, target, offset, data);
-
+ void bufferSubDataTyped(int target, int offset, TypedData data) => _blink.BlinkWebGLRenderingContext.instance.bufferSubData_Callback_3_(unwrap_jso(this), target, offset, unwrap_jso(data));
+
@DomName('WebGLRenderingContext.checkFramebufferStatus')
@DocsEditable()
- int checkFramebufferStatus(int target) => _blink.BlinkWebGLRenderingContext.instance.checkFramebufferStatus_Callback_1_(this, target);
-
+ int checkFramebufferStatus(int target) => _blink.BlinkWebGLRenderingContext.instance.checkFramebufferStatus_Callback_1_(unwrap_jso(this), target);
+
@DomName('WebGLRenderingContext.clear')
@DocsEditable()
- void clear(int mask) => _blink.BlinkWebGLRenderingContext.instance.clear_Callback_1_(this, mask);
-
+ void clear(int mask) => _blink.BlinkWebGLRenderingContext.instance.clear_Callback_1_(unwrap_jso(this), mask);
+
@DomName('WebGLRenderingContext.clearColor')
@DocsEditable()
- void clearColor(num red, num green, num blue, num alpha) => _blink.BlinkWebGLRenderingContext.instance.clearColor_Callback_4_(this, red, green, blue, alpha);
-
+ void clearColor(num red, num green, num blue, num alpha) => _blink.BlinkWebGLRenderingContext.instance.clearColor_Callback_4_(unwrap_jso(this), red, green, blue, alpha);
+
@DomName('WebGLRenderingContext.clearDepth')
@DocsEditable()
- void clearDepth(num depth) => _blink.BlinkWebGLRenderingContext.instance.clearDepth_Callback_1_(this, depth);
-
+ void clearDepth(num depth) => _blink.BlinkWebGLRenderingContext.instance.clearDepth_Callback_1_(unwrap_jso(this), depth);
+
@DomName('WebGLRenderingContext.clearStencil')
@DocsEditable()
- void clearStencil(int s) => _blink.BlinkWebGLRenderingContext.instance.clearStencil_Callback_1_(this, s);
-
+ void clearStencil(int s) => _blink.BlinkWebGLRenderingContext.instance.clearStencil_Callback_1_(unwrap_jso(this), s);
+
@DomName('WebGLRenderingContext.colorMask')
@DocsEditable()
- void colorMask(bool red, bool green, bool blue, bool alpha) => _blink.BlinkWebGLRenderingContext.instance.colorMask_Callback_4_(this, red, green, blue, alpha);
-
+ void colorMask(bool red, bool green, bool blue, bool alpha) => _blink.BlinkWebGLRenderingContext.instance.colorMask_Callback_4_(unwrap_jso(this), red, green, blue, alpha);
+
@DomName('WebGLRenderingContext.compileShader')
@DocsEditable()
- void compileShader(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.compileShader_Callback_1_(this, shader);
-
+ void compileShader(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.compileShader_Callback_1_(unwrap_jso(this), unwrap_jso(shader));
+
@DomName('WebGLRenderingContext.compressedTexImage2D')
@DocsEditable()
- void compressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, TypedData data) => _blink.BlinkWebGLRenderingContext.instance.compressedTexImage2D_Callback_7_(this, target, level, internalformat, width, height, border, data);
-
+ void compressedTexImage2D(int target, int level, int internalformat, int width, int height, int border, TypedData data) => _blink.BlinkWebGLRenderingContext.instance.compressedTexImage2D_Callback_7_(unwrap_jso(this), target, level, internalformat, width, height, border, unwrap_jso(data));
+
@DomName('WebGLRenderingContext.compressedTexSubImage2D')
@DocsEditable()
- void compressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, TypedData data) => _blink.BlinkWebGLRenderingContext.instance.compressedTexSubImage2D_Callback_8_(this, target, level, xoffset, yoffset, width, height, format, data);
-
+ void compressedTexSubImage2D(int target, int level, int xoffset, int yoffset, int width, int height, int format, TypedData data) => _blink.BlinkWebGLRenderingContext.instance.compressedTexSubImage2D_Callback_8_(unwrap_jso(this), target, level, xoffset, yoffset, width, height, format, unwrap_jso(data));
+
@DomName('WebGLRenderingContext.copyTexImage2D')
@DocsEditable()
- void copyTexImage2D(int target, int level, int internalformat, int x, int y, int width, int height, int border) => _blink.BlinkWebGLRenderingContext.instance.copyTexImage2D_Callback_8_(this, target, level, internalformat, x, y, width, height, border);
-
+ void copyTexImage2D(int target, int level, int internalformat, int x, int y, int width, int height, int border) => _blink.BlinkWebGLRenderingContext.instance.copyTexImage2D_Callback_8_(unwrap_jso(this), target, level, internalformat, x, y, width, height, border);
+
@DomName('WebGLRenderingContext.copyTexSubImage2D')
@DocsEditable()
- void copyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.copyTexSubImage2D_Callback_8_(this, target, level, xoffset, yoffset, x, y, width, height);
-
+ void copyTexSubImage2D(int target, int level, int xoffset, int yoffset, int x, int y, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.copyTexSubImage2D_Callback_8_(unwrap_jso(this), target, level, xoffset, yoffset, x, y, width, height);
+
@DomName('WebGLRenderingContext.createBuffer')
@DocsEditable()
- Buffer createBuffer() => _blink.BlinkWebGLRenderingContext.instance.createBuffer_Callback_0_(this);
-
+ Buffer createBuffer() => _blink.BlinkWebGLRenderingContext.instance.createBuffer_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.createFramebuffer')
@DocsEditable()
- Framebuffer createFramebuffer() => _blink.BlinkWebGLRenderingContext.instance.createFramebuffer_Callback_0_(this);
-
+ Framebuffer createFramebuffer() => _blink.BlinkWebGLRenderingContext.instance.createFramebuffer_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.createProgram')
@DocsEditable()
- Program createProgram() => _blink.BlinkWebGLRenderingContext.instance.createProgram_Callback_0_(this);
-
+ Program createProgram() => _blink.BlinkWebGLRenderingContext.instance.createProgram_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.createRenderbuffer')
@DocsEditable()
- Renderbuffer createRenderbuffer() => _blink.BlinkWebGLRenderingContext.instance.createRenderbuffer_Callback_0_(this);
-
+ Renderbuffer createRenderbuffer() => _blink.BlinkWebGLRenderingContext.instance.createRenderbuffer_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.createShader')
@DocsEditable()
- Shader createShader(int type) => _blink.BlinkWebGLRenderingContext.instance.createShader_Callback_1_(this, type);
-
+ Shader createShader(int type) => _blink.BlinkWebGLRenderingContext.instance.createShader_Callback_1_(unwrap_jso(this), type);
+
@DomName('WebGLRenderingContext.createTexture')
@DocsEditable()
- Texture createTexture() => _blink.BlinkWebGLRenderingContext.instance.createTexture_Callback_0_(this);
-
+ Texture createTexture() => _blink.BlinkWebGLRenderingContext.instance.createTexture_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.cullFace')
@DocsEditable()
- void cullFace(int mode) => _blink.BlinkWebGLRenderingContext.instance.cullFace_Callback_1_(this, mode);
-
+ void cullFace(int mode) => _blink.BlinkWebGLRenderingContext.instance.cullFace_Callback_1_(unwrap_jso(this), mode);
+
@DomName('WebGLRenderingContext.deleteBuffer')
@DocsEditable()
- void deleteBuffer(Buffer buffer) => _blink.BlinkWebGLRenderingContext.instance.deleteBuffer_Callback_1_(this, buffer);
-
+ void deleteBuffer(Buffer buffer) => _blink.BlinkWebGLRenderingContext.instance.deleteBuffer_Callback_1_(unwrap_jso(this), unwrap_jso(buffer));
+
@DomName('WebGLRenderingContext.deleteFramebuffer')
@DocsEditable()
- void deleteFramebuffer(Framebuffer framebuffer) => _blink.BlinkWebGLRenderingContext.instance.deleteFramebuffer_Callback_1_(this, framebuffer);
-
+ void deleteFramebuffer(Framebuffer framebuffer) => _blink.BlinkWebGLRenderingContext.instance.deleteFramebuffer_Callback_1_(unwrap_jso(this), unwrap_jso(framebuffer));
+
@DomName('WebGLRenderingContext.deleteProgram')
@DocsEditable()
- void deleteProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.deleteProgram_Callback_1_(this, program);
-
+ void deleteProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.deleteProgram_Callback_1_(unwrap_jso(this), unwrap_jso(program));
+
@DomName('WebGLRenderingContext.deleteRenderbuffer')
@DocsEditable()
- void deleteRenderbuffer(Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.deleteRenderbuffer_Callback_1_(this, renderbuffer);
-
+ void deleteRenderbuffer(Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.deleteRenderbuffer_Callback_1_(unwrap_jso(this), unwrap_jso(renderbuffer));
+
@DomName('WebGLRenderingContext.deleteShader')
@DocsEditable()
- void deleteShader(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.deleteShader_Callback_1_(this, shader);
-
+ void deleteShader(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.deleteShader_Callback_1_(unwrap_jso(this), unwrap_jso(shader));
+
@DomName('WebGLRenderingContext.deleteTexture')
@DocsEditable()
- void deleteTexture(Texture texture) => _blink.BlinkWebGLRenderingContext.instance.deleteTexture_Callback_1_(this, texture);
-
+ void deleteTexture(Texture texture) => _blink.BlinkWebGLRenderingContext.instance.deleteTexture_Callback_1_(unwrap_jso(this), unwrap_jso(texture));
+
@DomName('WebGLRenderingContext.depthFunc')
@DocsEditable()
- void depthFunc(int func) => _blink.BlinkWebGLRenderingContext.instance.depthFunc_Callback_1_(this, func);
-
+ void depthFunc(int func) => _blink.BlinkWebGLRenderingContext.instance.depthFunc_Callback_1_(unwrap_jso(this), func);
+
@DomName('WebGLRenderingContext.depthMask')
@DocsEditable()
- void depthMask(bool flag) => _blink.BlinkWebGLRenderingContext.instance.depthMask_Callback_1_(this, flag);
-
+ void depthMask(bool flag) => _blink.BlinkWebGLRenderingContext.instance.depthMask_Callback_1_(unwrap_jso(this), flag);
+
@DomName('WebGLRenderingContext.depthRange')
@DocsEditable()
- void depthRange(num zNear, num zFar) => _blink.BlinkWebGLRenderingContext.instance.depthRange_Callback_2_(this, zNear, zFar);
-
+ void depthRange(num zNear, num zFar) => _blink.BlinkWebGLRenderingContext.instance.depthRange_Callback_2_(unwrap_jso(this), zNear, zFar);
+
@DomName('WebGLRenderingContext.detachShader')
@DocsEditable()
- void detachShader(Program program, Shader shader) => _blink.BlinkWebGLRenderingContext.instance.detachShader_Callback_2_(this, program, shader);
-
+ void detachShader(Program program, Shader shader) => _blink.BlinkWebGLRenderingContext.instance.detachShader_Callback_2_(unwrap_jso(this), unwrap_jso(program), unwrap_jso(shader));
+
@DomName('WebGLRenderingContext.disable')
@DocsEditable()
- void disable(int cap) => _blink.BlinkWebGLRenderingContext.instance.disable_Callback_1_(this, cap);
-
+ void disable(int cap) => _blink.BlinkWebGLRenderingContext.instance.disable_Callback_1_(unwrap_jso(this), cap);
+
@DomName('WebGLRenderingContext.disableVertexAttribArray')
@DocsEditable()
- void disableVertexAttribArray(int index) => _blink.BlinkWebGLRenderingContext.instance.disableVertexAttribArray_Callback_1_(this, index);
-
+ void disableVertexAttribArray(int index) => _blink.BlinkWebGLRenderingContext.instance.disableVertexAttribArray_Callback_1_(unwrap_jso(this), index);
+
@DomName('WebGLRenderingContext.drawArrays')
@DocsEditable()
- void drawArrays(int mode, int first, int count) => _blink.BlinkWebGLRenderingContext.instance.drawArrays_Callback_3_(this, mode, first, count);
-
+ void drawArrays(int mode, int first, int count) => _blink.BlinkWebGLRenderingContext.instance.drawArrays_Callback_3_(unwrap_jso(this), mode, first, count);
+
@DomName('WebGLRenderingContext.drawElements')
@DocsEditable()
- void drawElements(int mode, int count, int type, int offset) => _blink.BlinkWebGLRenderingContext.instance.drawElements_Callback_4_(this, mode, count, type, offset);
-
+ void drawElements(int mode, int count, int type, int offset) => _blink.BlinkWebGLRenderingContext.instance.drawElements_Callback_4_(unwrap_jso(this), mode, count, type, offset);
+
@DomName('WebGLRenderingContext.enable')
@DocsEditable()
- void enable(int cap) => _blink.BlinkWebGLRenderingContext.instance.enable_Callback_1_(this, cap);
-
+ void enable(int cap) => _blink.BlinkWebGLRenderingContext.instance.enable_Callback_1_(unwrap_jso(this), cap);
+
@DomName('WebGLRenderingContext.enableVertexAttribArray')
@DocsEditable()
- void enableVertexAttribArray(int index) => _blink.BlinkWebGLRenderingContext.instance.enableVertexAttribArray_Callback_1_(this, index);
-
+ void enableVertexAttribArray(int index) => _blink.BlinkWebGLRenderingContext.instance.enableVertexAttribArray_Callback_1_(unwrap_jso(this), index);
+
@DomName('WebGLRenderingContext.finish')
@DocsEditable()
- void finish() => _blink.BlinkWebGLRenderingContext.instance.finish_Callback_0_(this);
-
+ void finish() => _blink.BlinkWebGLRenderingContext.instance.finish_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.flush')
@DocsEditable()
- void flush() => _blink.BlinkWebGLRenderingContext.instance.flush_Callback_0_(this);
-
+ void flush() => _blink.BlinkWebGLRenderingContext.instance.flush_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.framebufferRenderbuffer')
@DocsEditable()
- void framebufferRenderbuffer(int target, int attachment, int renderbuffertarget, Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.framebufferRenderbuffer_Callback_4_(this, target, attachment, renderbuffertarget, renderbuffer);
-
+ void framebufferRenderbuffer(int target, int attachment, int renderbuffertarget, Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.framebufferRenderbuffer_Callback_4_(unwrap_jso(this), target, attachment, renderbuffertarget, unwrap_jso(renderbuffer));
+
@DomName('WebGLRenderingContext.framebufferTexture2D')
@DocsEditable()
- void framebufferTexture2D(int target, int attachment, int textarget, Texture texture, int level) => _blink.BlinkWebGLRenderingContext.instance.framebufferTexture2D_Callback_5_(this, target, attachment, textarget, texture, level);
-
+ void framebufferTexture2D(int target, int attachment, int textarget, Texture texture, int level) => _blink.BlinkWebGLRenderingContext.instance.framebufferTexture2D_Callback_5_(unwrap_jso(this), target, attachment, textarget, unwrap_jso(texture), level);
+
@DomName('WebGLRenderingContext.frontFace')
@DocsEditable()
- void frontFace(int mode) => _blink.BlinkWebGLRenderingContext.instance.frontFace_Callback_1_(this, mode);
-
+ void frontFace(int mode) => _blink.BlinkWebGLRenderingContext.instance.frontFace_Callback_1_(unwrap_jso(this), mode);
+
@DomName('WebGLRenderingContext.generateMipmap')
@DocsEditable()
- void generateMipmap(int target) => _blink.BlinkWebGLRenderingContext.instance.generateMipmap_Callback_1_(this, target);
-
+ void generateMipmap(int target) => _blink.BlinkWebGLRenderingContext.instance.generateMipmap_Callback_1_(unwrap_jso(this), target);
+
@DomName('WebGLRenderingContext.getActiveAttrib')
@DocsEditable()
- ActiveInfo getActiveAttrib(Program program, int index) => _blink.BlinkWebGLRenderingContext.instance.getActiveAttrib_Callback_2_(this, program, index);
-
+ ActiveInfo getActiveAttrib(Program program, int index) => _blink.BlinkWebGLRenderingContext.instance.getActiveAttrib_Callback_2_(unwrap_jso(this), unwrap_jso(program), index);
+
@DomName('WebGLRenderingContext.getActiveUniform')
@DocsEditable()
- ActiveInfo getActiveUniform(Program program, int index) => _blink.BlinkWebGLRenderingContext.instance.getActiveUniform_Callback_2_(this, program, index);
-
+ ActiveInfo getActiveUniform(Program program, int index) => _blink.BlinkWebGLRenderingContext.instance.getActiveUniform_Callback_2_(unwrap_jso(this), unwrap_jso(program), index);
+
@DomName('WebGLRenderingContext.getAttachedShaders')
@DocsEditable()
- List<Shader> getAttachedShaders(Program program) => _blink.BlinkWebGLRenderingContext.instance.getAttachedShaders_Callback_1_(this, program);
-
+ List<Shader> getAttachedShaders(Program program) => _blink.BlinkWebGLRenderingContext.instance.getAttachedShaders_Callback_1_(unwrap_jso(this), unwrap_jso(program));
+
@DomName('WebGLRenderingContext.getAttribLocation')
@DocsEditable()
- int getAttribLocation(Program program, String name) => _blink.BlinkWebGLRenderingContext.instance.getAttribLocation_Callback_2_(this, program, name);
-
+ int getAttribLocation(Program program, String name) => _blink.BlinkWebGLRenderingContext.instance.getAttribLocation_Callback_2_(unwrap_jso(this), unwrap_jso(program), name);
+
@DomName('WebGLRenderingContext.getBufferParameter')
@DocsEditable()
- Object getBufferParameter(int target, int pname) => _blink.BlinkWebGLRenderingContext.instance.getBufferParameter_Callback_2_(this, target, pname);
-
+ Object getBufferParameter(int target, int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getBufferParameter_Callback_2_(unwrap_jso(this), target, pname));
+
@DomName('WebGLRenderingContext.getContextAttributes')
@DocsEditable()
- ContextAttributes getContextAttributes() => _blink.BlinkWebGLRenderingContext.instance.getContextAttributes_Callback_0_(this);
-
+ ContextAttributes getContextAttributes() => _blink.BlinkWebGLRenderingContext.instance.getContextAttributes_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.getError')
@DocsEditable()
- int getError() => _blink.BlinkWebGLRenderingContext.instance.getError_Callback_0_(this);
-
+ int getError() => _blink.BlinkWebGLRenderingContext.instance.getError_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.getExtension')
@DocsEditable()
- Object getExtension(String name) => _blink.BlinkWebGLRenderingContext.instance.getExtension_Callback_1_(this, name);
-
+ Object getExtension(String name) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getExtension_Callback_1_(unwrap_jso(this), name));
+
@DomName('WebGLRenderingContext.getFramebufferAttachmentParameter')
@DocsEditable()
- Object getFramebufferAttachmentParameter(int target, int attachment, int pname) => _blink.BlinkWebGLRenderingContext.instance.getFramebufferAttachmentParameter_Callback_3_(this, target, attachment, pname);
-
+ Object getFramebufferAttachmentParameter(int target, int attachment, int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getFramebufferAttachmentParameter_Callback_3_(unwrap_jso(this), target, attachment, pname));
+
@DomName('WebGLRenderingContext.getParameter')
@DocsEditable()
- Object getParameter(int pname) => _blink.BlinkWebGLRenderingContext.instance.getParameter_Callback_1_(this, pname);
-
+ Object getParameter(int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getParameter_Callback_1_(unwrap_jso(this), pname));
+
@DomName('WebGLRenderingContext.getProgramInfoLog')
@DocsEditable()
- String getProgramInfoLog(Program program) => _blink.BlinkWebGLRenderingContext.instance.getProgramInfoLog_Callback_1_(this, program);
-
+ String getProgramInfoLog(Program program) => _blink.BlinkWebGLRenderingContext.instance.getProgramInfoLog_Callback_1_(unwrap_jso(this), unwrap_jso(program));
+
@DomName('WebGLRenderingContext.getProgramParameter')
@DocsEditable()
- Object getProgramParameter(Program program, int pname) => _blink.BlinkWebGLRenderingContext.instance.getProgramParameter_Callback_2_(this, program, pname);
-
+ Object getProgramParameter(Program program, int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getProgramParameter_Callback_2_(unwrap_jso(this), unwrap_jso(program), pname));
+
@DomName('WebGLRenderingContext.getRenderbufferParameter')
@DocsEditable()
- Object getRenderbufferParameter(int target, int pname) => _blink.BlinkWebGLRenderingContext.instance.getRenderbufferParameter_Callback_2_(this, target, pname);
-
+ Object getRenderbufferParameter(int target, int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getRenderbufferParameter_Callback_2_(unwrap_jso(this), target, pname));
+
@DomName('WebGLRenderingContext.getShaderInfoLog')
@DocsEditable()
- String getShaderInfoLog(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.getShaderInfoLog_Callback_1_(this, shader);
-
+ String getShaderInfoLog(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.getShaderInfoLog_Callback_1_(unwrap_jso(this), unwrap_jso(shader));
+
@DomName('WebGLRenderingContext.getShaderParameter')
@DocsEditable()
- Object getShaderParameter(Shader shader, int pname) => _blink.BlinkWebGLRenderingContext.instance.getShaderParameter_Callback_2_(this, shader, pname);
-
+ Object getShaderParameter(Shader shader, int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getShaderParameter_Callback_2_(unwrap_jso(this), unwrap_jso(shader), pname));
+
@DomName('WebGLRenderingContext.getShaderPrecisionFormat')
@DocsEditable()
- ShaderPrecisionFormat getShaderPrecisionFormat(int shadertype, int precisiontype) => _blink.BlinkWebGLRenderingContext.instance.getShaderPrecisionFormat_Callback_2_(this, shadertype, precisiontype);
-
+ ShaderPrecisionFormat getShaderPrecisionFormat(int shadertype, int precisiontype) => _blink.BlinkWebGLRenderingContext.instance.getShaderPrecisionFormat_Callback_2_(unwrap_jso(this), shadertype, precisiontype);
+
@DomName('WebGLRenderingContext.getShaderSource')
@DocsEditable()
- String getShaderSource(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.getShaderSource_Callback_1_(this, shader);
-
+ String getShaderSource(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.getShaderSource_Callback_1_(unwrap_jso(this), unwrap_jso(shader));
+
@DomName('WebGLRenderingContext.getSupportedExtensions')
@DocsEditable()
- List<String> getSupportedExtensions() => _blink.BlinkWebGLRenderingContext.instance.getSupportedExtensions_Callback_0_(this);
-
+ List<String> getSupportedExtensions() => _blink.BlinkWebGLRenderingContext.instance.getSupportedExtensions_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.getTexParameter')
@DocsEditable()
- Object getTexParameter(int target, int pname) => _blink.BlinkWebGLRenderingContext.instance.getTexParameter_Callback_2_(this, target, pname);
-
+ Object getTexParameter(int target, int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getTexParameter_Callback_2_(unwrap_jso(this), target, pname));
+
@DomName('WebGLRenderingContext.getUniform')
@DocsEditable()
- Object getUniform(Program program, UniformLocation location) => _blink.BlinkWebGLRenderingContext.instance.getUniform_Callback_2_(this, program, location);
-
+ Object getUniform(Program program, UniformLocation location) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getUniform_Callback_2_(unwrap_jso(this), unwrap_jso(program), unwrap_jso(location)));
+
@DomName('WebGLRenderingContext.getUniformLocation')
@DocsEditable()
- UniformLocation getUniformLocation(Program program, String name) => _blink.BlinkWebGLRenderingContext.instance.getUniformLocation_Callback_2_(this, program, name);
-
+ UniformLocation getUniformLocation(Program program, String name) => _blink.BlinkWebGLRenderingContext.instance.getUniformLocation_Callback_2_(unwrap_jso(this), unwrap_jso(program), name);
+
@DomName('WebGLRenderingContext.getVertexAttrib')
@DocsEditable()
- Object getVertexAttrib(int index, int pname) => _blink.BlinkWebGLRenderingContext.instance.getVertexAttrib_Callback_2_(this, index, pname);
-
+ Object getVertexAttrib(int index, int pname) => wrap_jso(_blink.BlinkWebGLRenderingContext.instance.getVertexAttrib_Callback_2_(unwrap_jso(this), index, pname));
+
@DomName('WebGLRenderingContext.getVertexAttribOffset')
@DocsEditable()
- int getVertexAttribOffset(int index, int pname) => _blink.BlinkWebGLRenderingContext.instance.getVertexAttribOffset_Callback_2_(this, index, pname);
-
+ int getVertexAttribOffset(int index, int pname) => _blink.BlinkWebGLRenderingContext.instance.getVertexAttribOffset_Callback_2_(unwrap_jso(this), index, pname);
+
@DomName('WebGLRenderingContext.hint')
@DocsEditable()
- void hint(int target, int mode) => _blink.BlinkWebGLRenderingContext.instance.hint_Callback_2_(this, target, mode);
-
+ void hint(int target, int mode) => _blink.BlinkWebGLRenderingContext.instance.hint_Callback_2_(unwrap_jso(this), target, mode);
+
@DomName('WebGLRenderingContext.isBuffer')
@DocsEditable()
- bool isBuffer(Buffer buffer) => _blink.BlinkWebGLRenderingContext.instance.isBuffer_Callback_1_(this, buffer);
-
+ bool isBuffer(Buffer buffer) => _blink.BlinkWebGLRenderingContext.instance.isBuffer_Callback_1_(unwrap_jso(this), unwrap_jso(buffer));
+
@DomName('WebGLRenderingContext.isContextLost')
@DocsEditable()
- bool isContextLost() => _blink.BlinkWebGLRenderingContext.instance.isContextLost_Callback_0_(this);
-
+ bool isContextLost() => _blink.BlinkWebGLRenderingContext.instance.isContextLost_Callback_0_(unwrap_jso(this));
+
@DomName('WebGLRenderingContext.isEnabled')
@DocsEditable()
- bool isEnabled(int cap) => _blink.BlinkWebGLRenderingContext.instance.isEnabled_Callback_1_(this, cap);
-
+ bool isEnabled(int cap) => _blink.BlinkWebGLRenderingContext.instance.isEnabled_Callback_1_(unwrap_jso(this), cap);
+
@DomName('WebGLRenderingContext.isFramebuffer')
@DocsEditable()
- bool isFramebuffer(Framebuffer framebuffer) => _blink.BlinkWebGLRenderingContext.instance.isFramebuffer_Callback_1_(this, framebuffer);
-
+ bool isFramebuffer(Framebuffer framebuffer) => _blink.BlinkWebGLRenderingContext.instance.isFramebuffer_Callback_1_(unwrap_jso(this), unwrap_jso(framebuffer));
+
@DomName('WebGLRenderingContext.isProgram')
@DocsEditable()
- bool isProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.isProgram_Callback_1_(this, program);
-
+ bool isProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.isProgram_Callback_1_(unwrap_jso(this), unwrap_jso(program));
+
@DomName('WebGLRenderingContext.isRenderbuffer')
@DocsEditable()
- bool isRenderbuffer(Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.isRenderbuffer_Callback_1_(this, renderbuffer);
-
+ bool isRenderbuffer(Renderbuffer renderbuffer) => _blink.BlinkWebGLRenderingContext.instance.isRenderbuffer_Callback_1_(unwrap_jso(this), unwrap_jso(renderbuffer));
+
@DomName('WebGLRenderingContext.isShader')
@DocsEditable()
- bool isShader(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.isShader_Callback_1_(this, shader);
-
+ bool isShader(Shader shader) => _blink.BlinkWebGLRenderingContext.instance.isShader_Callback_1_(unwrap_jso(this), unwrap_jso(shader));
+
@DomName('WebGLRenderingContext.isTexture')
@DocsEditable()
- bool isTexture(Texture texture) => _blink.BlinkWebGLRenderingContext.instance.isTexture_Callback_1_(this, texture);
-
+ bool isTexture(Texture texture) => _blink.BlinkWebGLRenderingContext.instance.isTexture_Callback_1_(unwrap_jso(this), unwrap_jso(texture));
+
@DomName('WebGLRenderingContext.lineWidth')
@DocsEditable()
- void lineWidth(num width) => _blink.BlinkWebGLRenderingContext.instance.lineWidth_Callback_1_(this, width);
-
+ void lineWidth(num width) => _blink.BlinkWebGLRenderingContext.instance.lineWidth_Callback_1_(unwrap_jso(this), width);
+
@DomName('WebGLRenderingContext.linkProgram')
@DocsEditable()
- void linkProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.linkProgram_Callback_1_(this, program);
-
+ void linkProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.linkProgram_Callback_1_(unwrap_jso(this), unwrap_jso(program));
+
@DomName('WebGLRenderingContext.pixelStorei')
@DocsEditable()
- void pixelStorei(int pname, int param) => _blink.BlinkWebGLRenderingContext.instance.pixelStorei_Callback_2_(this, pname, param);
-
+ void pixelStorei(int pname, int param) => _blink.BlinkWebGLRenderingContext.instance.pixelStorei_Callback_2_(unwrap_jso(this), pname, param);
+
@DomName('WebGLRenderingContext.polygonOffset')
@DocsEditable()
- void polygonOffset(num factor, num units) => _blink.BlinkWebGLRenderingContext.instance.polygonOffset_Callback_2_(this, factor, units);
-
+ void polygonOffset(num factor, num units) => _blink.BlinkWebGLRenderingContext.instance.polygonOffset_Callback_2_(unwrap_jso(this), factor, units);
+
@DomName('WebGLRenderingContext.readPixels')
@DocsEditable()
- void readPixels(int x, int y, int width, int height, int format, int type, TypedData pixels) => _blink.BlinkWebGLRenderingContext.instance.readPixels_Callback_7_(this, x, y, width, height, format, type, pixels);
-
+ void readPixels(int x, int y, int width, int height, int format, int type, TypedData pixels) => _blink.BlinkWebGLRenderingContext.instance.readPixels_Callback_7_(unwrap_jso(this), x, y, width, height, format, type, unwrap_jso(pixels));
+
@DomName('WebGLRenderingContext.renderbufferStorage')
@DocsEditable()
- void renderbufferStorage(int target, int internalformat, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.renderbufferStorage_Callback_4_(this, target, internalformat, width, height);
-
+ void renderbufferStorage(int target, int internalformat, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.renderbufferStorage_Callback_4_(unwrap_jso(this), target, internalformat, width, height);
+
@DomName('WebGLRenderingContext.sampleCoverage')
@DocsEditable()
- void sampleCoverage(num value, bool invert) => _blink.BlinkWebGLRenderingContext.instance.sampleCoverage_Callback_2_(this, value, invert);
-
+ void sampleCoverage(num value, bool invert) => _blink.BlinkWebGLRenderingContext.instance.sampleCoverage_Callback_2_(unwrap_jso(this), value, invert);
+
@DomName('WebGLRenderingContext.scissor')
@DocsEditable()
- void scissor(int x, int y, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.scissor_Callback_4_(this, x, y, width, height);
-
+ void scissor(int x, int y, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.scissor_Callback_4_(unwrap_jso(this), x, y, width, height);
+
@DomName('WebGLRenderingContext.shaderSource')
@DocsEditable()
- void shaderSource(Shader shader, String string) => _blink.BlinkWebGLRenderingContext.instance.shaderSource_Callback_2_(this, shader, string);
-
+ void shaderSource(Shader shader, String string) => _blink.BlinkWebGLRenderingContext.instance.shaderSource_Callback_2_(unwrap_jso(this), unwrap_jso(shader), string);
+
@DomName('WebGLRenderingContext.stencilFunc')
@DocsEditable()
- void stencilFunc(int func, int ref, int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilFunc_Callback_3_(this, func, ref, mask);
-
+ void stencilFunc(int func, int ref, int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilFunc_Callback_3_(unwrap_jso(this), func, ref, mask);
+
@DomName('WebGLRenderingContext.stencilFuncSeparate')
@DocsEditable()
- void stencilFuncSeparate(int face, int func, int ref, int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilFuncSeparate_Callback_4_(this, face, func, ref, mask);
-
+ void stencilFuncSeparate(int face, int func, int ref, int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilFuncSeparate_Callback_4_(unwrap_jso(this), face, func, ref, mask);
+
@DomName('WebGLRenderingContext.stencilMask')
@DocsEditable()
- void stencilMask(int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilMask_Callback_1_(this, mask);
-
+ void stencilMask(int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilMask_Callback_1_(unwrap_jso(this), mask);
+
@DomName('WebGLRenderingContext.stencilMaskSeparate')
@DocsEditable()
- void stencilMaskSeparate(int face, int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilMaskSeparate_Callback_2_(this, face, mask);
-
+ void stencilMaskSeparate(int face, int mask) => _blink.BlinkWebGLRenderingContext.instance.stencilMaskSeparate_Callback_2_(unwrap_jso(this), face, mask);
+
@DomName('WebGLRenderingContext.stencilOp')
@DocsEditable()
- void stencilOp(int fail, int zfail, int zpass) => _blink.BlinkWebGLRenderingContext.instance.stencilOp_Callback_3_(this, fail, zfail, zpass);
-
+ void stencilOp(int fail, int zfail, int zpass) => _blink.BlinkWebGLRenderingContext.instance.stencilOp_Callback_3_(unwrap_jso(this), fail, zfail, zpass);
+
@DomName('WebGLRenderingContext.stencilOpSeparate')
@DocsEditable()
- void stencilOpSeparate(int face, int fail, int zfail, int zpass) => _blink.BlinkWebGLRenderingContext.instance.stencilOpSeparate_Callback_4_(this, face, fail, zfail, zpass);
-
+ void stencilOpSeparate(int face, int fail, int zfail, int zpass) => _blink.BlinkWebGLRenderingContext.instance.stencilOpSeparate_Callback_4_(unwrap_jso(this), face, fail, zfail, zpass);
+
void texImage2D(int target, int level, int internalformat, int format_OR_width, int height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video, [int format, int type, TypedData pixels]) {
if ((pixels is TypedData || pixels == null) && (type is int) && (format is int) && (border_OR_canvas_OR_image_OR_pixels_OR_video is int) && (height_OR_type is int) && (format_OR_width is int) && (internalformat is int) && (level is int) && (target is int)) {
- _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_9_(this, target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video, format, type, pixels);
+ _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_9_(unwrap_jso(this), target, level, internalformat, format_OR_width, height_OR_type, unwrap_jso(border_OR_canvas_OR_image_OR_pixels_OR_video), format, type, unwrap_jso(pixels));
return;
}
if ((border_OR_canvas_OR_image_OR_pixels_OR_video is ImageData || border_OR_canvas_OR_image_OR_pixels_OR_video == null) && (height_OR_type is int) && (format_OR_width is int) && (internalformat is int) && (level is int) && (target is int) && format == null && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format_OR_width, height_OR_type, unwrap_jso(border_OR_canvas_OR_image_OR_pixels_OR_video));
return;
}
if ((border_OR_canvas_OR_image_OR_pixels_OR_video is ImageElement) && (height_OR_type is int) && (format_OR_width is int) && (internalformat is int) && (level is int) && (target is int) && format == null && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format_OR_width, height_OR_type, unwrap_jso(border_OR_canvas_OR_image_OR_pixels_OR_video));
return;
}
if ((border_OR_canvas_OR_image_OR_pixels_OR_video is CanvasElement) && (height_OR_type is int) && (format_OR_width is int) && (internalformat is int) && (level is int) && (target is int) && format == null && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format_OR_width, height_OR_type, unwrap_jso(border_OR_canvas_OR_image_OR_pixels_OR_video));
return;
}
if ((border_OR_canvas_OR_image_OR_pixels_OR_video is VideoElement) && (height_OR_type is int) && (format_OR_width is int) && (internalformat is int) && (level is int) && (target is int) && format == null && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format_OR_width, height_OR_type, border_OR_canvas_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format_OR_width, height_OR_type, unwrap_jso(border_OR_canvas_OR_image_OR_pixels_OR_video));
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2856,47 +2857,47 @@
@DomName('WebGLRenderingContext.texImage2DCanvas')
@DocsEditable()
- void texImage2DCanvas(int target, int level, int internalformat, int format, int type, CanvasElement canvas) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format, type, canvas);
-
+ void texImage2DCanvas(int target, int level, int internalformat, int format, int type, CanvasElement canvas) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format, type, unwrap_jso(canvas));
+
@DomName('WebGLRenderingContext.texImage2DImage')
@DocsEditable()
- void texImage2DImage(int target, int level, int internalformat, int format, int type, ImageElement image) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format, type, image);
-
+ void texImage2DImage(int target, int level, int internalformat, int format, int type, ImageElement image) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format, type, unwrap_jso(image));
+
@DomName('WebGLRenderingContext.texImage2DImageData')
@DocsEditable()
- void texImage2DImageData(int target, int level, int internalformat, int format, int type, ImageData pixels) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format, type, pixels);
-
+ void texImage2DImageData(int target, int level, int internalformat, int format, int type, ImageData pixels) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format, type, unwrap_jso(pixels));
+
@DomName('WebGLRenderingContext.texImage2DVideo')
@DocsEditable()
- void texImage2DVideo(int target, int level, int internalformat, int format, int type, VideoElement video) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(this, target, level, internalformat, format, type, video);
-
+ void texImage2DVideo(int target, int level, int internalformat, int format, int type, VideoElement video) => _blink.BlinkWebGLRenderingContext.instance.texImage2D_Callback_6_(unwrap_jso(this), target, level, internalformat, format, type, unwrap_jso(video));
+
@DomName('WebGLRenderingContext.texParameterf')
@DocsEditable()
- void texParameterf(int target, int pname, num param) => _blink.BlinkWebGLRenderingContext.instance.texParameterf_Callback_3_(this, target, pname, param);
-
+ void texParameterf(int target, int pname, num param) => _blink.BlinkWebGLRenderingContext.instance.texParameterf_Callback_3_(unwrap_jso(this), target, pname, param);
+
@DomName('WebGLRenderingContext.texParameteri')
@DocsEditable()
- void texParameteri(int target, int pname, int param) => _blink.BlinkWebGLRenderingContext.instance.texParameteri_Callback_3_(this, target, pname, param);
-
+ void texParameteri(int target, int pname, int param) => _blink.BlinkWebGLRenderingContext.instance.texParameteri_Callback_3_(unwrap_jso(this), target, pname, param);
+
void texSubImage2D(int target, int level, int xoffset, int yoffset, int format_OR_width, int height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video, [int type, TypedData pixels]) {
if ((pixels is TypedData || pixels == null) && (type is int) && (canvas_OR_format_OR_image_OR_pixels_OR_video is int) && (height_OR_type is int) && (format_OR_width is int) && (yoffset is int) && (xoffset is int) && (level is int) && (target is int)) {
- _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_9_(this, target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video, type, pixels);
+ _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_9_(unwrap_jso(this), target, level, xoffset, yoffset, format_OR_width, height_OR_type, unwrap_jso(canvas_OR_format_OR_image_OR_pixels_OR_video), type, unwrap_jso(pixels));
return;
}
if ((canvas_OR_format_OR_image_OR_pixels_OR_video is ImageData || canvas_OR_format_OR_image_OR_pixels_OR_video == null) && (height_OR_type is int) && (format_OR_width is int) && (yoffset is int) && (xoffset is int) && (level is int) && (target is int) && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format_OR_width, height_OR_type, unwrap_jso(canvas_OR_format_OR_image_OR_pixels_OR_video));
return;
}
if ((canvas_OR_format_OR_image_OR_pixels_OR_video is ImageElement) && (height_OR_type is int) && (format_OR_width is int) && (yoffset is int) && (xoffset is int) && (level is int) && (target is int) && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format_OR_width, height_OR_type, unwrap_jso(canvas_OR_format_OR_image_OR_pixels_OR_video));
return;
}
if ((canvas_OR_format_OR_image_OR_pixels_OR_video is CanvasElement) && (height_OR_type is int) && (format_OR_width is int) && (yoffset is int) && (xoffset is int) && (level is int) && (target is int) && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format_OR_width, height_OR_type, unwrap_jso(canvas_OR_format_OR_image_OR_pixels_OR_video));
return;
}
if ((canvas_OR_format_OR_image_OR_pixels_OR_video is VideoElement) && (height_OR_type is int) && (format_OR_width is int) && (yoffset is int) && (xoffset is int) && (level is int) && (target is int) && type == null && pixels == null) {
- _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format_OR_width, height_OR_type, canvas_OR_format_OR_image_OR_pixels_OR_video);
+ _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format_OR_width, height_OR_type, unwrap_jso(canvas_OR_format_OR_image_OR_pixels_OR_video));
return;
}
throw new ArgumentError("Incorrect number or type of arguments");
@@ -2904,144 +2905,144 @@
@DomName('WebGLRenderingContext.texSubImage2DCanvas')
@DocsEditable()
- void texSubImage2DCanvas(int target, int level, int xoffset, int yoffset, int format, int type, CanvasElement canvas) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format, type, canvas);
-
+ void texSubImage2DCanvas(int target, int level, int xoffset, int yoffset, int format, int type, CanvasElement canvas) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format, type, unwrap_jso(canvas));
+
@DomName('WebGLRenderingContext.texSubImage2DImage')
@DocsEditable()
- void texSubImage2DImage(int target, int level, int xoffset, int yoffset, int format, int type, ImageElement image) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format, type, image);
-
+ void texSubImage2DImage(int target, int level, int xoffset, int yoffset, int format, int type, ImageElement image) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format, type, unwrap_jso(image));
+
@DomName('WebGLRenderingContext.texSubImage2DImageData')
@DocsEditable()
- void texSubImage2DImageData(int target, int level, int xoffset, int yoffset, int format, int type, ImageData pixels) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format, type, pixels);
-
+ void texSubImage2DImageData(int target, int level, int xoffset, int yoffset, int format, int type, ImageData pixels) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format, type, unwrap_jso(pixels));
+
@DomName('WebGLRenderingContext.texSubImage2DVideo')
@DocsEditable()
- void texSubImage2DVideo(int target, int level, int xoffset, int yoffset, int format, int type, VideoElement video) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(this, target, level, xoffset, yoffset, format, type, video);
-
+ void texSubImage2DVideo(int target, int level, int xoffset, int yoffset, int format, int type, VideoElement video) => _blink.BlinkWebGLRenderingContext.instance.texSubImage2D_Callback_7_(unwrap_jso(this), target, level, xoffset, yoffset, format, type, unwrap_jso(video));
+
@DomName('WebGLRenderingContext.uniform1f')
@DocsEditable()
- void uniform1f(UniformLocation location, num x) => _blink.BlinkWebGLRenderingContext.instance.uniform1f_Callback_2_(this, location, x);
-
+ void uniform1f(UniformLocation location, num x) => _blink.BlinkWebGLRenderingContext.instance.uniform1f_Callback_2_(unwrap_jso(this), unwrap_jso(location), x);
+
@DomName('WebGLRenderingContext.uniform1fv')
@DocsEditable()
- void uniform1fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform1fv_Callback_2_(this, location, v);
-
+ void uniform1fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform1fv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniform1i')
@DocsEditable()
- void uniform1i(UniformLocation location, int x) => _blink.BlinkWebGLRenderingContext.instance.uniform1i_Callback_2_(this, location, x);
-
+ void uniform1i(UniformLocation location, int x) => _blink.BlinkWebGLRenderingContext.instance.uniform1i_Callback_2_(unwrap_jso(this), unwrap_jso(location), x);
+
@DomName('WebGLRenderingContext.uniform1iv')
@DocsEditable()
- void uniform1iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform1iv_Callback_2_(this, location, v);
-
+ void uniform1iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform1iv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniform2f')
@DocsEditable()
- void uniform2f(UniformLocation location, num x, num y) => _blink.BlinkWebGLRenderingContext.instance.uniform2f_Callback_3_(this, location, x, y);
-
+ void uniform2f(UniformLocation location, num x, num y) => _blink.BlinkWebGLRenderingContext.instance.uniform2f_Callback_3_(unwrap_jso(this), unwrap_jso(location), x, y);
+
@DomName('WebGLRenderingContext.uniform2fv')
@DocsEditable()
- void uniform2fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform2fv_Callback_2_(this, location, v);
-
+ void uniform2fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform2fv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniform2i')
@DocsEditable()
- void uniform2i(UniformLocation location, int x, int y) => _blink.BlinkWebGLRenderingContext.instance.uniform2i_Callback_3_(this, location, x, y);
-
+ void uniform2i(UniformLocation location, int x, int y) => _blink.BlinkWebGLRenderingContext.instance.uniform2i_Callback_3_(unwrap_jso(this), unwrap_jso(location), x, y);
+
@DomName('WebGLRenderingContext.uniform2iv')
@DocsEditable()
- void uniform2iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform2iv_Callback_2_(this, location, v);
-
+ void uniform2iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform2iv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniform3f')
@DocsEditable()
- void uniform3f(UniformLocation location, num x, num y, num z) => _blink.BlinkWebGLRenderingContext.instance.uniform3f_Callback_4_(this, location, x, y, z);
-
+ void uniform3f(UniformLocation location, num x, num y, num z) => _blink.BlinkWebGLRenderingContext.instance.uniform3f_Callback_4_(unwrap_jso(this), unwrap_jso(location), x, y, z);
+
@DomName('WebGLRenderingContext.uniform3fv')
@DocsEditable()
- void uniform3fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform3fv_Callback_2_(this, location, v);
-
+ void uniform3fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform3fv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniform3i')
@DocsEditable()
- void uniform3i(UniformLocation location, int x, int y, int z) => _blink.BlinkWebGLRenderingContext.instance.uniform3i_Callback_4_(this, location, x, y, z);
-
+ void uniform3i(UniformLocation location, int x, int y, int z) => _blink.BlinkWebGLRenderingContext.instance.uniform3i_Callback_4_(unwrap_jso(this), unwrap_jso(location), x, y, z);
+
@DomName('WebGLRenderingContext.uniform3iv')
@DocsEditable()
- void uniform3iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform3iv_Callback_2_(this, location, v);
-
+ void uniform3iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform3iv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniform4f')
@DocsEditable()
- void uniform4f(UniformLocation location, num x, num y, num z, num w) => _blink.BlinkWebGLRenderingContext.instance.uniform4f_Callback_5_(this, location, x, y, z, w);
-
+ void uniform4f(UniformLocation location, num x, num y, num z, num w) => _blink.BlinkWebGLRenderingContext.instance.uniform4f_Callback_5_(unwrap_jso(this), unwrap_jso(location), x, y, z, w);
+
@DomName('WebGLRenderingContext.uniform4fv')
@DocsEditable()
- void uniform4fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform4fv_Callback_2_(this, location, v);
-
+ void uniform4fv(UniformLocation location, Float32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform4fv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniform4i')
@DocsEditable()
- void uniform4i(UniformLocation location, int x, int y, int z, int w) => _blink.BlinkWebGLRenderingContext.instance.uniform4i_Callback_5_(this, location, x, y, z, w);
-
+ void uniform4i(UniformLocation location, int x, int y, int z, int w) => _blink.BlinkWebGLRenderingContext.instance.uniform4i_Callback_5_(unwrap_jso(this), unwrap_jso(location), x, y, z, w);
+
@DomName('WebGLRenderingContext.uniform4iv')
@DocsEditable()
- void uniform4iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform4iv_Callback_2_(this, location, v);
-
+ void uniform4iv(UniformLocation location, Int32List v) => _blink.BlinkWebGLRenderingContext.instance.uniform4iv_Callback_2_(unwrap_jso(this), unwrap_jso(location), v);
+
@DomName('WebGLRenderingContext.uniformMatrix2fv')
@DocsEditable()
- void uniformMatrix2fv(UniformLocation location, bool transpose, Float32List array) => _blink.BlinkWebGLRenderingContext.instance.uniformMatrix2fv_Callback_3_(this, location, transpose, array);
-
+ void uniformMatrix2fv(UniformLocation location, bool transpose, Float32List array) => _blink.BlinkWebGLRenderingContext.instance.uniformMatrix2fv_Callback_3_(unwrap_jso(this), unwrap_jso(location), transpose, array);
+
@DomName('WebGLRenderingContext.uniformMatrix3fv')
@DocsEditable()
- void uniformMatrix3fv(UniformLocation location, bool transpose, Float32List array) => _blink.BlinkWebGLRenderingContext.instance.uniformMatrix3fv_Callback_3_(this, location, transpose, array);
-
+ void uniformMatrix3fv(UniformLocation location, bool transpose, Float32List array) => _blink.BlinkWebGLRenderingContext.instance.uniformMatrix3fv_Callback_3_(unwrap_jso(this), unwrap_jso(location), transpose, array);
+
@DomName('WebGLRenderingContext.uniformMatrix4fv')
@DocsEditable()
- void uniformMatrix4fv(UniformLocation location, bool transpose, Float32List array) => _blink.BlinkWebGLRenderingContext.instance.uniformMatrix4fv_Callback_3_(this, location, transpose, array);
-
+ void uniformMatrix4fv(UniformLocation location, bool transpose, Float32List array) => _blink.BlinkWebGLRenderingContext.instance.uniformMatrix4fv_Callback_3_(unwrap_jso(this), unwrap_jso(location), transpose, array);
+
@DomName('WebGLRenderingContext.useProgram')
@DocsEditable()
- void useProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.useProgram_Callback_1_(this, program);
-
+ void useProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.useProgram_Callback_1_(unwrap_jso(this), unwrap_jso(program));
+
@DomName('WebGLRenderingContext.validateProgram')
@DocsEditable()
- void validateProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.validateProgram_Callback_1_(this, program);
-
+ void validateProgram(Program program) => _blink.BlinkWebGLRenderingContext.instance.validateProgram_Callback_1_(unwrap_jso(this), unwrap_jso(program));
+
@DomName('WebGLRenderingContext.vertexAttrib1f')
@DocsEditable()
- void vertexAttrib1f(int indx, num x) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib1f_Callback_2_(this, indx, x);
-
+ void vertexAttrib1f(int indx, num x) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib1f_Callback_2_(unwrap_jso(this), indx, x);
+
@DomName('WebGLRenderingContext.vertexAttrib1fv')
@DocsEditable()
- void vertexAttrib1fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib1fv_Callback_2_(this, indx, values);
-
+ void vertexAttrib1fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib1fv_Callback_2_(unwrap_jso(this), indx, values);
+
@DomName('WebGLRenderingContext.vertexAttrib2f')
@DocsEditable()
- void vertexAttrib2f(int indx, num x, num y) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib2f_Callback_3_(this, indx, x, y);
-
+ void vertexAttrib2f(int indx, num x, num y) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib2f_Callback_3_(unwrap_jso(this), indx, x, y);
+
@DomName('WebGLRenderingContext.vertexAttrib2fv')
@DocsEditable()
- void vertexAttrib2fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib2fv_Callback_2_(this, indx, values);
-
+ void vertexAttrib2fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib2fv_Callback_2_(unwrap_jso(this), indx, values);
+
@DomName('WebGLRenderingContext.vertexAttrib3f')
@DocsEditable()
- void vertexAttrib3f(int indx, num x, num y, num z) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib3f_Callback_4_(this, indx, x, y, z);
-
+ void vertexAttrib3f(int indx, num x, num y, num z) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib3f_Callback_4_(unwrap_jso(this), indx, x, y, z);
+
@DomName('WebGLRenderingContext.vertexAttrib3fv')
@DocsEditable()
- void vertexAttrib3fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib3fv_Callback_2_(this, indx, values);
-
+ void vertexAttrib3fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib3fv_Callback_2_(unwrap_jso(this), indx, values);
+
@DomName('WebGLRenderingContext.vertexAttrib4f')
@DocsEditable()
- void vertexAttrib4f(int indx, num x, num y, num z, num w) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib4f_Callback_5_(this, indx, x, y, z, w);
-
+ void vertexAttrib4f(int indx, num x, num y, num z, num w) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib4f_Callback_5_(unwrap_jso(this), indx, x, y, z, w);
+
@DomName('WebGLRenderingContext.vertexAttrib4fv')
@DocsEditable()
- void vertexAttrib4fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib4fv_Callback_2_(this, indx, values);
-
+ void vertexAttrib4fv(int indx, Float32List values) => _blink.BlinkWebGLRenderingContext.instance.vertexAttrib4fv_Callback_2_(unwrap_jso(this), indx, values);
+
@DomName('WebGLRenderingContext.vertexAttribPointer')
@DocsEditable()
- void vertexAttribPointer(int indx, int size, int type, bool normalized, int stride, int offset) => _blink.BlinkWebGLRenderingContext.instance.vertexAttribPointer_Callback_6_(this, indx, size, type, normalized, stride, offset);
-
+ void vertexAttribPointer(int indx, int size, int type, bool normalized, int stride, int offset) => _blink.BlinkWebGLRenderingContext.instance.vertexAttribPointer_Callback_6_(unwrap_jso(this), indx, size, type, normalized, stride, offset);
+
@DomName('WebGLRenderingContext.viewport')
@DocsEditable()
- void viewport(int x, int y, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.viewport_Callback_4_(this, x, y, width, height);
-
+ void viewport(int x, int y, int width, int height) => _blink.BlinkWebGLRenderingContext.instance.viewport_Callback_4_(unwrap_jso(this), x, y, width, height);
+
/**
* Sets the currently bound texture to [data].
@@ -3132,16 +3133,16 @@
@DomName('WebGLShaderPrecisionFormat.precision')
@DocsEditable()
- int get precision => _blink.BlinkWebGLShaderPrecisionFormat.instance.precision_Getter_(this);
-
+ int get precision => _blink.BlinkWebGLShaderPrecisionFormat.instance.precision_Getter_(unwrap_jso(this));
+
@DomName('WebGLShaderPrecisionFormat.rangeMax')
@DocsEditable()
- int get rangeMax => _blink.BlinkWebGLShaderPrecisionFormat.instance.rangeMax_Getter_(this);
-
+ int get rangeMax => _blink.BlinkWebGLShaderPrecisionFormat.instance.rangeMax_Getter_(unwrap_jso(this));
+
@DomName('WebGLShaderPrecisionFormat.rangeMin')
@DocsEditable()
- int get rangeMin => _blink.BlinkWebGLShaderPrecisionFormat.instance.rangeMin_Getter_(this);
-
+ int get rangeMin => _blink.BlinkWebGLShaderPrecisionFormat.instance.rangeMin_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
diff --git a/sdk/lib/web_sql/dartium/web_sql_dartium.dart b/sdk/lib/web_sql/dartium/web_sql_dartium.dart
index 380f393..540f88d 100644
--- a/sdk/lib/web_sql/dartium/web_sql_dartium.dart
+++ b/sdk/lib/web_sql/dartium/web_sql_dartium.dart
@@ -33,6 +33,7 @@
'SQLTransaction': () => SqlTransaction,
};
+
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
@@ -100,48 +101,48 @@
@DomName('Database.version')
@DocsEditable()
- String get version => _blink.BlinkDatabase.instance.version_Getter_(this);
-
+ String get version => _blink.BlinkDatabase.instance.version_Getter_(unwrap_jso(this));
+
void changeVersion(String oldVersion, String newVersion, [SqlTransactionCallback callback, SqlTransactionErrorCallback errorCallback, VoidCallback successCallback]) {
if (successCallback != null) {
- _blink.BlinkDatabase.instance.changeVersion_Callback_5_(this, oldVersion, newVersion, callback, errorCallback, successCallback);
+ _blink.BlinkDatabase.instance.changeVersion_Callback_5_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso(callback), unwrap_jso(errorCallback), unwrap_jso(successCallback));
return;
}
if (errorCallback != null) {
- _blink.BlinkDatabase.instance.changeVersion_Callback_4_(this, oldVersion, newVersion, callback, errorCallback);
+ _blink.BlinkDatabase.instance.changeVersion_Callback_4_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso(callback), unwrap_jso(errorCallback));
return;
}
if (callback != null) {
- _blink.BlinkDatabase.instance.changeVersion_Callback_3_(this, oldVersion, newVersion, callback);
+ _blink.BlinkDatabase.instance.changeVersion_Callback_3_(unwrap_jso(this), oldVersion, newVersion, unwrap_jso(callback));
return;
}
- _blink.BlinkDatabase.instance.changeVersion_Callback_2_(this, oldVersion, newVersion);
+ _blink.BlinkDatabase.instance.changeVersion_Callback_2_(unwrap_jso(this), oldVersion, newVersion);
return;
}
void readTransaction(SqlTransactionCallback callback, [SqlTransactionErrorCallback errorCallback, VoidCallback successCallback]) {
if (successCallback != null) {
- _blink.BlinkDatabase.instance.readTransaction_Callback_3_(this, callback, errorCallback, successCallback);
+ _blink.BlinkDatabase.instance.readTransaction_Callback_3_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback), unwrap_jso(successCallback));
return;
}
if (errorCallback != null) {
- _blink.BlinkDatabase.instance.readTransaction_Callback_2_(this, callback, errorCallback);
+ _blink.BlinkDatabase.instance.readTransaction_Callback_2_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkDatabase.instance.readTransaction_Callback_1_(this, callback);
+ _blink.BlinkDatabase.instance.readTransaction_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
return;
}
void transaction(SqlTransactionCallback callback, [SqlTransactionErrorCallback errorCallback, VoidCallback successCallback]) {
if (successCallback != null) {
- _blink.BlinkDatabase.instance.transaction_Callback_3_(this, callback, errorCallback, successCallback);
+ _blink.BlinkDatabase.instance.transaction_Callback_3_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback), unwrap_jso(successCallback));
return;
}
if (errorCallback != null) {
- _blink.BlinkDatabase.instance.transaction_Callback_2_(this, callback, errorCallback);
+ _blink.BlinkDatabase.instance.transaction_Callback_2_(unwrap_jso(this), unwrap_jso(callback), unwrap_jso(errorCallback));
return;
}
- _blink.BlinkDatabase.instance.transaction_Callback_1_(this, callback);
+ _blink.BlinkDatabase.instance.transaction_Callback_1_(unwrap_jso(this), unwrap_jso(callback));
return;
}
@@ -195,12 +196,12 @@
@DomName('SQLError.code')
@DocsEditable()
- int get code => _blink.BlinkSQLError.instance.code_Getter_(this);
-
+ int get code => _blink.BlinkSQLError.instance.code_Getter_(unwrap_jso(this));
+
@DomName('SQLError.message')
@DocsEditable()
- String get message => _blink.BlinkSQLError.instance.message_Getter_(this);
-
+ String get message => _blink.BlinkSQLError.instance.message_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -219,16 +220,16 @@
@DomName('SQLResultSet.insertId')
@DocsEditable()
- int get insertId => _blink.BlinkSQLResultSet.instance.insertId_Getter_(this);
-
+ int get insertId => _blink.BlinkSQLResultSet.instance.insertId_Getter_(unwrap_jso(this));
+
@DomName('SQLResultSet.rows')
@DocsEditable()
- SqlResultSetRowList get rows => _blink.BlinkSQLResultSet.instance.rows_Getter_(this);
-
+ SqlResultSetRowList get rows => wrap_jso(_blink.BlinkSQLResultSet.instance.rows_Getter_(unwrap_jso(this)));
+
@DomName('SQLResultSet.rowsAffected')
@DocsEditable()
- int get rowsAffected => _blink.BlinkSQLResultSet.instance.rowsAffected_Getter_(this);
-
+ int get rowsAffected => _blink.BlinkSQLResultSet.instance.rowsAffected_Getter_(unwrap_jso(this));
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -247,16 +248,16 @@
@DomName('SQLResultSetRowList.length')
@DocsEditable()
- int get length => _blink.BlinkSQLResultSetRowList.instance.length_Getter_(this);
-
+ int get length => _blink.BlinkSQLResultSetRowList.instance.length_Getter_(unwrap_jso(this));
+
Map operator[](int index) {
if (index < 0 || index >= length)
throw new RangeError.index(index, this);
- return _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(this, index);
+ return _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index);
}
- Map _nativeIndexedGetter(int index) => _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(this, index);
-
+ Map _nativeIndexedGetter(int index) => _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index);
+
void operator[]=(int index, Map value) {
throw new UnsupportedError("Cannot assign element of immutable List.");
}
@@ -297,8 +298,8 @@
@DomName('SQLResultSetRowList.item')
@DocsEditable()
- Map item(int index) => _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(this, index);
-
+ Map item(int index) => _blink.BlinkSQLResultSetRowList.instance.item_Callback_1_(unwrap_jso(this), index);
+
}
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
@@ -320,6 +321,6 @@
@DomName('SQLTransaction.executeSql')
@DocsEditable()
- void executeSql(String sqlStatement, List<Object> arguments, [SqlStatementCallback callback, SqlStatementErrorCallback errorCallback]) => _blink.BlinkSQLTransaction.instance.executeSql_Callback_4_(this, sqlStatement, arguments, callback, errorCallback);
-
+ void executeSql(String sqlStatement, List<Object> arguments, [SqlStatementCallback callback, SqlStatementErrorCallback errorCallback]) => _blink.BlinkSQLTransaction.instance.executeSql_Callback_4_(unwrap_jso(this), sqlStatement, arguments, unwrap_jso(callback), unwrap_jso(errorCallback));
+
}
diff --git a/site/try/src/compiler_isolate.dart b/site/try/src/compiler_isolate.dart
index b4e0cfc..810de41 100644
--- a/site/try/src/compiler_isolate.dart
+++ b/site/try/src/compiler_isolate.dart
@@ -13,6 +13,9 @@
import 'package:compiler/compiler.dart' as compiler;
+import 'package:compiler/src/old_to_new_api.dart' show
+ LegacyCompilerDiagnostics, LegacyCompilerInput;
+
import 'package:dart2js_incremental/dart2js_incremental.dart' show
reuseCompiler, OutputProvider;
@@ -112,8 +115,8 @@
Stopwatch compilationTimer = new Stopwatch()..start();
OutputProvider outputProvider = new OutputProvider();
reuseCompiler(
- diagnosticHandler: handler,
- inputProvider: inputProvider,
+ diagnosticHandler: new LegacyCompilerDiagnostics(handler),
+ inputProvider: new LegacyCompilerInput(inputProvider),
outputProvider: outputProvider,
options: options,
cachedCompiler: cachedCompiler,
diff --git a/tests/co19/co19-analyzer2.status b/tests/co19/co19-analyzer2.status
index 42ad5a8..6790464 100644
--- a/tests/co19/co19-analyzer2.status
+++ b/tests/co19/co19-analyzer2.status
@@ -289,3 +289,4 @@
Language/15_Types/4_Interface_Types_A10_t09: StaticWarning # co19 issue 745
Language/13_Statements/15_Assert_A04_t07: StaticWarning # Issue 23663
Language/13_Statements/15_Assert_A03_t08: StaticWarning # Issue 23663
+
diff --git a/tests/co19/co19-dart2js.status b/tests/co19/co19-dart2js.status
index 922066a..59d8942c 100644
--- a/tests/co19/co19-dart2js.status
+++ b/tests/co19/co19-dart2js.status
@@ -236,6 +236,7 @@
WebPlatformTest/dom/nodes/Document-createElement_t01: CompileTimeError # co19-roll r722: Please triage this failure.
WebPlatformTest/dom/nodes/Element-childElementCount-nochild_t01: CompileTimeError # co19-roll r722: Please triage this failure.
LayoutTests/fast/loader/loadInProgress_t01: Skip # Issue 23466
+LayoutTests/fast/dom/css-innerHTML_t01: SkipByDesign # Test is incorrect.
[ $compiler == dart2js && $checked ]
Language/13_Statements/09_Switch_A05_t01: Fail # Missing type check in switch expression
@@ -1265,9 +1266,7 @@
WebPlatformTest/html-imports/loading-import_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/innerhtml-on-templates/innerhtml_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
@@ -2165,7 +2164,6 @@
LayoutTests/fast/dom/client-width-height-quirks_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/containerNode_t01: Skip # Times out. Please triage this failure
LayoutTests/fast/dom/css-delete-doc_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/dom/css-innerHTML_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-mediarule-functions_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-rule-functions_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-selectorText_t01: RuntimeError # Please triage this failure
@@ -2903,7 +2901,7 @@
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/node-document-changes_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01 : RuntimeError # In Firefox, setting innerHTML on a Frameset element does nothing.
WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: RuntimeError # Please triage this failure
@@ -3989,7 +3987,6 @@
LayoutTests/fast/writing-mode/table-hit-test_t01: RuntimeError # Please triage this failure
LayoutTests/fast/writing-mode/vertical-font-vmtx-units-per-em_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xmlhttprequest/xmlhttprequest-get_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-arraybuffer_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request_t01: RuntimeError # Please triage this failure
@@ -4185,10 +4182,8 @@
WebPlatformTest/html-templates/definitions/template-contents-owner-test-001_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/innerhtml-on-templates/innerhtml_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/node-document-changes_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-video_t01: Skip # Times out. Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-text/load-text-plain_t01: RuntimeError # Please triage this failure
@@ -5500,7 +5495,6 @@
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/ignore-html-token_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-body-insertion-mode/start-tag-body_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-table-insertion-mode/end-tag-table_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/appending-to-a-template/template-child-nodes_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/parsing-html-templates/clearing-the-stack-back-to-a-given-context/clearing-stack-back-to-a-table-body-context_t01: RuntimeError # Please triage this failure
@@ -5510,7 +5504,7 @@
WebPlatformTest/html-templates/serializing-html-templates/outerhtml_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/content-attribute_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/node-document-changes_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01 : RuntimeError # In Safari mobile sim, setting innerHTML on a Frameset element does nothing.
WebPlatformTest/html-templates/template-element/template-content-node-document_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: RuntimeError # Please triage this failure
@@ -6445,7 +6439,6 @@
LayoutTests/fast/dom/createElementNS-namespace-errors_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/createElement_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-delete-doc_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/dom/css-innerHTML_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-insert-import-rule-twice_t01: Pass, RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-insert-import-rule_t01: Pass, RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-mediarule-functions_t01: RuntimeError # Please triage this failure
@@ -7518,7 +7511,7 @@
WebPlatformTest/html-templates/serializing-html-templates/outerhtml_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/content-attribute_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/node-document-changes_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01 : RuntimeError # In IE, setting innerHTML on a Frameset element does nothing.
WebPlatformTest/html-templates/template-element/template-content-node-document_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: Skip # Times out. Please triage this failure
@@ -8440,7 +8433,6 @@
LayoutTests/fast/dom/createElementNS-namespace-errors_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/createElement_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-delete-doc_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/dom/css-innerHTML_t01: RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-insert-import-rule-twice_t01: Pass, RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-insert-import-rule_t01: Pass, RuntimeError # Please triage this failure
LayoutTests/fast/dom/css-mediarule-functions_t01: RuntimeError # Please triage this failure
@@ -9079,7 +9071,6 @@
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-before-open_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xmlhttprequest/xmlhttprequest-set-responsetype_t01: RuntimeError # Please triage this failure
-LayoutTests/fast/xmlhttprequest/xmlhttprequest-withcredentials-before-open_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xpath/4XPath/Borrowed/cz_20030217_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xpath/4XPath/Borrowed/kd_20010423_t01: RuntimeError # Please triage this failure
LayoutTests/fast/xpath/4XPath/Borrowed/namespace-nodes_t01: RuntimeError # Please triage this failure
@@ -9283,8 +9274,7 @@
LibTest/html/Window/resizeBy_A01_t01: RuntimeError # Please triage this failure
LibTest/html/Window/resizeTo_A01_t01: RuntimeError # Please triage this failure
LibTest/math/sqrt_A02_t02: Skip # Times out. Please triage this failure
-LibTest/typed_data/ByteData/ByteData.view_A01_t01: RuntimeError # Please triage this failure
-LibTest/typed_data/ByteData/offsetInBytes_A01_t01: RuntimeError # Please triage this failure
+LibTest/typed_data/ByteData/ByteData.view_A01_t01: Pass, RuntimeError # Please triage this failure
LibTest/typed_data/Float32List/removeWhere_A01_t01: Skip # Times out. Please triage this failure
LibTest/typed_data/Float32x4List/Float32x4List.view_A06_t01: RuntimeError # Please triage this failure
LibTest/typed_data/Int32List/lastWhere_A01_t01: Skip # Times out. Please triage this failure
@@ -9387,7 +9377,7 @@
WebPlatformTest/html-templates/serializing-html-templates/outerhtml_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/content-attribute_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/node-document-changes_t01: RuntimeError # Please triage this failure
-WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01: RuntimeError # Please triage this failure
+WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01 : RuntimeError # In IE, setting innerHTML on a Frameset element does nothing.
WebPlatformTest/html-templates/template-element/template-content-node-document_t01: RuntimeError # Please triage this failure
WebPlatformTest/html-templates/template-element/template-content_t01: RuntimeError # Please triage this failure
WebPlatformTest/html/browsers/browsing-the-web/read-media/pageload-image_t01: Skip # Times out. Please triage this failure
@@ -9604,299 +9594,13 @@
Language/12_Expressions/13_Property_Extraction_A03_t01: RuntimeError # Cannot read property 'call' of undefined
Language/12_Expressions/13_Property_Extraction_A03_t02: RuntimeError # Cannot read property 'call' of undefined
Language/12_Expressions/13_Property_Extraction_A03_t03: RuntimeError # Cannot read property 'call' of undefined
-Language/12_Expressions/13_Spawning_an_Isolate_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
Language/12_Expressions/15_Method_Invocation/4_Super_Invocation_A01_t01: RuntimeError # Cannot read property 'call' of undefined
Language/12_Expressions/30_Identifier_Reference_A09_t03: Crash # (i=0): For-loop variable captured in loop header
Language/13_Statements/06_For_A01_t07: Crash # unsupported operation on erroneous element
Language/13_Statements/12_Labels_A03_t04: Crash # (switch (i){L:case 0:flag=true;break;case 2:continue L;}): continue to a labeled switch case
Language/13_Statements/14_Continue_A02_t12: Crash # (switch (2){L:case 1:flag=true;break;case 2:continue L;}): continue to a labeled switch case
Language/13_Statements/14_Continue_A02_t13: Crash # (switch (2){case 2:continue L;L:case 1:flag=true;}): continue to a labeled switch case
-Language/14_Libraries_and_Scripts/13_Libraries_and_Scripts_A05_t04: Crash # The null object does not have a getter 'name'.
-Language/14_Libraries_and_Scripts/4_Scripts_A03_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LayoutTests/fast/canvas/webgl/framebuffer-object-attachment_t01: Crash # The null object does not have a getter 'name'.
-LayoutTests/fast/canvas/webgl/webgl-specific_t01: Crash # The null object does not have a getter 'name'.
-LibTest/async/Completer/Completer.sync_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/completeError_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/completeError_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/completeError_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/completeError_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/completeError_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/completeError_A03_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A01_t05: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A01_t06: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/complete_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Completer/isCompleted_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/DeferredLibrary/DeferredLibrary_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.delayed_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.delayed_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.delayed_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.error_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.microtask_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.microtask_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.microtask_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.microtask_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.sync_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.sync_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.sync_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.sync_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.value_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future.value_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/Future_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/asStream_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/asStream_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/asStream_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/asStream_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A03_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A03_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A03_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/catchError_A03_t05: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/forEach_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/forEach_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/forEach_A03_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A03_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A05_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A05_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/then_A05_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A01_t03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A01_t04: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A01_t05: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A01_t06: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A01_t07: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/wait_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/whenComplete_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/whenComplete_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/whenComplete_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/whenComplete_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Future/whenComplete_A04_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.eventTransformed_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.eventTransformed_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.fromFuture_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.fromFuture_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.fromFuture_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.fromIterable_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.fromIterable_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.fromIterable_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.periodic_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.periodic_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream.periodic_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/Stream_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/any_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/any_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/any_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A03_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A03_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A04_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/asBroadcastStream_A04_t03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/contains_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/contains_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/contains_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/distinct_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/distinct_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/drain_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/drain_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/drain_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/elementAt_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/elementAt_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/elementAt_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/elementAt_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/every_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/every_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/expand_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/firstWhere_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/firstWhere_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/firstWhere_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/firstWhere_A03_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/first_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/first_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/first_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/first_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/fold_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/fold_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/forEach_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/forEach_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/forEach_A02_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/handleError_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/handleError_A02_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/handleError_A03_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/handleError_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/handleError_A04_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/handleError_A04_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/isBroadcast_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/isBroadcast_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/isEmpty_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/join_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/join_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/join_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/join_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/lastWhere_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/lastWhere_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/lastWhere_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/lastWhere_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/last_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/last_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/last_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/length_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A03_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A05_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A05_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A05_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/listen_A06_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/map_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/pipe_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/reduce_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/reduce_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/reduce_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/singleWhere_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/singleWhere_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/single_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/single_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/skipWhile_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/skip_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/takeWhile_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/take_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/take_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/take_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/toList_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/toSet_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/transform_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/transform_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Stream/where_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Stream/where_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A05_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A06_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A07_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A07_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController.broadcast_A08_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController_A03_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController_A05_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController_A06_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/StreamController_A06_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/addError_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/addError_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/addStream_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/addStream_A02_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/addStream_A02_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/addStream_A03_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/addStream_A03_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamController/add_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/close_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/close_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/done_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/done_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/done_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/hasListener_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/hasListener_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/isClosed_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/isClosed_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/isPaused_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/isPaused_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/isPaused_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/sink_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamController/stream_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamIterator/StreamIterator_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamIterator/cancel_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamIterator/current_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamIterator/moveNext_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamIterator/moveNext_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/addError_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/addStream_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/addStream_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/addStream_A01_t03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/addStream_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/addStream_A01_t05: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/add_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/close_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamSink/done_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer.fromHandlers_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer.fromHandlers_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer.fromHandlers_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer.fromHandlers_A01_t04: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer_A02_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/StreamTransformer_A03_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/StreamTransformer/bind_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Timer/Timer.periodic_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/Timer.periodic_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/Timer_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/Timer_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/cancel_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/isActive_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/isActive_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/run_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Timer/run_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/bindBinaryCallback_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/bindBinaryCallback_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/bindCallback_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/bindCallback_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/bindUnaryCallback_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/bindUnaryCallback_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/createPeriodicTimer_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/createTimer_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/current_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/current_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/fork_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/handleUncaughtError_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/handleUncaughtError_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/handleUncaughtError_A01_t03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Zone/handleUncaughtError_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/inSameErrorZone_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/inSameErrorZone_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/inSameErrorZone_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/inSameErrorZone_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/inSameErrorZone_A01_t05: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/operator_subscript_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/async/Zone/parent_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/registerBinaryCallback_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/registerCallback_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/registerUnaryCallback_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/runBinaryGuarded_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/runBinary_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/runGuarded_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/runUnaryGuarded_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/runUnary_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/run_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/scheduleMicrotask_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/async/Zone/scheduleMicrotask_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
+LibTest/async/DeferredLibrary/DeferredLibrary_A01_t01: Crash # (lazy.method()): deferred access is not implemented
LibTest/collection/ListBase/ListBase_class_A01_t02: Crash # Stack Overflow
LibTest/collection/ListMixin/ListMixin_class_A01_t02: Crash # Stack Overflow
LibTest/core/Invocation/isAccessor_A01_t01: Crash # Class 'PartialMethodElement' has no instance getter 'initializer'.
@@ -9909,108 +9613,10 @@
LibTest/core/Invocation/namedArguments_A01_t01: RuntimeError # Please triage this failure.
LibTest/core/Invocation/positionalArguments_A01_t01: RuntimeError # Please triage this failure.
LibTest/core/List/List_class_A01_t02: Crash # Stack Overflow
-LibTest/core/Stopwatch/elapsedInMs_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/elapsedInUs_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/elapsedTicks_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/elapsedTicks_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/elapsedTicks_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/elapsed_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/elapsed_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/elapsed_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/start_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/start_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/start_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/core/Stopwatch/stop_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
LibTest/core/Symbol/Symbol_A01_t03: RuntimeError # Please triage this failure.
LibTest/core/Symbol/Symbol_A01_t05: RuntimeError # Please triage this failure.
LibTest/core/double/INFINITY_A01_t04: Pass # Please triage this failure.
LibTest/core/double/NEGATIVE_INFINITY_A01_t04: Pass # Please triage this failure.
-LibTest/isolate/Isolate/spawnUri_A02_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawnUri_A02_t03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawnUri_A02_t04: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawn_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawn_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawn_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawn_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawn_A01_t05: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/Isolate/spawn_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/RawReceivePort/RawReceivePort_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/RawReceivePort/RawReceivePort_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/RawReceivePort/close_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/RawReceivePort/handler_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/RawReceivePort/sendPort_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/ReceivePort.fromRawReceivePort_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/ReceivePort.fromRawReceivePort_A02_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/ReceivePort_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/any_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/any_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A01_t04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A03_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A03_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A04_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/asBroadcastStream_A04_t03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/close_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/close_A02_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/contains_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/distinct_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/distinct_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/drain_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/drain_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/elementAt_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/elementAt_A03_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/every_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/expand_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/firstWhere_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/firstWhere_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/firstWhere_A03_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/first_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/first_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/first_A02_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/fold_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/fold_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/forEach_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/isBroadcast_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/isBroadcast_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/isEmpty_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/join_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/join_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/lastWhere_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/lastWhere_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/lastWhere_A04_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/last_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/last_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/length_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/listen_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/map_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/pipe_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/reduce_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/reduce_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/reduce_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/singleWhere_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/singleWhere_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/single_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/single_A02_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/skipWhile_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/skip_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/takeWhile_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/take_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/take_A01_t02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/take_A01_t03: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/toList_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/toSet_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/transform_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/transform_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/where_A01_t01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-LibTest/isolate/ReceivePort/where_A01_t02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/SendPort/hashCode_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/SendPort/operator_equality_A01_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/SendPort/send_A01_t04: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-LibTest/isolate/SendPort/send_A02_t01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
LibTest/typed_data/Float32List/setAll_A01_t01: RuntimeError # this.get$length is not a function
LibTest/typed_data/Float32List/setRange_A01_t01: RuntimeError # this.get$length is not a function
LibTest/typed_data/Float32List/setRange_A02_t01: RuntimeError # this.get$length is not a function
diff --git a/tests/co19/co19-dartium.status b/tests/co19/co19-dartium.status
index f1db90b..26e1d15 100644
--- a/tests/co19/co19-dartium.status
+++ b/tests/co19/co19-dartium.status
@@ -281,9 +281,7 @@
WebPlatformTest/custom-elements/concepts/type_A06_t01: RuntimeError # co19-roll r722: Please triage this failure.
WebPlatformTest/html-templates/innerhtml-on-templates/innerhtml_t01: RuntimeError # co19-roll r722: Please triage this failure.
WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/generating-of-implied-end-tags_t01: RuntimeError # co19-roll r722: Please triage this failure.
-WebPlatformTest/html-templates/parsing-html-templates/additions-to-the-in-head-insertion-mode/template-end-tag-without-start-one_t01: RuntimeError # co19-roll r722: Please triage this failure.
WebPlatformTest/html-templates/parsing-html-templates/creating-an-element-for-the-token/template-owner-document_t01: RuntimeError # co19-roll r722: Please triage this failure.
-WebPlatformTest/html-templates/template-element/template-as-a-descendant_t01: RuntimeError # co19-roll r722: Please triage this failure.
WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-001_t01: RuntimeError # co19-roll r722: Please triage this failure.
WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t01: RuntimeError # co19-roll r722: Please triage this failure.
WebPlatformTest/shadow-dom/elements-and-dom-objects/extensions-to-element-interface/attributes/test-004_t02: RuntimeError # co19-roll r722: Please triage this failure.
@@ -376,6 +374,8 @@
WebPlatformTest/shadow-dom/events/retargeting-relatedtarget/test-002_t01: RuntimeError # Please triage this failure.
WebPlatformTest/shadow-dom/shadow-trees/upper-boundary-encapsulation/test-009_t01: RuntimeError # Please triage this failure.
+LayoutTests/fast/dom/css-innerHTML_t01: RuntimeError # Test is incorrect.
+
# co19-roll r738.
WebPlatformTest/DOMEvents/approved/ProcessingInstruction.DOMCharacterDataModified_t01: Skip # Times out. co19-roll r738: Please triage this failure.
WebPlatformTest/html/semantics/embedded-content/media-elements/error-codes/error_t01: Skip # Times out and fails. # co19-roll r738: Please triage this failure.
diff --git a/tests/co19/co19-runtime.status b/tests/co19/co19-runtime.status
index f29cfd3..b5c5bc4c 100644
--- a/tests/co19/co19-runtime.status
+++ b/tests/co19/co19-runtime.status
@@ -5,7 +5,6 @@
[ $compiler == none && ($runtime == vm || $runtime == dartium || $runtime == ContentShellOnAndroid) ]
-LibTest/core/Invocation/namedArguments_A01_t01: RuntimeError # Issue 13714
LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t01: Fail # Issue 22200
LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t05: Fail # Issue 22200
LibTest/core/RegExp/Pattern_semantics/firstMatch_NonEmptyClassRanges_A01_t06: Fail # Issue 22200
diff --git a/tests/compiler/dart2js/analyze_helper.dart b/tests/compiler/dart2js/analyze_helper.dart
index b901595..7636eb2 100644
--- a/tests/compiler/dart2js/analyze_helper.dart
+++ b/tests/compiler/dart2js/analyze_helper.dart
@@ -95,8 +95,9 @@
return false;
}
- void diagnosticHandler(Uri uri, int begin, int end, String message,
- api.Diagnostic kind) {
+ @override
+ void report(Uri uri, int begin, int end, String message,
+ api.Diagnostic kind) {
if (kind == api.Diagnostic.WARNING) {
if (checkWhiteList(uri, message)) {
// Suppress whitelisted warnings.
@@ -125,7 +126,7 @@
return;
}
lastWasWhitelisted = false;
- super.diagnosticHandler(uri, begin, end, message, kind);
+ super.report(uri, begin, end, message, kind);
}
}
@@ -158,10 +159,11 @@
'--show-package-warnings'];
if (analyzeAll) options.add('--analyze-all');
var compiler = new Compiler(
- provider.readStringFromUri,
+ provider,
null,
- handler.diagnosticHandler,
- libraryRoot, packageRoot,
+ handler,
+ libraryRoot,
+ packageRoot,
options,
{});
String MESSAGE = """
diff --git a/tests/compiler/dart2js/async_await_js_transform_test.dart b/tests/compiler/dart2js/async_await_js_transform_test.dart
index 0cce49c..863f1c8 100644
--- a/tests/compiler/dart2js/async_await_js_transform_test.dart
+++ b/tests/compiler/dart2js/async_await_js_transform_test.dart
@@ -9,15 +9,9 @@
import "backend_dart/dart_printer_test.dart" show PrintDiagnosticListener;
-void testTransform(String source, String expected) {
+void testTransform(String source, String expected, AsyncRewriterBase rewriter) {
Fun fun = js(source);
- Fun rewritten = new AsyncRewriter(
- null, // The diagnostic helper should not be used in these tests.
- null,
- asyncHelper: new VariableUse("thenHelper"),
- newCompleter: new VariableUse("Completer"),
- safeVariableName: (String name) => "__$name",
- bodyName: new StringBackedName("body")).rewrite(fun);
+ Fun rewritten = rewriter.rewrite(fun);
JavaScriptPrintingOptions options = new JavaScriptPrintingOptions();
SimpleJavaScriptPrintingContext context =
@@ -27,8 +21,30 @@
Expect.stringEquals(expected, context.getText());
}
+void testAsyncTransform(String source, String expected) {
+ testTransform(source, expected, new AsyncRewriter(
+ null, // The diagnostic helper should not be used in these tests.
+ null,
+ asyncHelper: new VariableUse("thenHelper"),
+ newCompleter: new VariableUse("Completer"),
+ safeVariableName: (String name) => "__$name",
+ bodyName: new StringBackedName("body")));
+}
+
+void testSyncStarTransform(String source, String expected) {
+ testTransform(source, expected, new SyncStarRewriter(
+ null,
+ null,
+ endOfIteration: new VariableUse("endOfIteration"),
+ newIterable: new VariableUse("newIterable"),
+ yieldStarExpression: new VariableUse("yieldStar"),
+ uncaughtErrorExpression: new VariableUse("uncaughtError"),
+ safeVariableName: (String name) => "__$name",
+ bodyName: new StringBackedName("body")));
+}
+
main() {
- testTransform("""
+ testAsyncTransform("""
function(a) async {
print(this.x); // Ensure `this` is translated in the helper function.
await foo();
@@ -59,7 +75,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(b) async {
try {
__outer: while (true) { // Overlapping label name.
@@ -183,7 +199,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(c) async {
var a, b, c, d, e, f;
a = b++; // post- and preincrements.
@@ -238,7 +254,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(d2) async {
var a, b, c, d, e, f, g, h; // empty initializer
a = foo1() || await foo2(); // short circuiting operators
@@ -371,7 +387,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(x, y) async {
while (true) {
switch(y) { // Switch with no awaits in case key expressions
@@ -465,7 +481,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(f) async {
do {
var a = await foo();
@@ -526,7 +542,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(g) async {
for (var i = 0; i < await foo1(); i += await foo2()) {
if (foo(i))
@@ -616,7 +632,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(a, h) async {
var x = {"a": foo1(), "b": await foo2(), "c": foo3()};
x["a"] = 2; // Different assignments
@@ -691,7 +707,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(c, i) async {
try {
var x = c ? await foo() : foo(); // conditional
@@ -808,7 +824,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(x, y, j) async {
print(await(foo(x))); // calls
(await print)(foo(x));
@@ -874,7 +890,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(x, y, k) async {
while (await(foo())) {
lab: { // labelled statement
@@ -1013,7 +1029,8 @@
}
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+
+ testAsyncTransform("""
function(l) async {
switch(await l) {
case 1:
@@ -1062,7 +1079,7 @@
return thenHelper(null, body, __completer, null);
}""");
- testTransform("""
+ testAsyncTransform("""
function(m) async {
var exception = 1;
try {
@@ -1140,4 +1157,38 @@
}
return thenHelper(null, body, __completer, null);
}""");
+
+ testSyncStarTransform("""
+function(a) sync* {
+ // Ensure that return of a value is treated as first evaluating the value, and
+ // then returning.
+ return foo();
+}""", """
+function(__a) {
+ return new newIterable(function() {
+ var a = __a;
+ var __goto = 0, __handler = 2, __currentError;
+ return function body(__errorCode, __result) {
+ if (__errorCode === 1) {
+ __currentError = __result;
+ __goto = __handler;
+ }
+ while (true)
+ switch (__goto) {
+ case 0:
+ // Function start
+ foo();
+ // goto return
+ __goto = 1;
+ break;
+ case 1:
+ // return
+ return endOfIteration();
+ case 2:
+ // rethrow
+ return uncaughtError(__currentError);
+ }
+ };
+ });
+}""");
}
diff --git a/tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart b/tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart
index 8b7b7cd..df70baf 100644
--- a/tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart
+++ b/tests/compiler/dart2js/backend_dart/sexpr_unstringifier.dart
@@ -134,25 +134,27 @@
static const String LET_PRIM = "LetPrim";
static const String LET_CONT = "LetCont";
static const String LET_MUTABLE = "LetMutable";
- static const String SET_MUTABLE_VARIABLE = "SetMutableVariable";
static const String TYPE_CAST = "TypeCast";
- static const String SET_STATIC = "SetStatic";
static const String GET_LAZY_STATIC = "GetLazyStatic";
static const String UNREACHABLE = "Unreachable";
// Primitives
static const String CONSTANT = "Constant";
static const String CREATE_FUNCTION = "CreateFunction";
- static const String GET_MUTABLE_VARIABLE = "GetMutableVariable";
+ static const String GET_MUTABLE = "GetMutable";
+ static const String SET_MUTABLE = "SetMutable";
static const String LITERAL_LIST = "LiteralList";
static const String LITERAL_MAP = "LiteralMap";
static const String REIFY_TYPE_VAR = "ReifyTypeVar";
static const String GET_STATIC = "GetStatic";
+ static const String SET_STATIC = "SetStatic";
static const String TYPE_TEST = "TypeTest";
static const String APPLY_BUILTIN_OPERATOR = "ApplyBuiltinOperator";
static const String GET_LENGTH = "GetLength";
static const String GET_INDEX = "GetIndex";
static const String SET_INDEX = "SetIndex";
+ static const String GET_FIELD = "GetField";
+ static const String SET_FIELD = "SetField";
// Other
static const String FUNCTION_DEFINITION = "FunctionDefinition";
@@ -251,12 +253,8 @@
return parseLetCont();
case LET_MUTABLE:
return parseLetMutable();
- case SET_MUTABLE_VARIABLE:
- return parseSetMutableVariable();
case TYPE_CAST:
return parseTypeCast();
- case SET_STATIC:
- return parseSetStatic();
case GET_LAZY_STATIC:
return parseGetLazyStatic();
case UNREACHABLE:
@@ -546,19 +544,16 @@
return new LetMutable(local, value)..plug(body);
}
- /// (SetMutableVariable name value body)
- SetMutableVariable parseSetMutableVariable() {
- tokens.consumeStart(SET_MUTABLE_VARIABLE);
+ /// (SetMutable name value)
+ SetMutable parseSetMutable() {
+ tokens.consumeStart(SET_MUTABLE);
MutableVariable local = name2variable[tokens.read()];
Primitive value = name2variable[tokens.read()];
assert(value != null);
- Expression body = parseExpression();
-
tokens.consumeEnd();
- return new SetMutableVariable(local, value)
- ..plug(body);
+ return new SetMutable(local, value);
}
/// (TypeCast value type args cont)
@@ -640,17 +635,16 @@
return new SetIndex(object, index, value);
}
- /// (SetStatic field value body)
+ /// (SetStatic field value)
SetStatic parseSetStatic() {
tokens.consumeStart(SET_STATIC);
Element fieldElement = new DummyElement(tokens.read());
Primitive value = name2variable[tokens.read()];
assert(value != null);
- Expression body = parseExpression();
tokens.consumeEnd();
- return new SetStatic(fieldElement, value, null)..plug(body);
+ return new SetStatic(fieldElement, value, null);
}
/// (GetLazyStatic field cont)
@@ -700,8 +694,10 @@
return parseConstant();
case CREATE_FUNCTION:
return parseCreateFunction();
- case GET_MUTABLE_VARIABLE:
- return parseGetMutableVariable();
+ case GET_MUTABLE:
+ return parseGetMutable();
+ case SET_MUTABLE:
+ return parseSetMutable();
case LITERAL_LIST:
return parseLiteralList();
case LITERAL_MAP:
@@ -710,6 +706,8 @@
return parseReifyTypeVar();
case GET_STATIC:
return parseGetStatic();
+ case SET_STATIC:
+ return parseSetStatic();
case TYPE_TEST:
return parseTypeTest();
case APPLY_BUILTIN_OPERATOR:
@@ -720,6 +718,10 @@
return parseGetIndex();
case SET_INDEX:
return parseSetIndex();
+ case GET_FIELD:
+ return parseGetField();
+ case SET_FIELD:
+ return parseSetField();
default:
assert(false);
}
@@ -803,13 +805,13 @@
return variable;
}
- /// (GetMutableVariable name)
- GetMutableVariable parseGetMutableVariable() {
- tokens.consumeStart(GET_MUTABLE_VARIABLE);
+ /// (GetMutable name)
+ GetMutable parseGetMutable() {
+ tokens.consumeStart(GET_MUTABLE);
MutableVariable local = name2variable[tokens.read()];
tokens.consumeEnd();
- return new GetMutableVariable(local);
+ return new GetMutable(local);
}
/// (LiteralList (values))
@@ -855,4 +857,27 @@
tokens.consumeEnd();
return new GetStatic(field, null);
}
+
+ /// (GetField object field)
+ GetField parseGetField() {
+ tokens.consumeStart(GET_FIELD);
+
+ Primitive object = name2variable[tokens.read()];
+ Element field = new DummyElement(tokens.read());
+
+ tokens.consumeEnd();
+ return new GetField(object, field);
+ }
+
+ /// (SetField object field value)
+ SetField parseSetField() {
+ tokens.consumeStart(SET_FIELD);
+
+ Primitive object = name2variable[tokens.read()];
+ Element field = new DummyElement(tokens.read());
+ Primitive value = name2variable[tokens.read()];
+
+ tokens.consumeEnd();
+ return new SetField(object, field, value);
+ }
}
diff --git a/tests/compiler/dart2js/bad_loop_test.dart b/tests/compiler/dart2js/bad_loop_test.dart
index fd9291b7..82d8607 100644
--- a/tests/compiler/dart2js/bad_loop_test.dart
+++ b/tests/compiler/dart2js/bad_loop_test.dart
@@ -8,6 +8,7 @@
import 'package:compiler/compiler.dart'
show Diagnostic;
+import 'package:compiler/src/old_to_new_api.dart';
main() {
Uri script = currentDirectory.resolveUri(Platform.script);
@@ -31,13 +32,14 @@
}
}
- Compiler compiler = new Compiler(provider.readStringFromUri,
- (name, extension) => null,
- diagnosticHandler,
- libraryRoot,
- packageRoot,
- ['--analyze-only'],
- {});
+ Compiler compiler = new Compiler(
+ new LegacyCompilerInput(provider.readStringFromUri),
+ new LegacyCompilerOutput(),
+ new LegacyCompilerDiagnostics(diagnosticHandler),
+ libraryRoot,
+ packageRoot,
+ ['--analyze-only'],
+ {});
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
Expect.isTrue(compiler.compilationFailed);
Expect.equals(5, errorCount);
diff --git a/tests/compiler/dart2js/bad_output_io_test.dart b/tests/compiler/dart2js/bad_output_io_test.dart
index d2429f0..ad2b0b9 100644
--- a/tests/compiler/dart2js/bad_output_io_test.dart
+++ b/tests/compiler/dart2js/bad_output_io_test.dart
@@ -37,12 +37,14 @@
messages.add([message, kind]);
}
- void diagnosticHandler(Uri uri, int begin, int end, String message, kind) {
+ @override
+ void report(Uri uri, int begin, int end, String message, kind) {
messages.add([message, kind]);
}
+ @override
void call(Uri uri, int begin, int end, String message, kind) {
- diagnosticHandler(uri, begin, end, message, kind);
+ report(uri, begin, end, message, kind);
}
String prefixMessage(String message, Diagnostic kind) {
diff --git a/tests/compiler/dart2js/codegen_helper.dart b/tests/compiler/dart2js/codegen_helper.dart
index 52f4312..1512442 100644
--- a/tests/compiler/dart2js/codegen_helper.dart
+++ b/tests/compiler/dart2js/codegen_helper.dart
@@ -4,7 +4,7 @@
import 'dart:async';
import 'package:expect/expect.dart';
-
+import 'package:compiler/src/null_compiler_output.dart';
import 'memory_source_file_helper.dart';
Future<Map<String, String>> generate(String code,
@@ -16,9 +16,9 @@
var provider = new MemorySourceFileProvider({ 'main.dart': code });
var handler = new FormattingDiagnosticHandler(provider);
- Compiler compiler = new Compiler(provider.readStringFromUri,
- null,
- handler.diagnosticHandler,
+ Compiler compiler = new Compiler(provider,
+ const NullCompilerOutput(),
+ handler,
libraryRoot,
packageRoot,
options,
diff --git a/tests/compiler/dart2js/deferred_custom_element_test.dart b/tests/compiler/dart2js/deferred_custom_element_test.dart
index 9cbf87f..1fa5d12 100644
--- a/tests/compiler/dart2js/deferred_custom_element_test.dart
+++ b/tests/compiler/dart2js/deferred_custom_element_test.dart
@@ -6,32 +6,13 @@
// to determine which elements can be deferred and which libraries
// much be included in the initial download (loaded eagerly).
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-import "dart:async";
-
-class FakeOutputStream<T> extends EventSink<T> {
- void add(T event) {}
- void addError(T event, [StackTrace stackTrace]) {}
- void close() {}
-}
+import 'memory_compiler.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- (name, extension) => new FakeOutputStream(),
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ Compiler compiler = compilerFor(MEMORY_SOURCE_FILES);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement;
var mainOutputUnit = compiler.deferredLoadTask.mainOutputUnit;
diff --git a/tests/compiler/dart2js/deferred_dont_inline_deferred_constants_test.dart b/tests/compiler/dart2js/deferred_dont_inline_deferred_constants_test.dart
index e0f93e5..0cbcc0b 100644
--- a/tests/compiler/dart2js/deferred_dont_inline_deferred_constants_test.dart
+++ b/tests/compiler/dart2js/deferred_dont_inline_deferred_constants_test.dart
@@ -5,57 +5,23 @@
// Test that the additional runtime type support is output to the right
// Files when using deferred loading.
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-import "dart:async";
-
-import 'package:compiler/src/dart2jslib.dart'
- as dart2js;
-
-class MemoryOutputSink extends EventSink<String> {
- StringBuffer mem = new StringBuffer();
- void add(String event) {
- mem.write(event);
- }
- void addError(String event, [StackTrace stackTrace]) {
- Expect.isTrue(false);
- }
- void close() {}
-}
+import 'memory_compiler.dart';
+import 'output_collector.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Map<String, MemoryOutputSink> outputs = new Map<String, MemoryOutputSink>();
-
- MemoryOutputSink outputSaver(name, extension) {
- if (name == '') {
- name = 'main';
- }
- return outputs.putIfAbsent("$name.$extension", () {
- return new MemoryOutputSink();
- });
- }
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- outputSaver,
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ OutputCollector collector = new OutputCollector();
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES,
+ outputProvider: collector);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
lookupLibrary(name) {
return compiler.libraryLoader.lookupLibrary(Uri.parse(name));
}
- var main = compiler.mainApp.find(dart2js.Compiler.MAIN);
+ var main = compiler.mainApp.find(Compiler.MAIN);
Expect.isNotNull(main, "Could not find 'main'");
compiler.deferredLoadTask.onResolutionComplete(main);
@@ -72,11 +38,11 @@
var fooMain = compiler.mainApp.find("foo");
var ou_lib1_lib2 = outputUnitForElement(fooMain);
- String mainOutput = outputs["main.js"].mem.toString();
- String lib1Output = outputs["out_${ou_lib1.name}.part.js"].mem.toString();
- String lib2Output = outputs["out_${ou_lib2.name}.part.js"].mem.toString();
+ String mainOutput = collector.getOutput("","js");
+ String lib1Output = collector.getOutput("out_${ou_lib1.name}", "part.js");
+ String lib2Output = collector.getOutput("out_${ou_lib2.name}", "part.js");
String lib12Output =
- outputs["out_${ou_lib1_lib2.name}.part.js"].mem.toString();
+ collector.getOutput("out_${ou_lib1_lib2.name}", "part.js");
// Test that the deferred constants are not inlined into the main file.
RegExp re1 = new RegExp(r"= .string1");
RegExp re2 = new RegExp(r"= .string2");
diff --git a/tests/compiler/dart2js/deferred_dont_inline_deferred_globals_test.dart b/tests/compiler/dart2js/deferred_dont_inline_deferred_globals_test.dart
index 2868661..4f516e4 100644
--- a/tests/compiler/dart2js/deferred_dont_inline_deferred_globals_test.dart
+++ b/tests/compiler/dart2js/deferred_dont_inline_deferred_globals_test.dart
@@ -5,57 +5,23 @@
// Test that the additional runtime type support is output to the right
// Files when using deferred loading.
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-import "dart:async";
-
-import 'package:compiler/src/dart2jslib.dart'
- as dart2js;
-
-class MemoryOutputSink extends EventSink<String> {
- StringBuffer mem = new StringBuffer();
- void add(String event) {
- mem.write(event);
- }
- void addError(String event, [StackTrace stackTrace]) {
- Expect.isTrue(false);
- }
- void close() {}
-}
+import 'memory_compiler.dart';
+import 'output_collector.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Map<String, MemoryOutputSink> outputs = new Map<String, MemoryOutputSink>();
-
- MemoryOutputSink outputSaver(name, extension) {
- if (name == '') {
- name = 'main';
- }
- return outputs.putIfAbsent("$name.$extension", () {
- return new MemoryOutputSink();
- });
- }
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- outputSaver,
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ OutputCollector collector = new OutputCollector();
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES,
+ outputProvider: collector);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
lookupLibrary(name) {
return compiler.libraryLoader.lookupLibrary(Uri.parse(name));
}
- var main = compiler.mainApp.find(dart2js.Compiler.MAIN);
+ var main = compiler.mainApp.find(Compiler.MAIN);
Expect.isNotNull(main, "Could not find 'main'");
compiler.deferredLoadTask.onResolutionComplete(main);
@@ -65,8 +31,8 @@
var foo1 = lib1.find("finalVar");
var ou_lib1 = outputUnitForElement(foo1);
- String mainOutput = outputs["main.js"].mem.toString();
- String lib1Output = outputs["out_${ou_lib1.name}.part.js"].mem.toString();
+ String mainOutput = collector.getOutput("", "js");
+ String lib1Output = collector.getOutput("out_${ou_lib1.name}", "part.js");
// Test that the deferred globals are not inlined into the main file.
RegExp re1 = new RegExp(r"= .string1");
RegExp re2 = new RegExp(r"= .string2");
diff --git a/tests/compiler/dart2js/deferred_emit_type_checks_test.dart b/tests/compiler/dart2js/deferred_emit_type_checks_test.dart
index 2976f7e..3fe7752 100644
--- a/tests/compiler/dart2js/deferred_emit_type_checks_test.dart
+++ b/tests/compiler/dart2js/deferred_emit_type_checks_test.dart
@@ -5,32 +5,24 @@
// Test that the additional runtime type support is output to the right
// Files when using deferred loading.
-import 'package:expect/expect.dart';
import 'package:async_helper/async_helper.dart';
-import 'memory_source_file_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
+import 'package:compiler/src/js_backend/js_backend.dart'
+ show JavaScriptBackend;
+import 'package:expect/expect.dart';
+import 'memory_compiler.dart';
import 'output_collector.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
OutputCollector collector = new OutputCollector();
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- collector,
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES,
+ outputProvider: collector);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
String mainOutput = collector.getOutput('', 'js');
String deferredOutput = collector.getOutput('out_1', 'part.js');
- String isPrefix = compiler.backend.namer.operatorIsPrefix;
+ JavaScriptBackend backend = compiler.backend;
+ String isPrefix = backend.namer.operatorIsPrefix;
Expect.isTrue(deferredOutput.contains('${isPrefix}A: 1'),
"Deferred output doesn't contain '${isPrefix}A: 1':\n"
"$deferredOutput");
diff --git a/tests/compiler/dart2js/deferred_follow_constant_dependencies_test.dart b/tests/compiler/dart2js/deferred_follow_constant_dependencies_test.dart
index d35780e..e675f3f 100644
--- a/tests/compiler/dart2js/deferred_follow_constant_dependencies_test.dart
+++ b/tests/compiler/dart2js/deferred_follow_constant_dependencies_test.dart
@@ -4,34 +4,14 @@
// Test that constants depended on by other constants are correctly deferred.
-import 'dart:async';
import 'package:async_helper/async_helper.dart';
import 'package:compiler/src/constants/values.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import 'memory_source_file_helper.dart';
-
-
-class FakeOutputStream<T> extends EventSink<T> {
- void add(T event) {}
- void addError(T event, [StackTrace stackTrace]) {}
- void close() {}
-}
+import 'memory_compiler.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- (name, extension) => new FakeOutputStream(),
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ Compiler compiler = compilerFor(MEMORY_SOURCE_FILES);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement;
var outputUnitForConstant = compiler.deferredLoadTask.outputUnitForConstant;
diff --git a/tests/compiler/dart2js/deferred_inline_restrictions_test.dart b/tests/compiler/dart2js/deferred_inline_restrictions_test.dart
index 2bedda3..7ae382b 100644
--- a/tests/compiler/dart2js/deferred_inline_restrictions_test.dart
+++ b/tests/compiler/dart2js/deferred_inline_restrictions_test.dart
@@ -5,51 +5,17 @@
// Test that we do not accidentially leak code from deferred libraries but do
// allow inlining of empty functions and from main.
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-import "dart:async";
-
-import 'package:compiler/src/dart2jslib.dart'
- as dart2js;
-
-class MemoryOutputSink extends EventSink<String> {
- StringBuffer mem = new StringBuffer();
- void add(String event) {
- mem.write(event);
- }
- void addError(String event, [StackTrace stackTrace]) {
- Expect.isTrue(false);
- }
- void close() {}
-}
+import 'memory_compiler.dart';
+import 'output_collector.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Map<String, MemoryOutputSink> outputs = new Map<String, MemoryOutputSink>();
-
- MemoryOutputSink outputSaver(name, extension) {
- if (name == '') {
- name = 'main';
- }
- return outputs.putIfAbsent("$name.$extension", () {
- return new MemoryOutputSink();
- });
- }
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- outputSaver,
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ OutputCollector collector = new OutputCollector();
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES,
+ outputProvider: collector);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
lookupLibrary(name) {
return compiler.libraryLoader.lookupLibrary(Uri.parse(name));
@@ -68,9 +34,9 @@
// Test that we actually got differnt output units.
Expect.notEquals(ou_lib1.name, ou_lib3.name);
- String mainOutput = outputs["main.js"].mem.toString();
- String lib1Output = outputs["out_${ou_lib1.name}.part.js"].mem.toString();
- String lib3Output = outputs["out_${ou_lib3.name}.part.js"].mem.toString();
+ String mainOutput = collector.getOutput("", "js");
+ String lib1Output = collector.getOutput("out_${ou_lib1.name}", "part.js");
+ String lib3Output = collector.getOutput("out_${ou_lib3.name}", "part.js");
RegExp re1 = new RegExp(r"inlined as empty");
RegExp re2 = new RegExp(r"inlined from main");
diff --git a/tests/compiler/dart2js/deferred_load_graph_segmentation2_test.dart b/tests/compiler/dart2js/deferred_load_graph_segmentation2_test.dart
index 2297f0e..3467d2c 100644
--- a/tests/compiler/dart2js/deferred_load_graph_segmentation2_test.dart
+++ b/tests/compiler/dart2js/deferred_load_graph_segmentation2_test.dart
@@ -6,32 +6,13 @@
// to determine which elements can be deferred and which libraries
// much be included in the initial download (loaded eagerly).
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-import "dart:async";
-
-class FakeOutputStream<T> extends EventSink<T> {
- void add(T event) {}
- void addError(T event, [StackTrace stackTrace]) {}
- void close() {}
-}
+import 'memory_compiler.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- (name, extension) => new FakeOutputStream(),
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ Compiler compiler = compilerFor(MEMORY_SOURCE_FILES);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement;
var mainOutputUnit = compiler.deferredLoadTask.mainOutputUnit;
diff --git a/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart b/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart
index a3624f0..59b39e3 100644
--- a/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart
+++ b/tests/compiler/dart2js/deferred_load_graph_segmentation_test.dart
@@ -6,43 +6,20 @@
// to determine which elements can be deferred and which libraries
// much be included in the initial download (loaded eagerly).
-import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-import "dart:async";
-
-import 'package:compiler/src/dart2jslib.dart'
- as dart2js;
-
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:compiler/src/deferred_load.dart';
-
-class FakeOutputStream<T> extends EventSink<T> {
- void add(T event) {}
- void addError(T event, [StackTrace stackTrace]) {}
- void close() {}
-}
+import 'package:expect/expect.dart';
+import 'memory_compiler.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- (name, extension) => new FakeOutputStream(),
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ Compiler compiler = compilerFor(MEMORY_SOURCE_FILES);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
lookupLibrary(name) {
return compiler.libraryLoader.lookupLibrary(Uri.parse(name));
}
- var main = compiler.mainApp.find(dart2js.Compiler.MAIN);
+ var main = compiler.mainApp.find(Compiler.MAIN);
Expect.isNotNull(main, "Could not find 'main'");
compiler.deferredLoadTask.onResolutionComplete(main);
diff --git a/tests/compiler/dart2js/deferred_not_in_main_test.dart b/tests/compiler/dart2js/deferred_not_in_main_test.dart
index a4b8435..0b8ef3a 100644
--- a/tests/compiler/dart2js/deferred_not_in_main_test.dart
+++ b/tests/compiler/dart2js/deferred_not_in_main_test.dart
@@ -6,41 +6,19 @@
// to determine which elements can be deferred and which libraries
// much be included in the initial download (loaded eagerly).
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-import "dart:async";
-
-import 'package:compiler/src/dart2jslib.dart'
- as dart2js;
-
-class FakeOutputStream<T> extends EventSink<T> {
- void add(T event) {}
- void addError(T event, [StackTrace stackTrace]) {}
- void close() {}
-}
+import 'memory_compiler.dart';
void main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- (name, extension) => new FakeOutputStream(),
- handler.diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ Compiler compiler = compilerFor(MEMORY_SOURCE_FILES);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
lookupLibrary(name) {
return compiler.libraryLoader.lookupLibrary(Uri.parse(name));
}
- var main = compiler.mainApp.find(dart2js.Compiler.MAIN);
+ var main = compiler.mainApp.find(Compiler.MAIN);
var outputUnitForElement = compiler.deferredLoadTask.outputUnitForElement;
var mainOutputUnit = compiler.deferredLoadTask.mainOutputUnit;
diff --git a/tests/compiler/dart2js/diagnose_ambiguous_test.dart b/tests/compiler/dart2js/diagnose_ambiguous_test.dart
index d70c8e4..9d96426 100644
--- a/tests/compiler/dart2js/diagnose_ambiguous_test.dart
+++ b/tests/compiler/dart2js/diagnose_ambiguous_test.dart
@@ -2,36 +2,25 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
+
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/compiler_new.dart' show Diagnostic;
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
+import 'memory_compiler.dart';
-import 'package:compiler/compiler.dart'
- show Diagnostic;
-
-main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var diagnostics = [];
- void diagnosticHandler(Uri uri, int begin, int end,
- String message, Diagnostic kind) {
- if (kind == Diagnostic.VERBOSE_INFO) {
- return;
- }
- diagnostics.add('$uri:$begin:$end:$message:$kind');
- }
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- (name, extension) => null,
- diagnosticHandler,
- libraryRoot,
- packageRoot,
- ['--analyze-all'],
- {});
+void main() {
+ DiagnosticCollector collector = new DiagnosticCollector();
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES,
+ diagnosticHandler: collector,
+ options: ['--analyze-all']);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
+ List<String> diagnostics = <String>[];
+ collector.messages.forEach((DiagnosticMessage message) {
+ if (message.kind == Diagnostic.VERBOSE_INFO) return;
+ diagnostics.add(message.toString());
+ });
diagnostics.sort();
var expected = [
"memory:exporter.dart:43:47:'hest' is defined here.:info",
diff --git a/tests/compiler/dart2js/exit_code_test.dart b/tests/compiler/dart2js/exit_code_test.dart
index f69a271..0ef45e3 100644
--- a/tests/compiler/dart2js/exit_code_test.dart
+++ b/tests/compiler/dart2js/exit_code_test.dart
@@ -11,13 +11,16 @@
import 'package:async_helper/async_helper.dart';
import 'package:expect/expect.dart';
-import 'package:compiler/compiler.dart' as api;
+import 'package:compiler/compiler.dart' as old_api;
+import 'package:compiler/compiler_new.dart' as api;
import 'package:compiler/src/compile_time_constants.dart';
import 'package:compiler/src/dart2js.dart' as entry;
import 'package:compiler/src/dart2jslib.dart';
import 'package:compiler/src/apiimpl.dart' as apiimpl;
import 'package:compiler/src/elements/elements.dart';
import 'package:compiler/src/library_loader.dart';
+import 'package:compiler/src/null_compiler_output.dart';
+import 'package:compiler/src/old_to_new_api.dart';
import 'package:compiler/src/resolution/resolution.dart';
import 'package:compiler/src/scanner/scannerlib.dart';
import 'package:compiler/src/util/util.dart';
@@ -27,18 +30,18 @@
final String testType;
final Function onTest;
- TestCompiler(api.CompilerInputProvider inputProvider,
- api.CompilerOutputProvider outputProvider,
- api.DiagnosticHandler handler,
- Uri libraryRoot,
- Uri packageRoot,
- List<String> options,
- Map<String, dynamic> environment,
- Uri packageConfig,
- api.PackagesDiscoveryProvider findPackages,
- String this.testMarker,
- String this.testType,
- Function this.onTest)
+ TestCompiler(api.CompilerInput inputProvider,
+ api.CompilerOutput outputProvider,
+ api.CompilerDiagnostics handler,
+ Uri libraryRoot,
+ Uri packageRoot,
+ List<String> options,
+ Map<String, dynamic> environment,
+ Uri packageConfig,
+ api.PackagesDiscoveryProvider findPackages,
+ String this.testMarker,
+ String this.testType,
+ Function this.onTest)
: super(inputProvider, outputProvider, handler, libraryRoot,
packageRoot, options, environment, packageConfig, findPackages) {
scanner = new TestScanner(this);
@@ -150,14 +153,14 @@
}
}
return new Future(() {
- Future<api.CompilationResult> compile(
+ Future<old_api.CompilationResult> compile(
Uri script,
Uri libraryRoot,
Uri packageRoot,
- api.CompilerInputProvider inputProvider,
- api.DiagnosticHandler handler,
+ old_api.CompilerInputProvider inputProvider,
+ old_api.DiagnosticHandler handler,
[List<String> options = const [],
- api.CompilerOutputProvider outputProvider,
+ old_api.CompilerOutputProvider outputProvider,
Map<String, dynamic> environment = const {},
Uri packageConfig,
api.PackagesDiscoveryProvider findPackages]) {
@@ -165,20 +168,21 @@
outputProvider = NullSink.outputProvider;
// Use this to silence the test when debugging:
// handler = (uri, begin, end, message, kind) {};
- Compiler compiler = new TestCompiler(inputProvider,
- outputProvider,
- handler,
- libraryRoot,
- packageRoot,
- options,
- environment,
- packageConfig,
- findPackages,
- marker,
- type,
- onTest);
+ Compiler compiler = new TestCompiler(
+ new LegacyCompilerInput(inputProvider),
+ new LegacyCompilerOutput(outputProvider),
+ new LegacyCompilerDiagnostics(handler),
+ libraryRoot,
+ packageRoot,
+ options,
+ environment,
+ packageConfig,
+ findPackages,
+ marker,
+ type,
+ onTest);
return compiler.run(script).then((bool success) {
- return new api.CompilationResult(compiler, isSuccess: success);
+ return new old_api.CompilationResult(compiler, isSuccess: success);
});
}
diff --git a/tests/compiler/dart2js/incremental/compile_all.dart b/tests/compiler/dart2js/incremental/compile_all.dart
index c2c7a9e..ea41d2c 100644
--- a/tests/compiler/dart2js/incremental/compile_all.dart
+++ b/tests/compiler/dart2js/incremental/compile_all.dart
@@ -14,6 +14,8 @@
import 'package:dart2js_incremental/dart2js_incremental.dart' show
IncrementalCompiler;
+import 'package:compiler/src/source_file_provider.dart' show
+ FormattingDiagnosticHandler;
import '../memory_source_file_helper.dart' show
Compiler;
@@ -42,13 +44,14 @@
int skipCount = 0;
Set<String> crashes = new Set<String>();
Compiler memoryCompiler = compilerFor(sources);
- memoryCompiler.handler.verbose = verbose;
+ FormattingDiagnosticHandler handler = memoryCompiler.handler;
+ handler.verbose = verbose;
var options = ['--analyze-main'];
if (true || verbose) options.add('--verbose');
IncrementalCompiler compiler = new IncrementalCompiler(
libraryRoot: memoryCompiler.libraryRoot,
inputProvider: memoryCompiler.provider,
- outputProvider: memoryCompiler.outputProvider,
+ outputProvider: memoryCompiler.userOutputProvider,
diagnosticHandler: memoryCompiler.handler,
packageRoot: memoryCompiler.packageRoot,
options: options);
diff --git a/tests/compiler/dart2js/incremental/hello_test.dart b/tests/compiler/dart2js/incremental/hello_test.dart
index 7dad2e8..83215dc 100644
--- a/tests/compiler/dart2js/incremental/hello_test.dart
+++ b/tests/compiler/dart2js/incremental/hello_test.dart
@@ -17,8 +17,11 @@
import 'package:compiler/compiler.dart' show
Diagnostic;
-import 'package:compiler/src/dart2jslib.dart' show
- NullSink;
+import 'package:compiler/src/null_compiler_output.dart' show
+ NullCompilerOutput;
+
+import 'package:compiler/src/old_to_new_api.dart' show
+ LegacyCompilerDiagnostics;
import 'package:async_helper/async_helper.dart' show
asyncTest;
@@ -94,9 +97,9 @@
Uri packageRoot,
MemorySourceFileProvider provider) {
IncrementalCompiler compiler = new IncrementalCompiler(
- diagnosticHandler: handler,
+ diagnosticHandler: new LegacyCompilerDiagnostics(handler),
inputProvider: provider,
- outputProvider: NullSink.outputProvider,
+ outputProvider: const NullCompilerOutput(),
options: ['--analyze-main'],
libraryRoot: libraryRoot,
packageRoot: packageRoot);
diff --git a/tests/compiler/dart2js/js_backend_cps_ir_basic_test.dart b/tests/compiler/dart2js/js_backend_cps_ir_basic_test.dart
index 8ba0f45..6873d05 100644
--- a/tests/compiler/dart2js/js_backend_cps_ir_basic_test.dart
+++ b/tests/compiler/dart2js/js_backend_cps_ir_basic_test.dart
@@ -25,15 +25,14 @@
print('($m)');
}""",r"""
function() {
- var l = [1, 2, 3], m = P.LinkedHashMap_LinkedHashMap$_literal(["s", 1]);
P.print("()");
P.print("(true)");
P.print("(1)");
P.print("(" + H.S([1, 2, 3]) + ")");
P.print("(" + H.S(P.LinkedHashMap_LinkedHashMap$_literal(["s", 1])) + ")");
P.print("(1)");
- P.print("(" + H.S(l) + ")");
- P.print("(" + H.S(m) + ")");
+ P.print("(" + H.S([1, 2, 3]) + ")");
+ P.print("(" + H.S(P.LinkedHashMap_LinkedHashMap$_literal(["s", 1])) + ")");
}"""),
const TestEntry("""
foo(a, [b = "b"]) => b;
diff --git a/tests/compiler/dart2js/js_backend_cps_ir_closures_test.dart b/tests/compiler/dart2js/js_backend_cps_ir_closures_test.dart
index 42d4e5a..2f58293 100644
--- a/tests/compiler/dart2js/js_backend_cps_ir_closures_test.dart
+++ b/tests/compiler/dart2js/js_backend_cps_ir_closures_test.dart
@@ -20,10 +20,10 @@
""",
r"""
function(x) {
- var _box_0 = {}, a = new V.main_a(_box_0);
+ var _box_0 = {};
_box_0._captured_x_0 = x;
_box_0._captured_x_0 = J.getInterceptor$ns(x = _box_0._captured_x_0).$add(x, "1");
- P.print(a.call$0());
+ P.print(new V.main_a(_box_0).call$0());
}"""),
const TestEntry("""
@@ -49,10 +49,10 @@
""",
r"""
function() {
- var _box_0 = {}, a = new V.main_closure(_box_0);
+ var _box_0 = {};
_box_0._captured_x_0 = 122;
_box_0._captured_x_0 = _box_0._captured_x_0 + 1;
- P.print(a.call$0());
+ P.print(new V.main_closure(_box_0).call$0());
}"""),
const TestEntry("""
@@ -68,10 +68,10 @@
""",
r"""
function() {
- var _box_0 = {}, a = new V.main_closure(_box_0);
+ var _box_0 = {};
_box_0._captured_x_0 = 122;
_box_0._captured_x_0 = _box_0._captured_x_0 + 1;
- P.print(a.call$0().call$0());
+ P.print(new V.main_closure(_box_0).call$0().call$0());
}"""),
const TestEntry("""
diff --git a/tests/compiler/dart2js/js_backend_cps_ir_control_flow_test.dart b/tests/compiler/dart2js/js_backend_cps_ir_control_flow_test.dart
index adf8db7..e777044 100644
--- a/tests/compiler/dart2js/js_backend_cps_ir_control_flow_test.dart
+++ b/tests/compiler/dart2js/js_backend_cps_ir_control_flow_test.dart
@@ -127,6 +127,52 @@
V.foo();
P.print("good");
}"""),
+ const TestEntry("""
+main() {
+ var list = [1,2,3,4,5,6];
+ for (var x in list) {
+ print(x);
+ }
+}""",r"""
+function() {
+ var list = [1, 2, 3, 4, 5, 6], $length = list.length, i = 0;
+ while (i < list.length) {
+ P.print(list[i]);
+ if ($length !== list.length)
+ H.throwConcurrentModificationError(list);
+ i = i + 1;
+ }
+}"""),
+ const TestEntry("""
+main() {
+ var xs = ['x', 'y', 'z'], ys = ['A', 'B', 'C'];
+ var xit = xs.iterator, yit = ys.iterator;
+ while (xit.moveNext() && yit.moveNext()) {
+ print(xit.current);
+ print(yit.current);
+ }
+}""",r"""
+function() {
+ var xs = ["x", "y", "z"], ys = ["A", "B", "C"], $length = xs.length, length1 = ys.length, i, i1, current, current1;
+ if ($length !== xs.length)
+ H.throwConcurrentModificationError(xs);
+ i = 0;
+ i1 = 0;
+ while (i < xs.length) {
+ current = xs[i];
+ if (length1 !== ys.length)
+ H.throwConcurrentModificationError(ys);
+ if (!(i1 < ys.length))
+ break;
+ current1 = ys[i1];
+ P.print(current);
+ P.print(current1);
+ if ($length !== xs.length)
+ H.throwConcurrentModificationError(xs);
+ i = i + 1;
+ i1 = i1 + 1;
+ }
+}"""),
];
void main() {
diff --git a/tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart b/tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart
index 374b751..4e7b0cf 100644
--- a/tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart
+++ b/tests/compiler/dart2js/js_backend_cps_ir_interceptors_test.dart
@@ -33,15 +33,15 @@
}""",
r"""
function() {
- var l = ["hest", ["h", "e", "s", "t"]], i = 0, x, j;
+ var l = ["hest", ["h", "e", "s", "t"]], i = 0, x_, x, j;
P.print(l.length);
while (i < l.length) {
if (i < 0 || i >= l.length)
H.ioore(l, i);
- x = l[i];
+ x_ = J.getInterceptor$as(x = l[i]);
j = 0;
- while (j < J.getInterceptor$as(x).get$length(x)) {
- P.print(J.getInterceptor$as(x).$index(x, j));
+ while (j < x_.get$length(x)) {
+ P.print(x_.$index(x, j));
j = j + 1;
}
i = i + 1;
diff --git a/tests/compiler/dart2js/library_resolution_test.dart b/tests/compiler/dart2js/library_resolution_test.dart
index c7058471..ed41ebe 100644
--- a/tests/compiler/dart2js/library_resolution_test.dart
+++ b/tests/compiler/dart2js/library_resolution_test.dart
@@ -21,8 +21,14 @@
LibraryElement;
import 'package:compiler/src/dart2jslib.dart' show
- MessageKind,
- NullSink;
+ MessageKind;
+
+import 'package:compiler/src/null_compiler_output.dart' show
+ NullCompilerOutput;
+
+import 'package:compiler/src/old_to_new_api.dart' show
+ LegacyCompilerDiagnostics,
+ LegacyCompilerInput;
import 'package:sdk_library_metadata/libraries.dart' show
DART2JS_PLATFORM,
@@ -40,13 +46,13 @@
documented: false,
platforms: DART2JS_PLATFORM);
+
class CustomCompiler extends Compiler {
final Map<String, LibraryInfo> customLibraryInfo;
CustomCompiler(
this.customLibraryInfo,
provider,
- outputProvider,
handler,
libraryRoot,
packageRoot,
@@ -54,7 +60,7 @@
environment)
: super(
provider,
- outputProvider,
+ const NullCompilerOutput(),
handler,
libraryRoot,
packageRoot,
@@ -75,11 +81,6 @@
var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
var handler = new FormattingDiagnosticHandler(provider);
- outputProvider(String name, String extension) {
- if (name != '') throw 'Attempt to output file "$name.$extension"';
- return new NullSink('$name.$extension');
- }
-
Future wrappedProvider(Uri uri) {
if (uri == sdkRoot.resolve('lib/mock1.dart')) {
return provider.readStringFromUri(Uri.parse('memory:mock1.dart'));
@@ -111,9 +112,8 @@
Compiler compiler = new CustomCompiler(
{},
- wrappedProvider,
- outputProvider,
- wrappedHandler,
+ new LegacyCompilerInput(wrappedProvider),
+ new LegacyCompilerDiagnostics(wrappedHandler),
sdkRoot,
packageRoot,
[],
diff --git a/tests/compiler/dart2js/memory_compiler.dart b/tests/compiler/dart2js/memory_compiler.dart
index 7a4a809..44902d8 100644
--- a/tests/compiler/dart2js/memory_compiler.dart
+++ b/tests/compiler/dart2js/memory_compiler.dart
@@ -6,15 +6,17 @@
import 'memory_source_file_helper.dart';
-import 'package:compiler/src/compile_time_constants.dart';
-import 'package:compiler/src/dart2jslib.dart'
- show NullSink;
+import 'package:compiler/src/null_compiler_output.dart'
+ show NullCompilerOutput;
import 'package:compiler/compiler.dart' show
- CompilerOutputProvider,
+ DiagnosticHandler;
+
+import 'package:compiler/compiler_new.dart' show
+ CompilerDiagnostics,
+ CompilerOutput,
Diagnostic,
- DiagnosticHandler,
PackagesDiscoveryProvider;
import 'dart:async';
@@ -25,6 +27,8 @@
import 'package:compiler/src/library_loader.dart'
show LoadedLibraries;
+import 'package:compiler/src/old_to_new_api.dart';
+
export 'output_collector.dart';
class DiagnosticMessage {
@@ -39,11 +43,15 @@
String toString() => '$uri:$begin:$end:$message:$kind';
}
-class DiagnosticCollector {
+class DiagnosticCollector implements CompilerDiagnostics {
List<DiagnosticMessage> messages = <DiagnosticMessage>[];
- void call(Uri uri, int begin, int end, String message,
- Diagnostic kind) {
+ void call(Uri uri, int begin, int end, String message, Diagnostic kind) {
+ report(uri, begin, end, message, kind);
+ }
+
+ @override
+ void report(Uri uri, int begin, int end, String message, Diagnostic kind) {
messages.add(new DiagnosticMessage(uri, begin, end, message, kind));
}
@@ -67,24 +75,40 @@
Iterable<DiagnosticMessage> get infos {
return filterMessagesByKind(Diagnostic.INFO);
}
+
+ /// `true` if non-verbose messages has been collected.
+ bool get hasRegularMessages {
+ return messages.any((m) => m.kind != Diagnostic.VERBOSE_INFO);
+ }
}
-DiagnosticHandler createDiagnosticHandler(DiagnosticHandler diagnosticHandler,
- SourceFileProvider provider,
- bool showDiagnostics) {
- var handler = diagnosticHandler;
+class MultiDiagnostics implements CompilerDiagnostics {
+ final List<CompilerDiagnostics> diagnosticsList;
+
+ const MultiDiagnostics([this.diagnosticsList = const []]);
+
+ @override
+ void report(Uri uri, int begin, int end, String message, Diagnostic kind) {
+ for (CompilerDiagnostics diagnostics in diagnosticsList) {
+ diagnostics.report(uri, begin, end, message, kind);
+ }
+ }
+}
+
+CompilerDiagnostics createCompilerDiagnostics(
+ CompilerDiagnostics diagnostics,
+ SourceFileProvider provider,
+ bool showDiagnostics) {
+ CompilerDiagnostics handler = diagnostics;
if (showDiagnostics) {
- if (diagnosticHandler == null) {
+ if (diagnostics == null) {
handler = new FormattingDiagnosticHandler(provider);
} else {
var formattingHandler = new FormattingDiagnosticHandler(provider);
- handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {
- diagnosticHandler(uri, begin, end, message, kind);
- formattingHandler(uri, begin, end, message, kind);
- };
+ handler = new MultiDiagnostics([diagnostics, formattingHandler]);
}
- } else if (diagnosticHandler == null) {
- handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {};
+ } else if (diagnostics == null) {
+ handler = new MultiDiagnostics();
}
return handler;
}
@@ -94,8 +118,8 @@
Compiler compilerFor(
Map<String, String> memorySourceFiles,
- {DiagnosticHandler diagnosticHandler,
- CompilerOutputProvider outputProvider,
+ {CompilerDiagnostics diagnosticHandler,
+ CompilerOutput outputProvider,
List<String> options: const [],
Compiler cachedCompiler,
bool showDiagnostics: true,
@@ -110,35 +134,28 @@
}
MemorySourceFileProvider provider;
- var readStringFromUri;
if (cachedCompiler == null) {
provider = new MemorySourceFileProvider(memorySourceFiles);
- readStringFromUri = provider.readStringFromUri;
// Saving the provider in case we need it later for a cached compiler.
- expando[readStringFromUri] = provider;
+ expando[provider] = provider;
} else {
// When using a cached compiler, it has read a number of files from disk
// already (and will not attempt to read them again due to caching). These
// files must be available to the new diagnostic handler.
provider = expando[cachedCompiler.provider];
- readStringFromUri = cachedCompiler.provider;
provider.memorySourceFiles = memorySourceFiles;
}
- var handler =
- createDiagnosticHandler(diagnosticHandler, provider, showDiagnostics);
+ diagnosticHandler =
+ createCompilerDiagnostics(diagnosticHandler, provider, showDiagnostics);
- EventSink<String> noOutputProvider(String name, String extension) {
- if (name != '') throw 'Attempt to output file "$name.$extension"';
- return new NullSink('$name.$extension');
- }
if (outputProvider == null) {
- outputProvider = noOutputProvider;
+ outputProvider = const NullCompilerOutput();
}
Compiler compiler = new Compiler(
- readStringFromUri,
+ provider,
outputProvider,
- handler,
+ diagnosticHandler,
libraryRoot,
packageRoot,
options,
@@ -236,6 +253,27 @@
Uri get rootUri => null;
}
+
+DiagnosticHandler createDiagnosticHandler(DiagnosticHandler diagnosticHandler,
+ SourceFileProvider provider,
+ bool showDiagnostics) {
+ var handler = diagnosticHandler;
+ if (showDiagnostics) {
+ if (diagnosticHandler == null) {
+ handler = new FormattingDiagnosticHandler(provider);
+ } else {
+ var formattingHandler = new FormattingDiagnosticHandler(provider);
+ handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {
+ diagnosticHandler(uri, begin, end, message, kind);
+ formattingHandler(uri, begin, end, message, kind);
+ };
+ }
+ } else if (diagnosticHandler == null) {
+ handler = (Uri uri, int begin, int end, String message, Diagnostic kind) {};
+ }
+ return handler;
+}
+
Future<MirrorSystem> mirrorSystemFor(Map<String,String> memorySourceFiles,
{DiagnosticHandler diagnosticHandler,
List<String> options: const [],
diff --git a/tests/compiler/dart2js/memory_source_file_helper.dart b/tests/compiler/dart2js/memory_source_file_helper.dart
index 0a0428b..3ff2ba5 100644
--- a/tests/compiler/dart2js/memory_source_file_helper.dart
+++ b/tests/compiler/dart2js/memory_source_file_helper.dart
@@ -52,4 +52,7 @@
}
return new StringSourceFile.fromUri(resourceUri, source);
}
+
+ @override
+ Future readFromUri(Uri resourceUri) => readStringFromUri(resourceUri);
}
diff --git a/tests/compiler/dart2js/message_kind_helper.dart b/tests/compiler/dart2js/message_kind_helper.dart
index 7bc63ce..244d5a0 100644
--- a/tests/compiler/dart2js/message_kind_helper.dart
+++ b/tests/compiler/dart2js/message_kind_helper.dart
@@ -12,6 +12,8 @@
MessageKind;
import 'package:compiler/src/dart_backend/dart_backend.dart' show
DartBackend;
+import 'package:compiler/src/old_to_new_api.dart' show
+ LegacyCompilerDiagnostics;
import 'memory_compiler.dart';
@@ -79,7 +81,7 @@
Compiler compiler = compilerFor(
example,
- diagnosticHandler: collect,
+ diagnosticHandler: new LegacyCompilerDiagnostics(collect),
options: ['--analyze-only',
'--enable-experimental-mirrors']..addAll(kind.options),
cachedCompiler:
diff --git a/tests/compiler/dart2js/mirror_tree_shaking_test.dart b/tests/compiler/dart2js/mirror_tree_shaking_test.dart
index 91a397d..4548a70 100644
--- a/tests/compiler/dart2js/mirror_tree_shaking_test.dart
+++ b/tests/compiler/dart2js/mirror_tree_shaking_test.dart
@@ -4,51 +4,24 @@
// Test that tree-shaking hasn't been turned off.
-import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-
-import 'package:compiler/src/dart2jslib.dart'
- show NullSink;
-
-import 'package:compiler/compiler.dart'
- show Diagnostic;
-
-import 'dart:async';
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:compiler/src/js_backend/js_backend.dart'
show JavaScriptBackend;
+import 'package:expect/expect.dart';
+import 'memory_compiler.dart';
main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
-
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- void diagnosticHandler(Uri uri, int begin, int end,
- String message, Diagnostic kind) {
- if (kind == Diagnostic.VERBOSE_INFO
- || kind == Diagnostic.WARNING
- || kind == Diagnostic.HINT) {
- return;
- }
- throw '$uri:$begin:$end:$message:$kind';
- }
-
- EventSink<String> outputProvider(String name, String extension) {
- return new NullSink('$name.$extension');
- }
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- outputProvider,
- diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ DiagnosticCollector collector = new DiagnosticCollector();
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES, diagnosticHandler: collector);
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
+ Expect.isTrue(collector.errors.isEmpty);
+ Expect.isTrue(collector.infos.isEmpty);
Expect.isFalse(compiler.compilationFailed);
Expect.isFalse(compiler.enqueuer.resolution.hasEnqueuedReflectiveElements);
- Expect.isFalse(compiler.enqueuer.resolution.hasEnqueuedReflectiveStaticFields);
+ Expect.isFalse(
+ compiler.enqueuer.resolution.hasEnqueuedReflectiveStaticFields);
Expect.isFalse(compiler.enqueuer.codegen.hasEnqueuedReflectiveElements);
Expect.isFalse(compiler.enqueuer.codegen.hasEnqueuedReflectiveStaticFields);
Expect.isFalse(compiler.disableTypeInference);
diff --git a/tests/compiler/dart2js/mirrors_test.dart b/tests/compiler/dart2js/mirrors_test.dart
index 2b5d992..2c7b09f 100644
--- a/tests/compiler/dart2js/mirrors_test.dart
+++ b/tests/compiler/dart2js/mirrors_test.dart
@@ -47,8 +47,7 @@
Uri libUri = scriptUri.resolve('../../../sdk/');
Uri inputUri = scriptUri.resolve('mirrors_helper.dart');
var provider = new CompilerSourceFileProvider();
- var diagnosticHandler =
- new FormattingDiagnosticHandler(provider).diagnosticHandler;
+ var diagnosticHandler = new FormattingDiagnosticHandler(provider);
asyncStart();
var result = analyze([inputUri], libUri, packageRoot,
provider.readStringFromUri, diagnosticHandler,
diff --git a/tests/compiler/dart2js/mirrors_used_test.dart b/tests/compiler/dart2js/mirrors_used_test.dart
index e79df96..2a525c9 100644
--- a/tests/compiler/dart2js/mirrors_used_test.dart
+++ b/tests/compiler/dart2js/mirrors_used_test.dart
@@ -29,6 +29,9 @@
import 'package:compiler/src/js_emitter/full_emitter/emitter.dart'
as full show Emitter;
+import 'package:compiler/src/old_to_new_api.dart' show
+ LegacyCompilerDiagnostics;
+
void expectOnlyVerboseInfo(Uri uri, int begin, int end, String message, kind) {
if (kind.name == 'verbose info') {
print(message);
@@ -48,7 +51,8 @@
void main() {
Compiler compiler = compilerFor(
- MEMORY_SOURCE_FILES, diagnosticHandler: expectOnlyVerboseInfo,
+ MEMORY_SOURCE_FILES,
+ diagnosticHandler: new LegacyCompilerDiagnostics(expectOnlyVerboseInfo),
options: ['--enable-experimental-mirrors']);
asyncTest(() => compiler.runCompiler(Uri.parse('memory:main.dart')).then((_) {
print('');
diff --git a/tests/compiler/dart2js/missing_file_test.dart b/tests/compiler/dart2js/missing_file_test.dart
index 630063b..7d88eb8 100644
--- a/tests/compiler/dart2js/missing_file_test.dart
+++ b/tests/compiler/dart2js/missing_file_test.dart
@@ -6,17 +6,11 @@
library dart2js.test.missing_file;
-import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-
-import 'package:compiler/src/dart2jslib.dart'
- show NullSink;
-
-import 'package:compiler/compiler.dart'
- show DiagnosticHandler, Diagnostic;
-
import 'dart:async';
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
+import 'package:expect/expect.dart';
+import 'memory_compiler.dart';
const MEMORY_SOURCE_FILES = const {
'main.dart': '''
@@ -29,40 +23,18 @@
Future runCompiler(Uri main, String expectedMessage) {
print("\n\n\n");
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- var handler = new FormattingDiagnosticHandler(provider);
- var errors = [];
-
- void diagnosticHandler(Uri uri, int begin, int end, String message,
- Diagnostic kind) {
- if (kind == Diagnostic.ERROR) {
- errors.add(message);
- }
- handler(uri, begin, end, message, kind);
- }
-
-
- EventSink<String> outputProvider(String name, String extension) {
- if (name != '') throw 'Attempt to output file "$name.$extension"';
- return new NullSink('$name.$extension');
- }
-
- Compiler compiler = new Compiler(provider,
- outputProvider,
- diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
+ DiagnosticCollector diagnostics = new DiagnosticCollector();
+ OutputCollector output = new OutputCollector();
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES,
+ diagnosticHandler: diagnostics,
+ outputProvider: output);
return compiler.run(main).then((_) {
- Expect.equals(1, errors.length);
- Expect.equals(expectedMessage,
- errors[0]);
+ Expect.isFalse(output.hasExtraOutput);
+ Expect.equals(1, diagnostics.errors.length);
+ Expect.equals(expectedMessage, diagnostics.errors.first.message);
});
}
diff --git a/tests/compiler/dart2js/mock_compiler.dart b/tests/compiler/dart2js/mock_compiler.dart
index 3d879df..3284514 100644
--- a/tests/compiler/dart2js/mock_compiler.dart
+++ b/tests/compiler/dart2js/mock_compiler.dart
@@ -16,6 +16,7 @@
import 'package:compiler/src/resolution/resolution.dart';
import 'package:compiler/src/io/source_file.dart';
import 'package:compiler/src/tree/tree.dart';
+import 'package:compiler/src/old_to_new_api.dart';
import 'package:compiler/src/util/util.dart';
import 'parser_helper.dart';
@@ -93,7 +94,7 @@
preserveComments: preserveComments,
trustTypeAnnotations: trustTypeAnnotations,
showPackageWarnings: true,
- outputProvider: outputProvider) {
+ outputProvider: new LegacyCompilerOutput(outputProvider)) {
this.disableInlining = disableInlining;
deferredLoadTask = new MockDeferredLoadTask(this);
diff --git a/tests/compiler/dart2js/output_collector.dart b/tests/compiler/dart2js/output_collector.dart
index d2d3af4..7eb7486 100644
--- a/tests/compiler/dart2js/output_collector.dart
+++ b/tests/compiler/dart2js/output_collector.dart
@@ -7,6 +7,7 @@
library output_collector;
import 'dart:async';
+import 'package:compiler/compiler_new.dart';
class BufferedEventSink implements EventSink<String> {
StringBuffer sb = new StringBuffer();
@@ -49,13 +50,11 @@
}
}
-class OutputCollector {
+class OutputCollector implements CompilerOutput {
Map<String, Map<String, BufferedEventSink>> outputMap = {};
EventSink<String> call(String name, String extension) {
- Map<String, BufferedEventSink> sinkMap =
- outputMap.putIfAbsent(extension, () => {});
- return sinkMap.putIfAbsent(name, () => new BufferedEventSink());
+ return createEventSink(name, extension);
}
String getOutput(String name, String extension) {
@@ -64,4 +63,24 @@
BufferedEventSink sink = sinkMap[name];
return sink != null ? sink.text : null;
}
+
+ /// `true` if any output has been collected.
+ bool get hasOutput => !outputMap.isEmpty;
+
+ /// `true` if any output other than main output has been collected.
+ bool get hasExtraOutput {
+ for (String extension in outputMap.keys) {
+ for (String name in outputMap[extension].keys) {
+ if (name != '') return true;
+ }
+ }
+ return false;
+ }
+
+ @override
+ EventSink<String> createEventSink(String name, String extension) {
+ Map<String, BufferedEventSink> sinkMap =
+ outputMap.putIfAbsent(extension, () => {});
+ return sinkMap.putIfAbsent(name, () => new BufferedEventSink());
+ }
}
diff --git a/tests/compiler/dart2js/proxy_test.dart b/tests/compiler/dart2js/proxy_test.dart
index b9d8444..bdba67f 100644
--- a/tests/compiler/dart2js/proxy_test.dart
+++ b/tests/compiler/dart2js/proxy_test.dart
@@ -17,6 +17,6 @@
'language/proxy2_test.dart': null,
};
-void main() {
- checkWarnings(TESTS);
+void main(List<String> args) {
+ checkWarnings(TESTS, args);
}
diff --git a/tests/compiler/dart2js/semantic_visitor_test.dart b/tests/compiler/dart2js/semantic_visitor_test.dart
index 19c1694..40b36ea 100644
--- a/tests/compiler/dart2js/semantic_visitor_test.dart
+++ b/tests/compiler/dart2js/semantic_visitor_test.dart
@@ -142,17 +142,19 @@
class Test {
final String codeByPrefix;
+ final bool isDeferred;
final String code;
final /*Visit | List<Visit>*/ expectedVisits;
final String cls;
final String method;
const Test(this.code, this.expectedVisits)
- : cls = null, method = 'm', codeByPrefix = null;
+ : cls = null, method = 'm', codeByPrefix = null, isDeferred = false;
const Test.clazz(this.code, this.expectedVisits,
{this.cls: 'C', this.method: 'm'})
- : codeByPrefix = null;
- const Test.prefix(this.codeByPrefix, this.code, this.expectedVisits)
+ : codeByPrefix = null, isDeferred = false;
+ const Test.prefix(this.codeByPrefix, this.code, this.expectedVisits,
+ {this.isDeferred: false})
: cls = null, method = 'm';
String toString() {
@@ -276,7 +278,11 @@
if (test.codeByPrefix != null) {
String prefixFilename = 'pre$index.dart';
sourceFiles[prefixFilename] = test.codeByPrefix;
- testSource.writeln("import '$prefixFilename' as p;");
+ if (test.isDeferred) {
+ testSource.writeln("import '$prefixFilename' deferred as p;");
+ } else {
+ testSource.writeln("import '$prefixFilename' as p;");
+ }
}
String filename = 'lib$index.dart';
@@ -703,4 +709,6 @@
VISIT_CONSTANT_GET,
VISIT_CONSTANT_INVOKE,
+
+ PREVISIT_DEFERRED_ACCESS,
}
diff --git a/tests/compiler/dart2js/semantic_visitor_test_send_data.dart b/tests/compiler/dart2js/semantic_visitor_test_send_data.dart
index 7ffca23..9a420d6 100644
--- a/tests/compiler/dart2js/semantic_visitor_test_send_data.dart
+++ b/tests/compiler/dart2js/semantic_visitor_test_send_data.dart
@@ -107,6 +107,20 @@
'm() => p.C.o;',
const Visit(VisitKind.VISIT_STATIC_FIELD_GET,
element: 'field(C#o)')),
+ const Test.prefix(
+ '''
+ class C {
+ static var o;
+ }
+ ''',
+ 'm() => p.C.o;',
+ const [
+ const Visit(VisitKind.PREVISIT_DEFERRED_ACCESS,
+ element: 'prefix(p)'),
+ const Visit(VisitKind.VISIT_STATIC_FIELD_GET,
+ element: 'field(C#o)'),
+ ],
+ isDeferred: true),
const Test(
'''
class C {
@@ -125,6 +139,48 @@
''',
const Visit(VisitKind.VISIT_UNRESOLVED_GET,
name: 'o')),
+ const Test.prefix(
+ '''
+ ''',
+ 'm() => p.C.o;',
+ const [
+ const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_GET,
+ receiver: 'p.C', name: 'o'),
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET, name: 'C'),
+ ]),
+ const Test.prefix(
+ '''
+ class C {
+ }
+ ''',
+ 'm() => p.C.o;',
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET, name: 'o')),
+ const Test.prefix(
+ '''
+ ''',
+ 'm() => p.C.o;',
+ const [
+ const Visit(VisitKind.VISIT_DYNAMIC_PROPERTY_GET,
+ receiver: 'p.C', name: 'o'),
+ const Visit(VisitKind.PREVISIT_DEFERRED_ACCESS,
+ element: 'prefix(p)'),
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET,
+ name: 'C'),
+ ],
+ isDeferred: true),
+ const Test.prefix(
+ '''
+ class C {
+ }
+ ''',
+ 'm() => p.C.o;',
+ const [
+ const Visit(VisitKind.PREVISIT_DEFERRED_ACCESS,
+ element: 'prefix(p)'),
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET,
+ name: 'o'),
+ ],
+ isDeferred: true),
const Test(
'''
class C {}
@@ -659,6 +715,35 @@
'm() => p.o;',
const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_GET,
element: 'field(o)')),
+ const Test.prefix(
+ '''
+ var o;
+ ''',
+ 'm() => p.o;',
+ const [
+ const Visit(VisitKind.PREVISIT_DEFERRED_ACCESS,
+ element: 'prefix(p)'),
+ const Visit(VisitKind.VISIT_TOP_LEVEL_FIELD_GET,
+ element: 'field(o)'),
+ ],
+ isDeferred: true),
+ const Test.prefix(
+ '''
+ ''',
+ 'm() => p.o;',
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET,
+ name: 'o')),
+ const Test.prefix(
+ '''
+ ''',
+ 'm() => p.o;',
+ const [
+ const Visit(VisitKind.PREVISIT_DEFERRED_ACCESS,
+ element: 'prefix(p)'),
+ const Visit(VisitKind.VISIT_UNRESOLVED_GET,
+ name: 'o'),
+ ],
+ isDeferred: true),
const Test(
'''
var o;
diff --git a/tests/compiler/dart2js/semantic_visitor_test_send_visitor.dart b/tests/compiler/dart2js/semantic_visitor_test_send_visitor.dart
index a602e2e..713a8c3 100644
--- a/tests/compiler/dart2js/semantic_visitor_test_send_visitor.dart
+++ b/tests/compiler/dart2js/semantic_visitor_test_send_visitor.dart
@@ -2940,4 +2940,12 @@
constant: constant.getText()));
super.visitConstantInvoke(node, constant, arguments, callStructure, arg);
}
+
+ @override
+ previsitDeferredAccess(
+ Send node,
+ PrefixElement prefix,
+ arg) {
+ visits.add(new Visit(VisitKind.PREVISIT_DEFERRED_ACCESS, element: prefix));
+ }
}
diff --git a/tests/compiler/dart2js/sourcemaps/sourcemap_helper.dart b/tests/compiler/dart2js/sourcemaps/sourcemap_helper.dart
index b0dfb21..697bf02 100644
--- a/tests/compiler/dart2js/sourcemaps/sourcemap_helper.dart
+++ b/tests/compiler/dart2js/sourcemaps/sourcemap_helper.dart
@@ -5,8 +5,9 @@
library sourcemap.helper;
import 'dart:async';
+import 'package:compiler/compiler_new.dart';
import 'package:compiler/src/apiimpl.dart' as api;
-import 'package:compiler/src/dart2jslib.dart' show NullSink;
+import 'package:compiler/src/null_compiler_output.dart' show NullSink;
import 'package:compiler/src/elements/elements.dart';
import 'package:compiler/src/helpers/helpers.dart';
import 'package:compiler/src/filenames.dart';
@@ -20,10 +21,11 @@
import '../memory_compiler.dart';
import '../output_collector.dart';
-class OutputProvider {
+class OutputProvider implements CompilerOutput {
BufferedEventSink jsMapOutput;
- EventSink<String> call(String name, String extension) {
+ @override
+ EventSink<String> createEventSink(String name, String extension) {
if (extension == 'js.map') {
return jsMapOutput = new BufferedEventSink();
}
@@ -37,7 +39,8 @@
CloningOutputProvider(Uri jsUri, Uri jsMapUri)
: outputProvider = new RandomAccessFileOutputProvider(jsUri, jsMapUri);
- EventSink<String> call(String name, String extension) {
+ @override
+ EventSink<String> createEventSink(String name, String extension) {
EventSink<String> output = outputProvider(name, extension);
if (extension == 'js.map') {
output = new CloningEventSink(
diff --git a/tests/compiler/dart2js/unneeded_part_js_test.dart b/tests/compiler/dart2js/unneeded_part_js_test.dart
index 6c52339..2ad0c3e 100644
--- a/tests/compiler/dart2js/unneeded_part_js_test.dart
+++ b/tests/compiler/dart2js/unneeded_part_js_test.dart
@@ -4,45 +4,22 @@
// Test that no parts are emitted when deferred loading isn't used.
+import 'package:async_helper/async_helper.dart';
+import 'package:compiler/src/dart2jslib.dart';
import 'package:expect/expect.dart';
-import "package:async_helper/async_helper.dart";
-import 'memory_source_file_helper.dart';
-
-import 'package:compiler/src/dart2jslib.dart'
- show NullSink;
-
-import 'package:compiler/compiler.dart'
- show Diagnostic;
-
-import 'dart:async';
+import 'memory_compiler.dart';
main() {
- Uri script = currentDirectory.resolveUri(Platform.script);
- Uri libraryRoot = script.resolve('../../../sdk/');
- Uri packageRoot = script.resolve('./packages/');
+ DiagnosticCollector diagnostics = new DiagnosticCollector();
+ OutputCollector output = new OutputCollector();
+ Compiler compiler = compilerFor(
+ MEMORY_SOURCE_FILES,
+ diagnosticHandler: diagnostics,
+ outputProvider: output);
- var provider = new MemorySourceFileProvider(MEMORY_SOURCE_FILES);
- void diagnosticHandler(Uri uri, int begin, int end,
- String message, Diagnostic kind) {
- if (kind == Diagnostic.VERBOSE_INFO) {
- return;
- }
- throw '$uri:$begin:$end:$message:$kind';
- }
-
- EventSink<String> outputProvider(String name, String extension) {
- if (name != '') throw 'Attempt to output file "$name.$extension"';
- return new NullSink('$name.$extension');
- }
-
- Compiler compiler = new Compiler(provider.readStringFromUri,
- outputProvider,
- diagnosticHandler,
- libraryRoot,
- packageRoot,
- [],
- {});
asyncTest(() => compiler.run(Uri.parse('memory:main.dart')).then((_) {
+ Expect.isFalse(diagnostics.hasRegularMessages);
+ Expect.isFalse(output.hasExtraOutput);
Expect.isFalse(compiler.compilationFailed);
}));
}
diff --git a/tests/compiler/dart2js_extra/dart2js_extra.status b/tests/compiler/dart2js_extra/dart2js_extra.status
index 5c61219..e61053c 100644
--- a/tests/compiler/dart2js_extra/dart2js_extra.status
+++ b/tests/compiler/dart2js_extra/dart2js_extra.status
@@ -67,24 +67,21 @@
16407_test: Pass # Please triage this failure.
22868_test: Crash # (main()async{var clo... cannot handle async/sync*/async* functions
22895_test: Crash # (main()async{var clo... cannot handle async/sync*/async* functions
-23432_test: RuntimeError # Please triage this failure.
+23432_test: RuntimeError, Pass # Please triage this failure. (Passes for the wrong reason)
async_stacktrace_test/asyncStar: Crash # (runTests()async{awa... cannot handle async/sync*/async* functions
async_stacktrace_test/none: Crash # (runTests()async{awa... cannot handle async/sync*/async* functions
closure_capture5_test: Crash # (i=0): For-loop variable captured in loop header
-conditional_send_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred/deferred_class_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred/deferred_constant2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred/deferred_constant3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred/deferred_constant4_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred/deferred_function_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred/deferred_mirrors1_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred/deferred_mirrors2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-deferred/deferred_overlapping_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-if_null_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirror_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors_used_warning2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors_used_warning_test/minif: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors_used_warning_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-reflect_native_types_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+deferred/deferred_class_test: RuntimeError # Z.loadLibrary is not a function
+deferred/deferred_constant2_test: Crash # (lib.C1): deferred access is not implemented
+deferred/deferred_constant3_test: Crash # (lib.C1): deferred access is not implemented
+deferred/deferred_constant4_test: RuntimeError # B.loadLibrary is not a function
+deferred/deferred_function_test: Crash # (lib.foo): deferred access is not implemented
+deferred/deferred_mirrors1_test: Crash # (lazy.foo()): deferred access is not implemented
+deferred/deferred_overlapping_test: RuntimeError # E.loadLibrary is not a function
+deferred_fail_and_retry_test: Crash # (lib.foo()): deferred access is not implemented
+deferred_fail_and_retry_worker_test: Crash # (lib.foo()): deferred access is not implemented
+deferred_split_test: Crash # (b.createA()): deferred access is not implemented
+mirror_printer_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+reflect_native_types_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
switch_test/none: Crash # (switch (val){foo:ba... continue to a labeled switch case
-timer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
diff --git a/tests/compiler/dart2js_extra/deferred_split_lib1.dart b/tests/compiler/dart2js_extra/deferred_split_lib1.dart
new file mode 100644
index 0000000..195357a
--- /dev/null
+++ b/tests/compiler/dart2js_extra/deferred_split_lib1.dart
@@ -0,0 +1,7 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Library loaded eagerly by deferred_split_test.dart
+
+class A<T> {}
diff --git a/tests/compiler/dart2js_extra/deferred_split_lib2.dart b/tests/compiler/dart2js_extra/deferred_split_lib2.dart
new file mode 100644
index 0000000..d690e31
--- /dev/null
+++ b/tests/compiler/dart2js_extra/deferred_split_lib2.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Deferred library loaded by deferred_split_test.dart
+
+import 'deferred_split_lib1.dart';
+
+createA() => new A();
diff --git a/tests/compiler/dart2js_extra/deferred_split_test.dart b/tests/compiler/dart2js_extra/deferred_split_test.dart
new file mode 100644
index 0000000..de8b3e8
--- /dev/null
+++ b/tests/compiler/dart2js_extra/deferred_split_test.dart
@@ -0,0 +1,22 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+/// Regression for issue 23853: we used to incorreclty split and put a type in a
+/// deferred hunk if the type was used explicitly in the deferred library and
+/// was used only in a generic type in the main library.
+library compiler.test.dart2js_extra.deferred_split_test;
+
+import 'deferred_split_lib1.dart';
+import 'deferred_split_lib2.dart' deferred as b;
+
+class TypeLiteral<T> {
+ Type get type => T;
+}
+
+main() {
+ // This line failed with a runtime error prior to the fix:
+ new TypeLiteral<A<Object>>().type;
+
+ b.loadLibrary().then((_) => b.createA());
+}
diff --git a/tests/compiler/dart2js_native/dart2js_native.status b/tests/compiler/dart2js_native/dart2js_native.status
index bacc7ed..34e5a50 100644
--- a/tests/compiler/dart2js_native/dart2js_native.status
+++ b/tests/compiler/dart2js_native/dart2js_native.status
@@ -21,19 +21,12 @@
compute_this_script_test: Skip # Issue 17458
[ $compiler == dart2js && $cps_ir ]
-compute_this_script_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-event_loop_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-internal_library_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirror_intercepted_field_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-native_closure_identity_frog_test: RuntimeError # invoke is not a function
+mirror_intercepted_field_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
native_exception_test: RuntimeError # J.getInterceptor(...).toString$0 is not a function
native_method_inlining_test: RuntimeError # Please triage this failure.
-native_mirror_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+native_mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
native_no_such_method_exception3_frog_test: RuntimeError # Please triage this failure.
-native_wrapping_function3_frog_test: RuntimeError # invoke is not a function
-native_wrapping_function_frog_test: RuntimeError # invoke is not a function
optimization_hints_test: RuntimeError # Please triage this failure.
-static_methods_test: RuntimeError # invoke is not a function
subclassing_constructor_1_test: RuntimeError # Please triage this failure.
subclassing_constructor_2_test: RuntimeError # Please triage this failure.
subclassing_super_call_test: RuntimeError # this.get$afield is not a function
diff --git a/tests/corelib/corelib.status b/tests/corelib/corelib.status
index 2061caf..acae7a0 100644
--- a/tests/corelib/corelib.status
+++ b/tests/corelib/corelib.status
@@ -221,13 +221,11 @@
iterable_to_set_test: RuntimeError # Please triage this failure.
list_test/01: RuntimeError # this.get$length is not a function
list_test/none: RuntimeError # this.get$length is not a function
-main_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
map_values2_test: RuntimeError # Please triage this failure.
map_values3_test: RuntimeError # Please triage this failure.
map_values4_test: RuntimeError # Please triage this failure.
regexp/pcre_test: Crash # Stack Overflow
shuffle_test: RuntimeError # this.get$length is not a function
-stacktrace_fromstring_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
string_fromcharcodes_test: RuntimeError # this.get$length is not a function
symbol_operator_test/03: RuntimeError # Please triage this failure.
symbol_reserved_word_test/03: Pass # Please triage this failure.
diff --git a/tests/corelib/uri_normalize_path_test.dart b/tests/corelib/uri_normalize_path_test.dart
index 03c818f..f485cbe 100644
--- a/tests/corelib/uri_normalize_path_test.dart
+++ b/tests/corelib/uri_normalize_path_test.dart
@@ -45,7 +45,7 @@
test("./../foo", "foo");
test("./../", "");
test("./../.", "");
- test("foo/bar/baz/../../../../qux", "qux");
+ test("foo/bar/baz/../../../../qux", "/qux");
test("/foo/bar/baz/../../../../qux", "/qux");
test(".", "");
test("..", "");
diff --git a/tests/corelib/uri_normalize_test.dart b/tests/corelib/uri_normalize_test.dart
index 91bbe10..5c2f814 100644
--- a/tests/corelib/uri_normalize_test.dart
+++ b/tests/corelib/uri_normalize_test.dart
@@ -5,10 +5,12 @@
import "package:expect/expect.dart";
testNormalizePath() {
- test(String expected, String path) {
- var uri = new Uri(path: path);
- Expect.equals(expected, uri.path);
+ test(String expected, String path, {String scheme, String host}) {
+ var uri = new Uri(scheme: scheme, host: host, path: path);
Expect.equals(expected, uri.toString());
+ if (scheme == null && host == null) {
+ Expect.equals(expected, uri.path);
+ }
}
var unreserved = "-._~0123456789"
@@ -32,9 +34,42 @@
x.write(i.toRadixString(16));
}
}
- print(x.toString().toUpperCase());
Expect.equals(x.toString().toUpperCase(),
new Uri(path: x.toString()).toString().toUpperCase());
+
+ // Normalized paths.
+
+ // Full absolute path normalization for absolute paths.
+ test("/a/b/c/", "/../a/./b/z/../c/d/..");
+ test("/a/b/c/", "/./a/b/c/");
+ test("/a/b/c/", "/./../a/b/c/");
+ test("/a/b/c/", "/./../a/b/c/.");
+ test("/a/b/c/", "/./../a/b/c/z/./..");
+ test("/", "/a/..");
+ // Full absolute path normalization for URIs with scheme.
+ test("s:a/b/c/", "../a/./b/z/../c/d/..", scheme: "s");
+ test("s:a/b/c/", "./a/b/c/", scheme: "s");
+ test("s:a/b/c/", "./../a/b/c/", scheme: "s");
+ test("s:a/b/c/", "./../a/b/c/.", scheme: "s");
+ test("s:a/b/c/", "./../a/b/c/z/./..", scheme: "s");
+ test("s:/", "/a/..", scheme: "s");
+ test("s:/", "a/..", scheme: "s");
+ // Full absolute path normalization for URIs with authority.
+ test("//h/a/b/c/", "../a/./b/z/../c/d/..", host: "h");
+ test("//h/a/b/c/", "./a/b/c/", host: "h");
+ test("//h/a/b/c/", "./../a/b/c/", host: "h");
+ test("//h/a/b/c/", "./../a/b/c/.", host: "h");
+ test("//h/a/b/c/", "./../a/b/c/z/./..", host: "h");
+ test("//h/", "/a/..", host: "h");
+ test("//h/", "a/..", host: "h");
+ // Partial relative normalization (allowing leading .. or ./ for current dir).
+ test("../a/b/c/", "../a/./b/z/../c/d/..");
+ test("a/b/c/", "./a/b/c/");
+ test("../a/b/c/", "./../a/b/c/");
+ test("../a/b/c/", "./../a/b/c/.");
+ test("../a/b/c/", "./../a/b/c/z/./..");
+ test("/", "/a/..");
+ test("./", "a/..");
}
main() {
diff --git a/tests/corelib/uri_test.dart b/tests/corelib/uri_test.dart
index 7971256..834cadc 100644
--- a/tests/corelib/uri_test.dart
+++ b/tests/corelib/uri_test.dart
@@ -61,64 +61,74 @@
}
}
-testUriPerRFCs(Uri base) {
+testUriPerRFCs() {
+ final urisSample = "http://a/b/c/d;p?q";
+ Uri base = Uri.parse(urisSample);
+ testResolve(expect, relative) {
+ Expect.stringEquals(expect, base.resolve(relative).toString());
+ }
+
// From RFC 3986.
- Expect.stringEquals("g:h", base.resolve("g:h").toString());
- Expect.stringEquals("http://a/b/c/g", base.resolve("g").toString());
- Expect.stringEquals("http://a/b/c/g", base.resolve("./g").toString());
- Expect.stringEquals("http://a/b/c/g/", base.resolve("g/").toString());
- Expect.stringEquals("http://a/g", base.resolve("/g").toString());
- Expect.stringEquals("http://g", base.resolve("//g").toString());
- Expect.stringEquals("http://a/b/c/d;p?y", base.resolve("?y").toString());
- Expect.stringEquals("http://a/b/c/g?y", base.resolve("g?y").toString());
- Expect.stringEquals("http://a/b/c/d;p?q#s", base.resolve("#s").toString());
- Expect.stringEquals("http://a/b/c/g#s", base.resolve("g#s").toString());
- Expect.stringEquals("http://a/b/c/g?y#s", base.resolve("g?y#s").toString());
- Expect.stringEquals("http://a/b/c/;x", base.resolve(";x").toString());
- Expect.stringEquals("http://a/b/c/g;x", base.resolve("g;x").toString());
- Expect.stringEquals("http://a/b/c/g;x?y#s",
- base.resolve("g;x?y#s").toString());
- Expect.stringEquals("http://a/b/c/d;p?q", base.resolve("").toString());
- Expect.stringEquals("http://a/b/c/", base.resolve(".").toString());
- Expect.stringEquals("http://a/b/c/", base.resolve("./").toString());
- Expect.stringEquals("http://a/b/", base.resolve("..").toString());
- Expect.stringEquals("http://a/b/", base.resolve("../").toString());
- Expect.stringEquals("http://a/b/g", base.resolve("../g").toString());
- Expect.stringEquals("http://a/", base.resolve("../..").toString());
- Expect.stringEquals("http://a/", base.resolve("../../").toString());
- Expect.stringEquals("http://a/g", base.resolve("../../g").toString());
- Expect.stringEquals("http://a/g", base.resolve("../../../g").toString());
- Expect.stringEquals("http://a/g", base.resolve("../../../../g").toString());
- Expect.stringEquals("http://a/g", base.resolve("/./g").toString());
- Expect.stringEquals("http://a/g", base.resolve("/../g").toString());
- Expect.stringEquals("http://a/b/c/g.", base.resolve("g.").toString());
- Expect.stringEquals("http://a/b/c/.g", base.resolve(".g").toString());
- Expect.stringEquals("http://a/b/c/g..", base.resolve("g..").toString());
- Expect.stringEquals("http://a/b/c/..g", base.resolve("..g").toString());
- Expect.stringEquals("http://a/b/g", base.resolve("./../g").toString());
- Expect.stringEquals("http://a/b/c/g/", base.resolve("./g/.").toString());
- Expect.stringEquals("http://a/b/c/g/h", base.resolve("g/./h").toString());
- Expect.stringEquals("http://a/b/c/h", base.resolve("g/../h").toString());
- Expect.stringEquals("http://a/b/c/g;x=1/y",
- base.resolve("g;x=1/./y").toString());
- Expect.stringEquals("http://a/b/c/y", base.resolve("g;x=1/../y").toString());
- Expect.stringEquals("http://a/b/c/g?y/./x",
- base.resolve("g?y/./x").toString());
- Expect.stringEquals("http://a/b/c/g?y/../x",
- base.resolve("g?y/../x").toString());
- Expect.stringEquals("http://a/b/c/g#s/./x",
- base.resolve("g#s/./x").toString());
- Expect.stringEquals("http://a/b/c/g#s/../x",
- base.resolve("g#s/../x").toString());
- Expect.stringEquals("http:g", base.resolve("http:g").toString());
+ testResolve("g:h", "g:h");
+ testResolve("http://a/b/c/g", "g");
+ testResolve("http://a/b/c/g", "./g");
+ testResolve("http://a/b/c/g/", "g/");
+ testResolve("http://a/g", "/g");
+ testResolve("http://g", "//g");
+ testResolve("http://a/b/c/d;p?y", "?y");
+ testResolve("http://a/b/c/g?y", "g?y");
+ testResolve("http://a/b/c/d;p?q#s", "#s");
+ testResolve("http://a/b/c/g#s", "g#s");
+ testResolve("http://a/b/c/g?y#s", "g?y#s");
+ testResolve("http://a/b/c/;x", ";x");
+ testResolve("http://a/b/c/g;x", "g;x");
+ testResolve("http://a/b/c/g;x?y#s", "g;x?y#s");
+ testResolve("http://a/b/c/d;p?q", "");
+ testResolve("http://a/b/c/", ".");
+ testResolve("http://a/b/c/", "./");
+ testResolve("http://a/b/", "..");
+ testResolve("http://a/b/", "../");
+ testResolve("http://a/b/g", "../g");
+ testResolve("http://a/", "../..");
+ testResolve("http://a/", "../../");
+ testResolve("http://a/g", "../../g");
+ testResolve("http://a/g", "../../../g");
+ testResolve("http://a/g", "../../../../g");
+ testResolve("http://a/g", "/./g");
+ testResolve("http://a/g", "/../g");
+ testResolve("http://a/b/c/g.", "g.");
+ testResolve("http://a/b/c/.g", ".g");
+ testResolve("http://a/b/c/g..", "g..");
+ testResolve("http://a/b/c/..g", "..g");
+ testResolve("http://a/b/g", "./../g");
+ testResolve("http://a/b/c/g/", "./g/.");
+ testResolve("http://a/b/c/g/h", "g/./h");
+ testResolve("http://a/b/c/h", "g/../h");
+ testResolve("http://a/b/c/g;x=1/y", "g;x=1/./y");
+ testResolve("http://a/b/c/y", "g;x=1/../y");
+ testResolve("http://a/b/c/g?y/./x", "g?y/./x");
+ testResolve("http://a/b/c/g?y/../x", "g?y/../x");
+ testResolve("http://a/b/c/g#s/./x", "g#s/./x");
+ testResolve("http://a/b/c/g#s/../x", "g#s/../x");
+ testResolve("http:g", "http:g");
// Additional tests (not from RFC 3986).
- Expect.stringEquals("http://a/b/g;p/h;s",
- base.resolve("../g;p/h;s").toString());
+ testResolve("http://a/b/g;p/h;s", "../g;p/h;s");
+
+ // Test non-URI base (no scheme, no authority, relative path).
+ base = Uri.parse("a/b/c?_#_");
+ testResolve("a/b/g?q#f", "g?q#f");
+ testResolve("../", "../../..");
+ testResolve("a/b/", ".");
+ testResolve("c", "../../c");
+
+ base = Uri.parse("s:a/b");
+ testResolve("s:/c", "../c");
}
void testResolvePath(String expected, String path) {
- Expect.equals(expected, new Uri().resolveUri(new Uri(path: path)).path);
+ Expect.equals(expected,
+ new Uri(path: '/').resolveUri(new Uri(path: path)).path);
Expect.equals(
"http://localhost$expected",
Uri.parse("http://localhost").resolveUri(new Uri(path: path)).toString());
@@ -471,11 +481,7 @@
testResolvePath("/a/b/e/", "./a/b/./c/d/../../e/./.");
testResolvePath("/a/b/e/", "./a/b/./c/d/../../e/././.");
- final urisSample = "http://a/b/c/d;p?q";
- Uri baseFromString = Uri.parse(urisSample);
- testUriPerRFCs(baseFromString);
- Uri base = Uri.parse(urisSample);
- testUriPerRFCs(base);
+ testUriPerRFCs();
Expect.stringEquals(
"http://example.com",
diff --git a/tests/html/element_add_test.dart b/tests/html/element_add_test.dart
index 8346129..2c2ea01 100644
--- a/tests/html/element_add_test.dart
+++ b/tests/html/element_add_test.dart
@@ -62,6 +62,35 @@
expect(fragment.children.length, equals(1));
expect(fragment.children[0], isSpanElement);
});
+
+ test('html interpreted in correct context', () {
+ // appendHtml, in order to sanitize, needs to create a document fragment,
+ // but it needs to be created in the right context. If we try to append
+ // table components then the document fragment needs the table context
+ // or it will fail to create them.
+ var el = new TableElement();
+ el.appendHtml('<tr><td>foo</td></tr>');
+ expect(el.children.length, 1);
+ var section = el.children.first;
+ expect(section is TableSectionElement, isTrue);
+ var row = section.children.first;
+ expect(row is TableRowElement, isTrue);
+ var item = row.children.first;
+ expect(item is TableCellElement, isTrue);
+ expect(item.innerHtml, 'foo');
+ });
+
+ test("use body context for elements that are don't support it", () {
+ // Some elements can't be used as context for createContextualFragment,
+ // often because it doesn't make any sense. So adding children to a
+ // <br> has no real effect on the page, but we can do it. But the
+ // document fragment will have to be created in the body context. Verify
+ // that this doesn't throw and that the children show up.
+ var el = new BRElement();
+ el.appendHtml("<p>Stuff</p>");
+ expect(el.children.length, 1);
+ expect(el.children[0].outerHtml, "<p>Stuff</p>");
+ });
});
group('appendText', () {
diff --git a/tests/html/filteredelementlist_test.dart b/tests/html/filteredelementlist_test.dart
new file mode 100644
index 0000000..b4110f7
--- /dev/null
+++ b/tests/html/filteredelementlist_test.dart
@@ -0,0 +1,111 @@
+library filteredelementlist_test;
+
+import 'package:unittest/unittest.dart';
+import 'package:unittest/html_config.dart';
+import 'dart:html';
+import 'dart:html_common';
+
+main() {
+ var t1 = new Text('T1'),
+ t2 = new Text('T2'),
+ t3 = new Text('T3'),
+ t4 = new Text('T4');
+
+ var d1 = new DivElement(),
+ d2 = new DivElement(),
+ d3 = new DivElement();
+
+ createTestDiv() {
+ var testDiv = new DivElement();
+ testDiv
+ ..append(t1)
+ ..append(d1)
+ ..append(t2)
+ ..append(d2)
+ ..append(t3)
+ ..append(d3)
+ ..append(t4);
+ return testDiv;
+ }
+
+ useHtmlConfiguration();
+
+ test('FilteredElementList.insert test', () {
+ var i = new DivElement();
+
+ // Insert before first element
+ var nodeList = createTestDiv();
+ var elementList = new FilteredElementList(nodeList);
+ elementList.insert(0, i);
+ expect(nodeList.childNodes[0], t1);
+ expect(nodeList.childNodes[1], i);
+ expect(nodeList.childNodes[2], d1);
+
+ // Insert in middle
+ nodeList = createTestDiv();
+ elementList = new FilteredElementList(nodeList);
+ elementList.insert(1, i);
+ expect(nodeList.childNodes[2], t2);
+ expect(nodeList.childNodes[3], i);
+ expect(nodeList.childNodes[4], d2);
+
+ // Insert before last element
+ nodeList = createTestDiv();
+ elementList = new FilteredElementList(nodeList);
+ elementList.insert(2, i);
+ expect(nodeList.childNodes[4], t3);
+ expect(nodeList.childNodes[5], i);
+ expect(nodeList.childNodes[6], d3);
+ });
+
+ test('FilteredElementList.insertAll test', () {
+ var i1 = new DivElement(),
+ i2 = new DivElement();
+
+ var it = [i1, i2];
+
+ // Insert before first element
+ var nodeList = createTestDiv();
+ var elementList = new FilteredElementList(nodeList);
+ elementList.insertAll(0, it);
+ expect(nodeList.childNodes[0], t1);
+ expect(nodeList.childNodes[1], i1);
+ expect(nodeList.childNodes[2], i2);
+ expect(nodeList.childNodes[3], d1);
+
+ // Insert in middle
+ nodeList = createTestDiv();
+ elementList = new FilteredElementList(nodeList);
+ elementList.insertAll(1, it);
+ expect(nodeList.childNodes[2], t2);
+ expect(nodeList.childNodes[3], i1);
+ expect(nodeList.childNodes[4], i2);
+ expect(nodeList.childNodes[5], d2);
+
+ // Insert before last element
+ nodeList = createTestDiv();
+ elementList = new FilteredElementList(nodeList);
+ elementList.insertAll(2, it);
+ expect(nodeList.childNodes[4], t3);
+ expect(nodeList.childNodes[5], i1);
+ expect(nodeList.childNodes[6], i2);
+ expect(nodeList.childNodes[7], d3);
+ });
+
+ test('FilteredElementList.insertAndRemove', () {
+ var emptyDiv = new DivElement();
+ var elementList = new FilteredElementList(emptyDiv);
+ expect(() => elementList[0], throwsA(isRangeError));
+ expect(() => elementList.insert(2, new BRElement()), throwsA(isRangeError));
+ var br = new BRElement();
+ elementList.insert(0, br);
+ expect(elementList.removeLast(), br);
+ elementList.add(br);
+ expect(elementList.remove(br), isTrue);
+ var br2 = new BRElement();
+ elementList.add(br);
+ expect(elementList.remove(br2), isFalse);
+ expect(elementList[0], br);
+ expect(() => elementList[1], throwsA(isRangeError));
+ });
+}
diff --git a/tests/html/node_validator_important_if_you_suppress_make_the_bug_critical_test.dart b/tests/html/node_validator_important_if_you_suppress_make_the_bug_critical_test.dart
index dfdcbdb..e5c5622 100644
--- a/tests/html/node_validator_important_if_you_suppress_make_the_bug_critical_test.dart
+++ b/tests/html/node_validator_important_if_you_suppress_make_the_bug_critical_test.dart
@@ -293,6 +293,18 @@
'<div></div>');
});
+ group('identify Uri attributes listed as attributes', () {
+ var validator = new NodeValidatorBuilder()
+ ..allowElement(
+ 'a',
+ attributes: ['href']);
+
+ testHtml('reject different-origin link',
+ validator,
+ '<a href="http://www.google.com/foo">Google-Foo</a>',
+ '<a>Google-Foo</a>');
+ });
+
group('allowTagExtension', () {
var validator = new NodeValidatorBuilder()
..allowTagExtension(
diff --git a/tests/isolate/error_at_spawn_test.dart b/tests/isolate/error_at_spawn_test.dart
new file mode 100644
index 0000000..bd17b63
--- /dev/null
+++ b/tests/isolate/error_at_spawn_test.dart
@@ -0,0 +1,34 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library error_at_spawn;
+
+import "dart:isolate";
+import "dart:async";
+import "package:async_helper/async_helper.dart";
+import "package:expect/expect.dart";
+
+isomain(args) {
+ throw new ArgumentError("fast error");
+}
+
+main(){
+ asyncStart();
+
+ // Capture errors from other isolate as raw messages.
+ RawReceivePort errorPort = new RawReceivePort();
+ errorPort.handler = (message) {
+ String error = message[0];
+ String stack = message[1];
+ Expect.equals(new ArgumentError("fast error").toString(), "$error");
+ errorPort.close();
+ asyncEnd();
+ };
+
+ Isolate.spawn(isomain,
+ null,
+ // Setup handler as part of spawn.
+ errorsAreFatal: false,
+ onError: errorPort.sendPort);
+}
diff --git a/tests/isolate/error_at_spawnuri_iso.dart b/tests/isolate/error_at_spawnuri_iso.dart
new file mode 100644
index 0000000..b165051
--- /dev/null
+++ b/tests/isolate/error_at_spawnuri_iso.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library error_at_spawnuri_iso;
+
+main() {
+ throw new ArgumentError("fast error");
+}
diff --git a/tests/isolate/error_at_spawnuri_test.dart b/tests/isolate/error_at_spawnuri_test.dart
new file mode 100644
index 0000000..1edcdf74
--- /dev/null
+++ b/tests/isolate/error_at_spawnuri_test.dart
@@ -0,0 +1,32 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+//
+// OtherScripts=error_at_spawnuri_iso.dart
+
+library error_at_spawnuri;
+
+import "dart:isolate";
+import "dart:async";
+import "package:async_helper/async_helper.dart";
+import "package:expect/expect.dart";
+
+main(){
+ asyncStart();
+
+ // Capture errors from other isolate as raw messages.
+ RawReceivePort errorPort = new RawReceivePort();
+ errorPort.handler = (message) {
+ String error = message[0];
+ String stack = message[1];
+ Expect.equals(new ArgumentError("fast error").toString(), "$error");
+ errorPort.close();
+ asyncEnd();
+ };
+
+ Isolate.spawnUri(Uri.parse("error_at_spawnuri_iso.dart"), [],
+ null,
+ // Setup handler as part of spawn.
+ errorsAreFatal: false,
+ onError: errorPort.sendPort);
+}
diff --git a/tests/isolate/error_exit_at_spawn_test.dart b/tests/isolate/error_exit_at_spawn_test.dart
new file mode 100644
index 0000000..d26dfd2
--- /dev/null
+++ b/tests/isolate/error_exit_at_spawn_test.dart
@@ -0,0 +1,88 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library error_exit_at_spawn;
+
+import "dart:isolate";
+import "dart:async";
+import "package:async_helper/async_helper.dart";
+import "package:expect/expect.dart";
+
+isomain(replyPort) {
+ RawReceivePort port = new RawReceivePort();
+ port.handler = (v) {
+ switch (v) {
+ case 0:
+ replyPort.send(42);
+ break;
+ case 1:
+ throw new ArgumentError("whoops");
+ case 2:
+ throw new RangeError.value(37);
+ case 3:
+ port.close();
+ }
+ };
+ replyPort.send(port.sendPort);
+}
+
+main(){
+ asyncStart();
+ // Setup the port for communication with the newly spawned isolate.
+ RawReceivePort reply = new RawReceivePort(null);
+ SendPort sendPort;
+ int state = 0;
+ reply.handler = (port) {
+ sendPort = port;
+ port.send(state);
+ reply.handler = (v) {
+ Expect.equals(0, state);
+ Expect.equals(42, v);
+ state++;
+ sendPort.send(state);
+ };
+ };
+
+ // Capture errors from other isolate as raw messages.
+ RawReceivePort errorPort = new RawReceivePort();
+ errorPort.handler = (message) {
+ String error = message[0];
+ String stack = message[1];
+ switch (state) {
+ case 1:
+ Expect.equals(new ArgumentError("whoops").toString(), "$error");
+ state++;
+ sendPort.send(state);
+ break;
+ case 2:
+ Expect.equals(new RangeError.value(37).toString(), "$error");
+ state++;
+ sendPort.send(state);
+ reply.close();
+ errorPort.close();
+ break;
+ default:
+ throw "Bad state for error: $state: $error";
+ }
+ };
+
+ // Get exit notifications from other isolate as raw messages.
+ RawReceivePort exitPort = new RawReceivePort();
+ exitPort.handler = (message) {
+ // onExit ports registered at spawn cannot have a particular message
+ // associated.
+ Expect.equals(null, message);
+ // Only exit after sending the termination message.
+ Expect.equals(3, state);
+ exitPort.close();
+ asyncEnd();
+ };
+
+ Isolate.spawn(isomain,
+ reply.sendPort,
+ // Setup handlers as part of spawn.
+ errorsAreFatal: false,
+ onError: errorPort.sendPort,
+ onExit: exitPort.sendPort);
+}
diff --git a/tests/isolate/error_exit_at_spawnuri_iso.dart b/tests/isolate/error_exit_at_spawnuri_iso.dart
new file mode 100644
index 0000000..4c968f8
--- /dev/null
+++ b/tests/isolate/error_exit_at_spawnuri_iso.dart
@@ -0,0 +1,25 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library error_exit_at_spawnuri_iso;
+
+import "dart:isolate";
+
+main(args, replyPort) {
+ RawReceivePort port = new RawReceivePort();
+ port.handler = (v) {
+ switch (v) {
+ case 0:
+ replyPort.send(42);
+ break;
+ case 1:
+ throw new ArgumentError("whoops");
+ case 2:
+ throw new RangeError.value(37);
+ case 3:
+ port.close();
+ }
+ };
+ replyPort.send(port.sendPort);
+}
diff --git a/tests/isolate/error_exit_at_spawnuri_test.dart b/tests/isolate/error_exit_at_spawnuri_test.dart
new file mode 100644
index 0000000..27446e0
--- /dev/null
+++ b/tests/isolate/error_exit_at_spawnuri_test.dart
@@ -0,0 +1,72 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+//
+// OtherScripts=error_exit_at_spawnuri_iso.dart
+
+library error_exit_at_spawnuri;
+
+import "dart:isolate";
+import "dart:async";
+import "package:async_helper/async_helper.dart";
+import "package:expect/expect.dart";
+
+main(){
+ asyncStart();
+ // Setup the port for communication with the newly spawned isolate.
+ RawReceivePort reply = new RawReceivePort(null);
+ SendPort sendPort;
+ int state = 0;
+ reply.handler = (port) {
+ sendPort = port;
+ port.send(state);
+ reply.handler = (v) {
+ Expect.equals(0, state);
+ Expect.equals(42, v);
+ state++;
+ sendPort.send(state);
+ };
+ };
+
+ // Capture errors from other isolate as raw messages.
+ RawReceivePort errorPort = new RawReceivePort();
+ errorPort.handler = (message) {
+ String error = message[0];
+ String stack = message[1];
+ switch (state) {
+ case 1:
+ Expect.equals(new ArgumentError("whoops").toString(), "$error");
+ state++;
+ sendPort.send(state);
+ break;
+ case 2:
+ Expect.equals(new RangeError.value(37).toString(), "$error");
+ state++;
+ sendPort.send(state);
+ reply.close();
+ errorPort.close();
+ break;
+ default:
+ throw "Bad state for error: $state: $error";
+ }
+ };
+
+ // Get exit notifications from other isolate as raw messages.
+ RawReceivePort exitPort = new RawReceivePort();
+ exitPort.handler = (message) {
+ // onExit ports registered at spawn cannot have a particular message
+ // associated.
+ Expect.equals(null, message);
+ // Only exit after sending the termination message.
+ Expect.equals(3, state);
+ exitPort.close();
+ asyncEnd();
+ };
+
+ Isolate.spawnUri(Uri.parse("error_exit_at_spawnuri_iso.dart"), [],
+ reply.sendPort,
+ // Setup handlers as part of spawn.
+ errorsAreFatal: false,
+ onError: errorPort.sendPort,
+ onExit: exitPort.sendPort);
+}
diff --git a/tests/isolate/exit_at_spawn_test.dart b/tests/isolate/exit_at_spawn_test.dart
new file mode 100644
index 0000000..a03b565
--- /dev/null
+++ b/tests/isolate/exit_at_spawn_test.dart
@@ -0,0 +1,29 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library exit_at_spawn;
+
+import "dart:isolate";
+import "dart:async";
+import "package:async_helper/async_helper.dart";
+import "package:expect/expect.dart";
+
+isomain(args) {}
+
+main(){
+ asyncStart();
+
+ RawReceivePort exitPort = new RawReceivePort();
+ exitPort.handler = (message) {
+ Expect.equals(null, message);
+ exitPort.close();
+ asyncEnd();
+ };
+
+ Isolate.spawn(isomain,
+ null,
+ // Setup handler as part of spawn.
+ errorsAreFatal: false,
+ onExit: exitPort.sendPort);
+}
diff --git a/tests/isolate/exit_at_spawnuri_iso.dart b/tests/isolate/exit_at_spawnuri_iso.dart
new file mode 100644
index 0000000..9bc892e
--- /dev/null
+++ b/tests/isolate/exit_at_spawnuri_iso.dart
@@ -0,0 +1,7 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library exit_at_spawn_iso;
+
+main() {}
diff --git a/tests/isolate/exit_at_spawnuri_test.dart b/tests/isolate/exit_at_spawnuri_test.dart
new file mode 100644
index 0000000..a3c08cc
--- /dev/null
+++ b/tests/isolate/exit_at_spawnuri_test.dart
@@ -0,0 +1,29 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+//
+// OtherScripts=exit_at_spawnuri_iso.dart
+
+library exit_at_spawn;
+
+import "dart:isolate";
+import "dart:async";
+import "package:async_helper/async_helper.dart";
+import "package:expect/expect.dart";
+
+main(){
+ asyncStart();
+
+ RawReceivePort exitPort = new RawReceivePort();
+ exitPort.handler = (message) {
+ Expect.equals(null, message);
+ exitPort.close();
+ asyncEnd();
+ };
+
+ Isolate.spawnUri(Uri.parse("exit_at_spawnuri_iso.dart"), [],
+ null,
+ // Setup handler as part of spawn.
+ errorsAreFatal: false,
+ onExit: exitPort.sendPort);
+}
diff --git a/tests/isolate/isolate.status b/tests/isolate/isolate.status
index ca463e5..a683b66 100644
--- a/tests/isolate/isolate.status
+++ b/tests/isolate/isolate.status
@@ -49,12 +49,18 @@
issue_21398_parent_isolate1_test: SkipByDesign # Test uses a ".dart" URI.
issue_21398_parent_isolate2_test: SkipByDesign # Test uses a ".dart" URI.
function_send1_test: SkipByDesign # Test uses a ".dart" URI.
+error_exit_at_spawnuri_test: SkipByDesign # Test uses a ".dart" URI.
+error_at_spawnuri_test: SkipByDesign # Test uses a ".dart" URI.
+exit_at_spawnuri_test: SkipByDesign # Test uses a ".dart" URI.
message3_test/constList: RuntimeError # Issue 21817
message3_test/constList_identical: RuntimeError # Issue 21817
message3_test/constMap: RuntimeError # Issue 21817
message3_test/constInstance: RuntimeError # Issue 21817
browser/issue_12474_test: CompileTimeError # Issue 22529
enum_const_test/02: RuntimeError # Issue 21817
+error_exit_at_spawn_test: Fail, Timeout # Issue 23876
+error_at_spawn_test: Fail, Timeout # Issue 23876
+exit_at_spawn_test: Fail, Timeout # Issue 23876
[ $compiler == dart2js && $jscl ]
spawn_uri_test: SkipByDesign # Loading another file is not supported in JS shell
@@ -117,6 +123,13 @@
bool_from_environment_default_value_test: Skip
int_from_environment_default_value_test: Skip
string_from_environment_default_value_test: Skip
+error_exit_at_spawn_test: SkipByDesign # 13921 Dom isolates don't support spawnFunction
+error_at_spawn_test: SkipByDesign # 13921 Dom isolates don't support spawnFunction
+exit_at_spawn_test: SkipByDesign # 13921 Dom isolates don't support spawnFunction
+error_exit_at_spawnuri_test: SkipByDesign # 13921 Dom isolates don't support spawnFunction
+error_at_spawnuri_test: SkipByDesign # 13921 Dom isolates don't support spawnFunction
+exit_at_spawnuri_test: SkipByDesign # 13921 Dom isolates don't support spawnFunction
+
[ $compiler == dartanalyzer || $compiler == dart2analyzer ]
browser/typed_data_message_test: StaticWarning
@@ -126,55 +139,9 @@
package_root_test: SkipByDesign # Uses dart:io.
[ $compiler == dart2js && $cps_ir ]
-bool_from_environment_default_value_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-capability_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-compile_time_error_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-count_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-cross_isolate_message_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_in_isolate2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-deferred_in_isolate_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-function_send_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-handle_error2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-handle_error3_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-handle_error_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-illegal_msg_function_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-illegal_msg_mirror_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-int_from_environment_default_value_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-isolate_complex_messages_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-isolate_current_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-isolate_import_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-issue_22778_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-kill2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-kill_self_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-kill_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mandel_isolate_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-message2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-message3_test/byteBuffer: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-message3_test/fun: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-message3_test/int32x4: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-message3_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-message_enum_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-message_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mint_maker_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-nested_spawn2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-nested_spawn_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-object_leak_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-ondone_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-pause_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-ping_pause_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-ping_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-port_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-raw_port_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-request_reply_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-simple_message_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-spawn_function_custom_class_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-spawn_function_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-spawn_uri_missing_from_isolate_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-spawn_uri_missing_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-stacktrace_message_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-start_paused_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-static_function_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-string_from_environment_default_value_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-timer_isolate_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-typed_message_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-unresolved_ports_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+deferred_in_isolate2_test: Crash # (lib.f()): deferred access is not implemented
+isolate_current_test: RuntimeError # Please triage this failure.
+message3_test/byteBuffer: RuntimeError # Please triage this failure.
+message3_test/fun: RuntimeError # Please triage this failure.
+message3_test/int32x4: RuntimeError # Please triage this failure.
+message3_test/none: RuntimeError # Please triage this failure.
diff --git a/tests/language/conditional_method_invocation_test.dart b/tests/language/conditional_method_invocation_test.dart
index f6844a1..cfe0545 100644
--- a/tests/language/conditional_method_invocation_test.dart
+++ b/tests/language/conditional_method_invocation_test.dart
@@ -4,8 +4,6 @@
// Verify semantics of the ?. operator when it is used to invoke a method.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
import "conditional_access_helper.dart" as h;
diff --git a/tests/language/conditional_property_access_test.dart b/tests/language/conditional_property_access_test.dart
index 0a58a53..ca44f2d 100644
--- a/tests/language/conditional_property_access_test.dart
+++ b/tests/language/conditional_property_access_test.dart
@@ -5,8 +5,6 @@
// Verify semantics of the ?. operator when it does not appear on the LHS of an
// assignment.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
import "conditional_access_helper.dart" as h;
diff --git a/tests/language/conditional_property_assignment_test.dart b/tests/language/conditional_property_assignment_test.dart
index 6b34821..87e2bd0 100644
--- a/tests/language/conditional_property_assignment_test.dart
+++ b/tests/language/conditional_property_assignment_test.dart
@@ -5,8 +5,6 @@
// Verify semantics of the ?. operator when it appears on the LHS of an
// assignment.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
import "conditional_access_helper.dart" as h;
diff --git a/tests/language/conditional_property_increment_decrement_test.dart b/tests/language/conditional_property_increment_decrement_test.dart
index 03b48f8..6858a69 100644
--- a/tests/language/conditional_property_increment_decrement_test.dart
+++ b/tests/language/conditional_property_increment_decrement_test.dart
@@ -5,8 +5,6 @@
// Verify semantics of the ?. operator when it appears in a postincrement or
// preincrement expression (or a postdecrement or predecrement expression).
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
class C {
diff --git a/tests/language/if_null_assignment_behavior_test.dart b/tests/language/if_null_assignment_behavior_test.dart
index ca2ce93..bf01dbe 100644
--- a/tests/language/if_null_assignment_behavior_test.dart
+++ b/tests/language/if_null_assignment_behavior_test.dart
@@ -5,8 +5,6 @@
// Verify semantics of the ??= operator, including order of operations, by
// keeping track of the operations performed.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
import "if_null_assignment_helper.dart" as h;
diff --git a/tests/language/if_null_assignment_static_test.dart b/tests/language/if_null_assignment_static_test.dart
index 03739c4..9a651cf 100644
--- a/tests/language/if_null_assignment_static_test.dart
+++ b/tests/language/if_null_assignment_static_test.dart
@@ -5,8 +5,6 @@
// Verify that the static type of a ??= b is the least upper bound of the
// static types of a and b.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
// Determine whether the VM is running in checked mode.
diff --git a/tests/language/if_null_behavior_test.dart b/tests/language/if_null_behavior_test.dart
index 4fcbfa7..c023d89 100644
--- a/tests/language/if_null_behavior_test.dart
+++ b/tests/language/if_null_behavior_test.dart
@@ -7,8 +7,6 @@
// static type of e is the least upper bound of the static type of e1 and the
// static type of e2.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
class A {
diff --git a/tests/language/if_null_evaluation_order_test.dart b/tests/language/if_null_evaluation_order_test.dart
index bc067e1..9ebdafd 100644
--- a/tests/language/if_null_evaluation_order_test.dart
+++ b/tests/language/if_null_evaluation_order_test.dart
@@ -8,8 +8,6 @@
// Therefore, e1 should be evaluated first; if it is non-null, e2 should not
// be evaluated.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
void bad() {
diff --git a/tests/language/if_null_precedence_test.dart b/tests/language/if_null_precedence_test.dart
index 32d49ce..fcce3d4 100644
--- a/tests/language/if_null_precedence_test.dart
+++ b/tests/language/if_null_precedence_test.dart
@@ -4,8 +4,6 @@
// Verify that '??' binds tighter than '?:' and less tightly than '||'.
-// SharedOptions=--enable-null-aware-operators
-
import "package:expect/expect.dart";
assertionError(e) => e is AssertionError;
diff --git a/tests/language/language.status b/tests/language/language.status
index 6898b8c..44d45bf 100644
--- a/tests/language/language.status
+++ b/tests/language/language.status
@@ -96,3 +96,7 @@
[ $compiler == none && $runtime == vm && ( $arch == simarm || $arch == arm || $arch == simarmv5te || $arch == armv5te || $arch == simarm64 || $arch == arm64 || $arch == simmips || $arch == mips) ]
vm/load_to_load_unaligned_forwarding_vm_test: Pass, Crash # Unaligned offset. Issue 22151
+
+[ $compiler == none && $runtime == dartium ]
+mixin_super_test: Fail # Can't pass VMOptions to dartium.
+mixin_super_bound2_test: Fail # Can't pass VMOptions to dartium.
diff --git a/tests/language/language_analyzer.status b/tests/language/language_analyzer.status
index d000c34..b86fe4b 100644
--- a/tests/language/language_analyzer.status
+++ b/tests/language/language_analyzer.status
@@ -350,6 +350,9 @@
mixin_with_two_implicit_constructors_test: StaticWarning
mixin_invalid_bound_test/none: StaticWarning # legitimate StaticWarning, cannot be annotated
mixin_invalid_bound2_test/none: StaticWarning # legitimate StaticWarning, cannot be annotated
+mixin_super_bound_test: StaticWarning # legitimate StaticWarning, cannot be annotated
+mixin_super_bound2_test: CompileTimeError # Issue 23772
+mixin_super_test: CompileTimeError # Issue 23772
named_constructor_test/01: StaticWarning
named_constructor_test/03: StaticWarning
named_parameters2_test: StaticWarning
diff --git a/tests/language/language_analyzer2.status b/tests/language/language_analyzer2.status
index fbd47b1..b94754d 100644
--- a/tests/language/language_analyzer2.status
+++ b/tests/language/language_analyzer2.status
@@ -7,6 +7,8 @@
# Runtime negative test. No static errors or warnings.
closure_call_wrong_argument_count_negative_test: skip
+symbol_conflict_test: CompileTimeError # 23870
+
enum_syntax_test/02: Fail # 21649
enum_syntax_test/03: Fail # 21649
enum_syntax_test/04: Fail # 21649
@@ -295,6 +297,9 @@
mixin_with_two_implicit_constructors_test: StaticWarning
mixin_invalid_bound_test/none: StaticWarning # legitimate StaticWarning, cannot be annotated
mixin_invalid_bound2_test/none: StaticWarning # legitimate StaticWarning, cannot be annotated
+mixin_super_bound_test: StaticWarning # legitimate StaticWarning, cannot be annotated
+mixin_super_bound2_test: CompileTimeError # Issue 23772
+mixin_super_test: CompileTimeError # Issue 23772
named_constructor_test/01: StaticWarning
named_constructor_test/03: StaticWarning
named_parameters2_test: StaticWarning
diff --git a/tests/language/language_dart2js.status b/tests/language/language_dart2js.status
index 0a9e2cf..b6ce534 100644
--- a/tests/language/language_dart2js.status
+++ b/tests/language/language_dart2js.status
@@ -44,6 +44,8 @@
mixin_forwarding_constructor4_test/03: MissingCompileTimeError # Issue 15101
mixin_super_constructor_named_test/01: Fail # Issue 15101
mixin_super_constructor_positionals_test/01: Fail # Issue 15101
+mixin_super_test: CompileTimeError # Issue 23773
+mixin_super_bound2_test: CompileTimeError # Issue 23773
ref_before_declaration_test/00: MissingCompileTimeError
ref_before_declaration_test/01: MissingCompileTimeError
@@ -135,6 +137,7 @@
mixin_mixin6_test: Fail # Issue 12605
mixin_mixin_bound_test: RuntimeError # Issue 12605
mixin_mixin_bound2_test: RuntimeError # Issue 12605
+symbol_conflict_test: RuntimeError # Issue 23857
[ $compiler == dart2js ]
async_await_syntax_test/a05h: Fail # 23716
@@ -343,56 +346,55 @@
await_postfix_expr_test: Crash # (test()async{Expect.... cannot handle async/sync*/async* functions
await_regression_test: Crash # (main()async{testNes... cannot handle async/sync*/async* functions
await_test: Crash # (others()async{var a... cannot handle async/sync*/async* functions
-cha_deopt1_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-cha_deopt2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-cha_deopt3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-closure_cycles_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+cha_deopt1_test: Crash # (d.make_u()): deferred access is not implemented
+cha_deopt2_test: Crash # (d.make_u()): deferred access is not implemented
+cha_deopt3_test: Crash # (d.make_u()): deferred access is not implemented
closure_in_constructor_test: Crash # Invalid argument(s)
closure_type_variables_test: Crash # Invalid argument(s)
-const_evaluation_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+const_evaluation_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
constructor12_test: RuntimeError # Please triage this failure.
crash_6725_test/01: Crash # The null object does not have a getter '_element'.
custom_await_stack_trace_test: Crash # (main()async{try {va... cannot handle async/sync*/async* functions
-deferred_closurize_load_library_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constant_list_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_constants_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-deferred_constraints_constants_test/reference_after_load: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/as_operation: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/catch_check: Crash # The null object does not have a getter '_element'.
-deferred_constraints_type_annotation_test/is_check: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/new: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/new_before_load: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/new_generic1: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/new_generic2: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/new_generic3: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/static_method: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation1: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation_generic1: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation_generic2: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation_generic3: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation_generic4: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation_non_deferred: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation_null: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_constraints_type_annotation_test/type_annotation_top_level: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_function_type_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_global_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_inlined_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_load_constants_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_load_inval_code_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_load_library_wrong_args_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_mixin_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_no_such_method_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_not_loaded_check_test: RuntimeError # Please triage this failure.
-deferred_only_constant_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_optimized_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+deferred_call_empty_before_load_test: Crash # (lib1.thefun()): deferred access is not implemented
+deferred_closurize_load_library_test: Crash # (lib.trueVar): deferred access is not implemented
+deferred_constant_list_test: Crash # (lib.finalConstList): deferred access is not implemented
+deferred_constraints_constants_test/none: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_constants_test/reference_after_load: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/as_operation: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/catch_check: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/is_check: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/new: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/new_before_load: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/new_generic1: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/new_generic2: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/new_generic3: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/none: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/static_method: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation1: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation_generic1: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation_generic2: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation_generic3: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation_generic4: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation_non_deferred: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation_null: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_constraints_type_annotation_test/type_annotation_top_level: Crash # (lib.constantInstance): deferred access is not implemented
+deferred_function_type_test: Crash # (lib.runTest()): deferred access is not implemented
+deferred_global_test: Crash # (lib.finalConstGlobal): deferred access is not implemented
+deferred_inlined_test: Crash # (lib.foo()): deferred access is not implemented
+deferred_load_constants_test/none: Crash # (foo.c): deferred access is not implemented
+deferred_load_inval_code_test: Crash # (d.foo()): deferred access is not implemented
+deferred_load_library_wrong_args_test/none: RuntimeError # Y.loadLibrary is not a function
+deferred_mixin_test: RuntimeError # X.loadLibrary is not a function
+deferred_no_such_method_test: RuntimeError # D.loadLibrary is not a function
+deferred_not_loaded_check_test: Crash # (lib.closure(sideEffect())): deferred access is not implemented
+deferred_only_constant_test: Crash # (lib.constant): deferred access is not implemented
+deferred_optimized_test: Crash # (lib.foo()): deferred access is not implemented
deferred_redirecting_factory_test: Crash # (test()async{await t... cannot handle async/sync*/async* functions
-deferred_regression_22995_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_shadow_load_library_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_shared_and_unshared_classes_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-deferred_static_seperate_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-dynamic_prefix_core_test/01: Crash # The null object does not have a getter 'name'.
-enum_mirror_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+deferred_regression_22995_test: Crash # (lib.foofoo()): deferred access is not implemented
+deferred_shadow_load_library_test: Crash # (lib.trueVar): deferred access is not implemented
+deferred_shared_and_unshared_classes_test: Crash # (lib2.foo()): deferred access is not implemented
+deferred_static_seperate_test: Crash # (lib1.x): deferred access is not implemented
+enum_mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
final_super_field_set_test/01: RuntimeError # Please triage this failure.
flatten_test/01: Crash # (test()async{int x=await new Derived<int>();}): cannot handle async/sync*/async* functions
flatten_test/02: Crash # (test()async{Future<int> f()async=>new Derived<int>();}): cannot handle async/sync*/async* functions
@@ -424,27 +426,14 @@
if_null_assignment_static_test/38: RuntimeError # v0.get$a is not a function
if_null_assignment_static_test/39: RuntimeError # v0.get$b is not a function
if_null_assignment_static_test/40: RuntimeError # v0.get$a is not a function
-import_self_test/01: Crash # The null object does not have a getter 'name'.
infinite_switch_label_test: Crash # (switch (target){l0:... continue to a labeled switch case
-instance_creation_in_function_annotation_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+instance_creation_in_function_annotation_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
instanceof4_test/01: RuntimeError # Please triage this failure.
invocation_mirror_invoke_on_test: RuntimeError # Please triage this failure.
invocation_mirror_test: Crash # (super[37]=42): visitUnresolvedSuperIndexSet
-issue_1751477_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+issue_1751477_test: RuntimeError # O.loadLibrary is not a function
large_class_declaration_test: Crash # Stack Overflow
list_test: RuntimeError # Please triage this failure.
-main_test/01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/02: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/04: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/05: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/20: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/21: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/22: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/41: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/42: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/43: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/44: RuntimeError # receiver._addHashTableEntry$2 is not a function
-main_test/45: RuntimeError # receiver._addHashTableEntry$2 is not a function
many_overridden_no_such_method_test: RuntimeError # Please triage this failure.
mixin_type_parameters_mixin_extends_test: Crash # The null object does not have a getter '_element'.
mixin_type_parameters_mixin_test: Crash # The null object does not have a getter '_element'.
@@ -452,22 +441,19 @@
mixin_type_parameters_super_test: Crash # The null object does not have a getter '_element'.
nested_switch_label_test: Crash # (switch (target){out... continue to a labeled switch case
no_such_method_test: RuntimeError # Please triage this failure.
-null_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+null_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
overridden_no_such_method_test: RuntimeError # Please triage this failure.
-prefix12_negative_test: Crash # The null object does not have a getter 'name'.
-prefix2_negative_test: Crash # The null object does not have a getter 'name'.
-private_access_test/02: Crash # The null object does not have a getter 'name'.
-redirecting_factory_reflection_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-regress_18535_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+redirecting_factory_reflection_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+regress_18535_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
regress_22438_test: Crash # (main()async{var err... cannot handle async/sync*/async* functions
-regress_22443_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+regress_22443_test: RuntimeError # M.loadLibrary is not a function
regress_22445_test: Crash # (main()async{var err... cannot handle async/sync*/async* functions
regress_22579_test: Crash # (main()async{var err... cannot handle async/sync*/async* functions
regress_22728_test: Crash # (main()async{bool fa... cannot handle async/sync*/async* functions
regress_22777_test: Crash # (test()async{try {te... cannot handle async/sync*/async* functions
regress_22936_test/01: Crash # The null object does not have a getter '_element'.
regress_22936_test/none: Crash # The null object does not have a getter '_element'.
-regress_23408_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+regress_23408_test: RuntimeError # G.loadLibrary is not a function
regress_23498_test: Crash # (main()async{var err... cannot handle async/sync*/async* functions
regress_23500_test/01: Crash # (main()async{var err... cannot handle async/sync*/async* functions
regress_23500_test/02: Crash # (main()async{var err... cannot handle async/sync*/async* functions
@@ -493,6 +479,7 @@
sync_generator2_test/none: Crash # (sync()sync*{yield sync;}): cannot handle async/sync*/async* functions
sync_generator3_test/test1: Crash # (f()sync*{try {yield... cannot handle async/sync*/async* functions
sync_generator3_test/test2: Crash # (g()sync*{try {yield... cannot handle async/sync*/async* functions
+syncstar_less_than_test: Crash # (Iterable<int> foo()... cannot handle async/sync*/async* functions
syncstar_yield_test/copyParameters: Crash # (Iterable<int> foo3(... cannot handle async/sync*/async* functions
syncstar_yield_test/none: Crash # (Iterable<int> foo3(... cannot handle async/sync*/async* functions
syncstar_yieldstar_test: Crash # (main()async{Expect.... cannot handle async/sync*/async* functions
diff --git a/tests/language/mixin_illegal_object_test.dart b/tests/language/mixin_illegal_object_test.dart
index f3dae74..8b5340f 100644
--- a/tests/language/mixin_illegal_object_test.dart
+++ b/tests/language/mixin_illegal_object_test.dart
@@ -2,11 +2,15 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-class C0 extends Object
+// Object has a non-trivial constructor and hence cannot be used as mixin.
+
+class S { }
+
+class C0 extends S
with Object /// 01: compile-time error
{ }
-class C1 = Object with Object; /// 02: compile-time error
+class C1 = S with Object; /// 02: compile-time error
main() {
new C0();
diff --git a/tests/language/mixin_super_bound2_test.dart b/tests/language/mixin_super_bound2_test.dart
new file mode 100644
index 0000000..543a029
--- /dev/null
+++ b/tests/language/mixin_super_bound2_test.dart
@@ -0,0 +1,65 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--supermixin
+
+import "package:expect/expect.dart";
+
+bool inCheckedMode() {
+ try {
+ var i = 42;
+ String s = i;
+ } on TypeError catch (e) {
+ return true;
+ }
+ return false;
+}
+
+class MS<U, V extends U> { }
+
+class M<U extends V, V> extends MS<V, U> { }
+
+class NS<U extends V, V> { }
+
+class N<U, V extends U> extends NS<V, U> { }
+
+class S<T> { }
+
+class MNA<U, V, W> extends S<List<U>>
+ with M<List<V>, List<U>>, N<List<W>, List<W>> { }
+
+class MNA2<U, V, W> = S<List<U>>
+ with M<List<W>, List<W>>, N<List<U>, List<V>>;
+
+class MNA3<U, V, W> extends S<List<U>>
+ with MNA<U, V, W>, MNA2<List<U>, List<V>, List<W>> { }
+
+class MNA4<U, V, W> = S<List<U>>
+ with MNA<U, V, W>, MNA2<List<U>, List<V>, List<W>>;
+
+main() {
+ new MNA<num, int, bool>();
+ new MNA2<num, int, bool>();
+ new MNA3<num, int, bool>();
+ new MNA4<num, int, bool>();
+ if (inCheckedMode()) {
+ // Type parameter U of M must extend type parameter V, but
+ // type argument List<num> is not a subtype of List<int>.
+ Expect.throws(() => new MNA<int, num, bool>(), (e) => e is TypeError);
+ // Type parameter V of N must extend type parameter U, but
+ // type argument List<num> is not a subtype of List<int>.
+ Expect.throws(() => new MNA2<int, num, bool>(), (e) => e is TypeError);
+ // Type parameter V of N must extend type parameter U, but
+ // type argument List<List<num>> is not a subtype of List<List<int>>.
+ Expect.throws(() => new MNA3<int, num, bool>(), (e) => e is TypeError);
+ // Type parameter V of N must extend type parameter U, but
+ // type argument List<List<num>> is not a subtype of List<List<int>>.
+ Expect.throws(() => new MNA4<int, num, bool>(), (e) => e is TypeError);
+ } else {
+ new MNA<int, num, bool>();
+ new MNA2<int, num, bool>();
+ new MNA3<int, num, bool>();
+ new MNA4<int, num, bool>();
+ }
+}
+
diff --git a/tests/language/mixin_super_bound_test.dart b/tests/language/mixin_super_bound_test.dart
new file mode 100644
index 0000000..1e8ef80
--- /dev/null
+++ b/tests/language/mixin_super_bound_test.dart
@@ -0,0 +1,42 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import "package:expect/expect.dart";
+
+bool inCheckedMode() {
+ try {
+ var i = 42;
+ String s = i;
+ } on TypeError catch (e) {
+ return true;
+ }
+ return false;
+}
+
+class M<U extends V, V> { }
+
+class N<U, V extends U> { }
+
+class S<T> { }
+
+class MNA<U, V, W> extends S<List<U>> with M<V, U>, N<List<W>, List<W>> { }
+
+class MNA2<U, V, W> = S<List<U>> with M<V, U>, N<List<W>, List<W>>;
+
+main() {
+ new MNA<num, int, bool>();
+ new MNA2<num, int, bool>();
+ if (inCheckedMode()) {
+ // Type parameter U of M must extend type parameter V, but
+ // type argument num is not a subtype of int.
+ Expect.throws(() => new MNA<int, num, bool>(), (e) => e is TypeError);
+ // Type parameter U of M must extend type parameter V, but
+ // type argument num is not a subtype of int.
+ Expect.throws(() => new MNA2<int, num, bool>(), (e) => e is TypeError);
+ } else {
+ new MNA<int, num, bool>();
+ new MNA2<int, num, bool>();
+ }
+}
+
diff --git a/tests/language/mixin_super_test.dart b/tests/language/mixin_super_test.dart
new file mode 100644
index 0000000..85e53e7
--- /dev/null
+++ b/tests/language/mixin_super_test.dart
@@ -0,0 +1,81 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+// VMOptions=--supermixin
+
+import "package:expect/expect.dart";
+
+class MS<T> {
+ foo() {
+ return "MS<$T>.foo\n";
+ }
+}
+
+class M<T> extends MS<List<T>> {
+ foo() {
+ return super.foo() + "M<$T>.foo\n";
+ }
+}
+
+class NS<T> {
+ foo() {
+ return "NS<$T>.foo\n";
+ }
+}
+
+class N<T> extends NS<List<T>> {
+ foo() {
+ return super.foo() + "N<$T>.foo\n";
+ }
+}
+
+class S<T> {
+ foo() {
+ return "S<$T>.foo\n";
+ }
+}
+
+class SM<U, V> = S<List<U>> with M<Map<U, V>>;
+
+class MNA1<U, V, W> extends S<List<U>> with M<Map<U, V>>, N<W> {
+ foo() {
+ return super.foo() + "MNA1<$U, $V, $W>.foo\n";
+ }
+}
+
+class MNA2<U, V, W> extends SM<U, V> with N<W> {
+ foo() {
+ return super.foo() + "MNA2<$U, $V, $W>.foo\n";
+ }
+}
+
+class MNA3<U, V, W> extends S<List<U>> with SM<U, V>, N<W> {
+ foo() {
+ return super.foo() + "MNA3<$U, $V, $W>.foo\n";
+ }
+}
+
+main(){
+ Expect.equals("MS<List<double>>.foo\n"
+ "M<double>.foo\n",
+ new M<double>().foo());
+ Expect.equals("S<List<int>>.foo\n"
+ "M<Map<int, String>>.foo\n",
+ new SM<int, String>().foo());
+ Expect.equals("S<List<int>>.foo\n"
+ "M<Map<int, String>>.foo\n"
+ "N<bool>.foo\n"
+ "MNA1<int, String, bool>.foo\n",
+ new MNA1<int, String, bool>().foo());
+ Expect.equals("S<List<int>>.foo\n"
+ "M<Map<int, String>>.foo\n"
+ "N<bool>.foo\n"
+ "MNA2<int, String, bool>.foo\n",
+ new MNA2<int, String, bool>().foo());
+ Expect.equals("S<List<int>>.foo\n"
+ "M<Map<int, String>>.foo\n"
+ "N<bool>.foo\n"
+ "MNA3<int, String, bool>.foo\n",
+ new MNA3<int, String, bool>().foo());
+}
+
diff --git a/tests/language/nullaware_opt_test.dart b/tests/language/nullaware_opt_test.dart
index 625ccc9..05b57e8 100644
--- a/tests/language/nullaware_opt_test.dart
+++ b/tests/language/nullaware_opt_test.dart
@@ -2,7 +2,6 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
//
-// SharedOptions=--enable-null-aware-operators
// VMOptions=--optimization_counter_threshold=5
//
// Basic null-aware operator test that invokes the optimizing compiler.
diff --git a/tests/language/super_conditional_operator_test.dart b/tests/language/super_conditional_operator_test.dart
index 83914ee..100a9a4 100644
--- a/tests/language/super_conditional_operator_test.dart
+++ b/tests/language/super_conditional_operator_test.dart
@@ -4,8 +4,6 @@
// Verify that the ?. operator cannot be used with "super".
-// SharedOptions=--enable-null-aware-operators
-
class B {
B();
B.namedConstructor();
diff --git a/tests/language/symbol_conflict_test.dart b/tests/language/symbol_conflict_test.dart
new file mode 100644
index 0000000..d896c9e
--- /dev/null
+++ b/tests/language/symbol_conflict_test.dart
@@ -0,0 +1,2810 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Tests that const symbols are only equal to the symbol they represent.
+
+import 'package:expect/expect.dart';
+
+class A {
+ noSuchMethod(invocation) {
+ Expect.isFalse(oneAndTwoCharacterSymbols.contains(invocation.memberName));
+ }
+}
+
+main() {
+ var a = new A();
+ a.foo = 23;
+ a.foo;
+ a.bar;
+ a.longer;
+ a.anotherOne;
+ a.add(1);
+ a.isEmpty;
+}
+
+/**
+ The following constant was generated with the following program:
+
+ get chars sync* {
+ for (int i = "a".codeUnitAt(0); i <= "z".codeUnitAt(0); i++) {
+ yield new String.fromCharCodes([i]);
+ }
+ for (int i = "A".codeUnitAt(0); i <= "Z".codeUnitAt(0); i++) {
+ yield new String.fromCharCodes([i]);
+ }
+ }
+
+ main() {
+ print("const oneAndTwoCharacterSymbols = const [");
+ // One character symbols.
+ for (String c in chars) {
+ print(" const Symbol('$c'),");
+ }
+ // Two character symbols.
+ for (String c1 in chars) {
+ for (String c2 in chars) {
+ print(" const Symbol('$c1$c2'),");
+ }
+ }
+ print("];");
+ }
+*/
+const oneAndTwoCharacterSymbols = const [
+ const Symbol('a'),
+ const Symbol('b'),
+ const Symbol('c'),
+ const Symbol('d'),
+ const Symbol('e'),
+ const Symbol('f'),
+ const Symbol('g'),
+ const Symbol('h'),
+ const Symbol('i'),
+ const Symbol('j'),
+ const Symbol('k'),
+ const Symbol('l'),
+ const Symbol('m'),
+ const Symbol('n'),
+ const Symbol('o'),
+ const Symbol('p'),
+ const Symbol('q'),
+ const Symbol('r'),
+ const Symbol('s'),
+ const Symbol('t'),
+ const Symbol('u'),
+ const Symbol('v'),
+ const Symbol('w'),
+ const Symbol('x'),
+ const Symbol('y'),
+ const Symbol('z'),
+ const Symbol('A'),
+ const Symbol('B'),
+ const Symbol('C'),
+ const Symbol('D'),
+ const Symbol('E'),
+ const Symbol('F'),
+ const Symbol('G'),
+ const Symbol('H'),
+ const Symbol('I'),
+ const Symbol('J'),
+ const Symbol('K'),
+ const Symbol('L'),
+ const Symbol('M'),
+ const Symbol('N'),
+ const Symbol('O'),
+ const Symbol('P'),
+ const Symbol('Q'),
+ const Symbol('R'),
+ const Symbol('S'),
+ const Symbol('T'),
+ const Symbol('U'),
+ const Symbol('V'),
+ const Symbol('W'),
+ const Symbol('X'),
+ const Symbol('Y'),
+ const Symbol('Z'),
+ const Symbol('aa'),
+ const Symbol('ab'),
+ const Symbol('ac'),
+ const Symbol('ad'),
+ const Symbol('ae'),
+ const Symbol('af'),
+ const Symbol('ag'),
+ const Symbol('ah'),
+ const Symbol('ai'),
+ const Symbol('aj'),
+ const Symbol('ak'),
+ const Symbol('al'),
+ const Symbol('am'),
+ const Symbol('an'),
+ const Symbol('ao'),
+ const Symbol('ap'),
+ const Symbol('aq'),
+ const Symbol('ar'),
+ const Symbol('as'),
+ const Symbol('at'),
+ const Symbol('au'),
+ const Symbol('av'),
+ const Symbol('aw'),
+ const Symbol('ax'),
+ const Symbol('ay'),
+ const Symbol('az'),
+ const Symbol('aA'),
+ const Symbol('aB'),
+ const Symbol('aC'),
+ const Symbol('aD'),
+ const Symbol('aE'),
+ const Symbol('aF'),
+ const Symbol('aG'),
+ const Symbol('aH'),
+ const Symbol('aI'),
+ const Symbol('aJ'),
+ const Symbol('aK'),
+ const Symbol('aL'),
+ const Symbol('aM'),
+ const Symbol('aN'),
+ const Symbol('aO'),
+ const Symbol('aP'),
+ const Symbol('aQ'),
+ const Symbol('aR'),
+ const Symbol('aS'),
+ const Symbol('aT'),
+ const Symbol('aU'),
+ const Symbol('aV'),
+ const Symbol('aW'),
+ const Symbol('aX'),
+ const Symbol('aY'),
+ const Symbol('aZ'),
+ const Symbol('ba'),
+ const Symbol('bb'),
+ const Symbol('bc'),
+ const Symbol('bd'),
+ const Symbol('be'),
+ const Symbol('bf'),
+ const Symbol('bg'),
+ const Symbol('bh'),
+ const Symbol('bi'),
+ const Symbol('bj'),
+ const Symbol('bk'),
+ const Symbol('bl'),
+ const Symbol('bm'),
+ const Symbol('bn'),
+ const Symbol('bo'),
+ const Symbol('bp'),
+ const Symbol('bq'),
+ const Symbol('br'),
+ const Symbol('bs'),
+ const Symbol('bt'),
+ const Symbol('bu'),
+ const Symbol('bv'),
+ const Symbol('bw'),
+ const Symbol('bx'),
+ const Symbol('by'),
+ const Symbol('bz'),
+ const Symbol('bA'),
+ const Symbol('bB'),
+ const Symbol('bC'),
+ const Symbol('bD'),
+ const Symbol('bE'),
+ const Symbol('bF'),
+ const Symbol('bG'),
+ const Symbol('bH'),
+ const Symbol('bI'),
+ const Symbol('bJ'),
+ const Symbol('bK'),
+ const Symbol('bL'),
+ const Symbol('bM'),
+ const Symbol('bN'),
+ const Symbol('bO'),
+ const Symbol('bP'),
+ const Symbol('bQ'),
+ const Symbol('bR'),
+ const Symbol('bS'),
+ const Symbol('bT'),
+ const Symbol('bU'),
+ const Symbol('bV'),
+ const Symbol('bW'),
+ const Symbol('bX'),
+ const Symbol('bY'),
+ const Symbol('bZ'),
+ const Symbol('ca'),
+ const Symbol('cb'),
+ const Symbol('cc'),
+ const Symbol('cd'),
+ const Symbol('ce'),
+ const Symbol('cf'),
+ const Symbol('cg'),
+ const Symbol('ch'),
+ const Symbol('ci'),
+ const Symbol('cj'),
+ const Symbol('ck'),
+ const Symbol('cl'),
+ const Symbol('cm'),
+ const Symbol('cn'),
+ const Symbol('co'),
+ const Symbol('cp'),
+ const Symbol('cq'),
+ const Symbol('cr'),
+ const Symbol('cs'),
+ const Symbol('ct'),
+ const Symbol('cu'),
+ const Symbol('cv'),
+ const Symbol('cw'),
+ const Symbol('cx'),
+ const Symbol('cy'),
+ const Symbol('cz'),
+ const Symbol('cA'),
+ const Symbol('cB'),
+ const Symbol('cC'),
+ const Symbol('cD'),
+ const Symbol('cE'),
+ const Symbol('cF'),
+ const Symbol('cG'),
+ const Symbol('cH'),
+ const Symbol('cI'),
+ const Symbol('cJ'),
+ const Symbol('cK'),
+ const Symbol('cL'),
+ const Symbol('cM'),
+ const Symbol('cN'),
+ const Symbol('cO'),
+ const Symbol('cP'),
+ const Symbol('cQ'),
+ const Symbol('cR'),
+ const Symbol('cS'),
+ const Symbol('cT'),
+ const Symbol('cU'),
+ const Symbol('cV'),
+ const Symbol('cW'),
+ const Symbol('cX'),
+ const Symbol('cY'),
+ const Symbol('cZ'),
+ const Symbol('da'),
+ const Symbol('db'),
+ const Symbol('dc'),
+ const Symbol('dd'),
+ const Symbol('de'),
+ const Symbol('df'),
+ const Symbol('dg'),
+ const Symbol('dh'),
+ const Symbol('di'),
+ const Symbol('dj'),
+ const Symbol('dk'),
+ const Symbol('dl'),
+ const Symbol('dm'),
+ const Symbol('dn'),
+ const Symbol('do'),
+ const Symbol('dp'),
+ const Symbol('dq'),
+ const Symbol('dr'),
+ const Symbol('ds'),
+ const Symbol('dt'),
+ const Symbol('du'),
+ const Symbol('dv'),
+ const Symbol('dw'),
+ const Symbol('dx'),
+ const Symbol('dy'),
+ const Symbol('dz'),
+ const Symbol('dA'),
+ const Symbol('dB'),
+ const Symbol('dC'),
+ const Symbol('dD'),
+ const Symbol('dE'),
+ const Symbol('dF'),
+ const Symbol('dG'),
+ const Symbol('dH'),
+ const Symbol('dI'),
+ const Symbol('dJ'),
+ const Symbol('dK'),
+ const Symbol('dL'),
+ const Symbol('dM'),
+ const Symbol('dN'),
+ const Symbol('dO'),
+ const Symbol('dP'),
+ const Symbol('dQ'),
+ const Symbol('dR'),
+ const Symbol('dS'),
+ const Symbol('dT'),
+ const Symbol('dU'),
+ const Symbol('dV'),
+ const Symbol('dW'),
+ const Symbol('dX'),
+ const Symbol('dY'),
+ const Symbol('dZ'),
+ const Symbol('ea'),
+ const Symbol('eb'),
+ const Symbol('ec'),
+ const Symbol('ed'),
+ const Symbol('ee'),
+ const Symbol('ef'),
+ const Symbol('eg'),
+ const Symbol('eh'),
+ const Symbol('ei'),
+ const Symbol('ej'),
+ const Symbol('ek'),
+ const Symbol('el'),
+ const Symbol('em'),
+ const Symbol('en'),
+ const Symbol('eo'),
+ const Symbol('ep'),
+ const Symbol('eq'),
+ const Symbol('er'),
+ const Symbol('es'),
+ const Symbol('et'),
+ const Symbol('eu'),
+ const Symbol('ev'),
+ const Symbol('ew'),
+ const Symbol('ex'),
+ const Symbol('ey'),
+ const Symbol('ez'),
+ const Symbol('eA'),
+ const Symbol('eB'),
+ const Symbol('eC'),
+ const Symbol('eD'),
+ const Symbol('eE'),
+ const Symbol('eF'),
+ const Symbol('eG'),
+ const Symbol('eH'),
+ const Symbol('eI'),
+ const Symbol('eJ'),
+ const Symbol('eK'),
+ const Symbol('eL'),
+ const Symbol('eM'),
+ const Symbol('eN'),
+ const Symbol('eO'),
+ const Symbol('eP'),
+ const Symbol('eQ'),
+ const Symbol('eR'),
+ const Symbol('eS'),
+ const Symbol('eT'),
+ const Symbol('eU'),
+ const Symbol('eV'),
+ const Symbol('eW'),
+ const Symbol('eX'),
+ const Symbol('eY'),
+ const Symbol('eZ'),
+ const Symbol('fa'),
+ const Symbol('fb'),
+ const Symbol('fc'),
+ const Symbol('fd'),
+ const Symbol('fe'),
+ const Symbol('ff'),
+ const Symbol('fg'),
+ const Symbol('fh'),
+ const Symbol('fi'),
+ const Symbol('fj'),
+ const Symbol('fk'),
+ const Symbol('fl'),
+ const Symbol('fm'),
+ const Symbol('fn'),
+ const Symbol('fo'),
+ const Symbol('fp'),
+ const Symbol('fq'),
+ const Symbol('fr'),
+ const Symbol('fs'),
+ const Symbol('ft'),
+ const Symbol('fu'),
+ const Symbol('fv'),
+ const Symbol('fw'),
+ const Symbol('fx'),
+ const Symbol('fy'),
+ const Symbol('fz'),
+ const Symbol('fA'),
+ const Symbol('fB'),
+ const Symbol('fC'),
+ const Symbol('fD'),
+ const Symbol('fE'),
+ const Symbol('fF'),
+ const Symbol('fG'),
+ const Symbol('fH'),
+ const Symbol('fI'),
+ const Symbol('fJ'),
+ const Symbol('fK'),
+ const Symbol('fL'),
+ const Symbol('fM'),
+ const Symbol('fN'),
+ const Symbol('fO'),
+ const Symbol('fP'),
+ const Symbol('fQ'),
+ const Symbol('fR'),
+ const Symbol('fS'),
+ const Symbol('fT'),
+ const Symbol('fU'),
+ const Symbol('fV'),
+ const Symbol('fW'),
+ const Symbol('fX'),
+ const Symbol('fY'),
+ const Symbol('fZ'),
+ const Symbol('ga'),
+ const Symbol('gb'),
+ const Symbol('gc'),
+ const Symbol('gd'),
+ const Symbol('ge'),
+ const Symbol('gf'),
+ const Symbol('gg'),
+ const Symbol('gh'),
+ const Symbol('gi'),
+ const Symbol('gj'),
+ const Symbol('gk'),
+ const Symbol('gl'),
+ const Symbol('gm'),
+ const Symbol('gn'),
+ const Symbol('go'),
+ const Symbol('gp'),
+ const Symbol('gq'),
+ const Symbol('gr'),
+ const Symbol('gs'),
+ const Symbol('gt'),
+ const Symbol('gu'),
+ const Symbol('gv'),
+ const Symbol('gw'),
+ const Symbol('gx'),
+ const Symbol('gy'),
+ const Symbol('gz'),
+ const Symbol('gA'),
+ const Symbol('gB'),
+ const Symbol('gC'),
+ const Symbol('gD'),
+ const Symbol('gE'),
+ const Symbol('gF'),
+ const Symbol('gG'),
+ const Symbol('gH'),
+ const Symbol('gI'),
+ const Symbol('gJ'),
+ const Symbol('gK'),
+ const Symbol('gL'),
+ const Symbol('gM'),
+ const Symbol('gN'),
+ const Symbol('gO'),
+ const Symbol('gP'),
+ const Symbol('gQ'),
+ const Symbol('gR'),
+ const Symbol('gS'),
+ const Symbol('gT'),
+ const Symbol('gU'),
+ const Symbol('gV'),
+ const Symbol('gW'),
+ const Symbol('gX'),
+ const Symbol('gY'),
+ const Symbol('gZ'),
+ const Symbol('ha'),
+ const Symbol('hb'),
+ const Symbol('hc'),
+ const Symbol('hd'),
+ const Symbol('he'),
+ const Symbol('hf'),
+ const Symbol('hg'),
+ const Symbol('hh'),
+ const Symbol('hi'),
+ const Symbol('hj'),
+ const Symbol('hk'),
+ const Symbol('hl'),
+ const Symbol('hm'),
+ const Symbol('hn'),
+ const Symbol('ho'),
+ const Symbol('hp'),
+ const Symbol('hq'),
+ const Symbol('hr'),
+ const Symbol('hs'),
+ const Symbol('ht'),
+ const Symbol('hu'),
+ const Symbol('hv'),
+ const Symbol('hw'),
+ const Symbol('hx'),
+ const Symbol('hy'),
+ const Symbol('hz'),
+ const Symbol('hA'),
+ const Symbol('hB'),
+ const Symbol('hC'),
+ const Symbol('hD'),
+ const Symbol('hE'),
+ const Symbol('hF'),
+ const Symbol('hG'),
+ const Symbol('hH'),
+ const Symbol('hI'),
+ const Symbol('hJ'),
+ const Symbol('hK'),
+ const Symbol('hL'),
+ const Symbol('hM'),
+ const Symbol('hN'),
+ const Symbol('hO'),
+ const Symbol('hP'),
+ const Symbol('hQ'),
+ const Symbol('hR'),
+ const Symbol('hS'),
+ const Symbol('hT'),
+ const Symbol('hU'),
+ const Symbol('hV'),
+ const Symbol('hW'),
+ const Symbol('hX'),
+ const Symbol('hY'),
+ const Symbol('hZ'),
+ const Symbol('ia'),
+ const Symbol('ib'),
+ const Symbol('ic'),
+ const Symbol('id'),
+ const Symbol('ie'),
+ const Symbol('if'),
+ const Symbol('ig'),
+ const Symbol('ih'),
+ const Symbol('ii'),
+ const Symbol('ij'),
+ const Symbol('ik'),
+ const Symbol('il'),
+ const Symbol('im'),
+ const Symbol('in'),
+ const Symbol('io'),
+ const Symbol('ip'),
+ const Symbol('iq'),
+ const Symbol('ir'),
+ const Symbol('is'),
+ const Symbol('it'),
+ const Symbol('iu'),
+ const Symbol('iv'),
+ const Symbol('iw'),
+ const Symbol('ix'),
+ const Symbol('iy'),
+ const Symbol('iz'),
+ const Symbol('iA'),
+ const Symbol('iB'),
+ const Symbol('iC'),
+ const Symbol('iD'),
+ const Symbol('iE'),
+ const Symbol('iF'),
+ const Symbol('iG'),
+ const Symbol('iH'),
+ const Symbol('iI'),
+ const Symbol('iJ'),
+ const Symbol('iK'),
+ const Symbol('iL'),
+ const Symbol('iM'),
+ const Symbol('iN'),
+ const Symbol('iO'),
+ const Symbol('iP'),
+ const Symbol('iQ'),
+ const Symbol('iR'),
+ const Symbol('iS'),
+ const Symbol('iT'),
+ const Symbol('iU'),
+ const Symbol('iV'),
+ const Symbol('iW'),
+ const Symbol('iX'),
+ const Symbol('iY'),
+ const Symbol('iZ'),
+ const Symbol('ja'),
+ const Symbol('jb'),
+ const Symbol('jc'),
+ const Symbol('jd'),
+ const Symbol('je'),
+ const Symbol('jf'),
+ const Symbol('jg'),
+ const Symbol('jh'),
+ const Symbol('ji'),
+ const Symbol('jj'),
+ const Symbol('jk'),
+ const Symbol('jl'),
+ const Symbol('jm'),
+ const Symbol('jn'),
+ const Symbol('jo'),
+ const Symbol('jp'),
+ const Symbol('jq'),
+ const Symbol('jr'),
+ const Symbol('js'),
+ const Symbol('jt'),
+ const Symbol('ju'),
+ const Symbol('jv'),
+ const Symbol('jw'),
+ const Symbol('jx'),
+ const Symbol('jy'),
+ const Symbol('jz'),
+ const Symbol('jA'),
+ const Symbol('jB'),
+ const Symbol('jC'),
+ const Symbol('jD'),
+ const Symbol('jE'),
+ const Symbol('jF'),
+ const Symbol('jG'),
+ const Symbol('jH'),
+ const Symbol('jI'),
+ const Symbol('jJ'),
+ const Symbol('jK'),
+ const Symbol('jL'),
+ const Symbol('jM'),
+ const Symbol('jN'),
+ const Symbol('jO'),
+ const Symbol('jP'),
+ const Symbol('jQ'),
+ const Symbol('jR'),
+ const Symbol('jS'),
+ const Symbol('jT'),
+ const Symbol('jU'),
+ const Symbol('jV'),
+ const Symbol('jW'),
+ const Symbol('jX'),
+ const Symbol('jY'),
+ const Symbol('jZ'),
+ const Symbol('ka'),
+ const Symbol('kb'),
+ const Symbol('kc'),
+ const Symbol('kd'),
+ const Symbol('ke'),
+ const Symbol('kf'),
+ const Symbol('kg'),
+ const Symbol('kh'),
+ const Symbol('ki'),
+ const Symbol('kj'),
+ const Symbol('kk'),
+ const Symbol('kl'),
+ const Symbol('km'),
+ const Symbol('kn'),
+ const Symbol('ko'),
+ const Symbol('kp'),
+ const Symbol('kq'),
+ const Symbol('kr'),
+ const Symbol('ks'),
+ const Symbol('kt'),
+ const Symbol('ku'),
+ const Symbol('kv'),
+ const Symbol('kw'),
+ const Symbol('kx'),
+ const Symbol('ky'),
+ const Symbol('kz'),
+ const Symbol('kA'),
+ const Symbol('kB'),
+ const Symbol('kC'),
+ const Symbol('kD'),
+ const Symbol('kE'),
+ const Symbol('kF'),
+ const Symbol('kG'),
+ const Symbol('kH'),
+ const Symbol('kI'),
+ const Symbol('kJ'),
+ const Symbol('kK'),
+ const Symbol('kL'),
+ const Symbol('kM'),
+ const Symbol('kN'),
+ const Symbol('kO'),
+ const Symbol('kP'),
+ const Symbol('kQ'),
+ const Symbol('kR'),
+ const Symbol('kS'),
+ const Symbol('kT'),
+ const Symbol('kU'),
+ const Symbol('kV'),
+ const Symbol('kW'),
+ const Symbol('kX'),
+ const Symbol('kY'),
+ const Symbol('kZ'),
+ const Symbol('la'),
+ const Symbol('lb'),
+ const Symbol('lc'),
+ const Symbol('ld'),
+ const Symbol('le'),
+ const Symbol('lf'),
+ const Symbol('lg'),
+ const Symbol('lh'),
+ const Symbol('li'),
+ const Symbol('lj'),
+ const Symbol('lk'),
+ const Symbol('ll'),
+ const Symbol('lm'),
+ const Symbol('ln'),
+ const Symbol('lo'),
+ const Symbol('lp'),
+ const Symbol('lq'),
+ const Symbol('lr'),
+ const Symbol('ls'),
+ const Symbol('lt'),
+ const Symbol('lu'),
+ const Symbol('lv'),
+ const Symbol('lw'),
+ const Symbol('lx'),
+ const Symbol('ly'),
+ const Symbol('lz'),
+ const Symbol('lA'),
+ const Symbol('lB'),
+ const Symbol('lC'),
+ const Symbol('lD'),
+ const Symbol('lE'),
+ const Symbol('lF'),
+ const Symbol('lG'),
+ const Symbol('lH'),
+ const Symbol('lI'),
+ const Symbol('lJ'),
+ const Symbol('lK'),
+ const Symbol('lL'),
+ const Symbol('lM'),
+ const Symbol('lN'),
+ const Symbol('lO'),
+ const Symbol('lP'),
+ const Symbol('lQ'),
+ const Symbol('lR'),
+ const Symbol('lS'),
+ const Symbol('lT'),
+ const Symbol('lU'),
+ const Symbol('lV'),
+ const Symbol('lW'),
+ const Symbol('lX'),
+ const Symbol('lY'),
+ const Symbol('lZ'),
+ const Symbol('ma'),
+ const Symbol('mb'),
+ const Symbol('mc'),
+ const Symbol('md'),
+ const Symbol('me'),
+ const Symbol('mf'),
+ const Symbol('mg'),
+ const Symbol('mh'),
+ const Symbol('mi'),
+ const Symbol('mj'),
+ const Symbol('mk'),
+ const Symbol('ml'),
+ const Symbol('mm'),
+ const Symbol('mn'),
+ const Symbol('mo'),
+ const Symbol('mp'),
+ const Symbol('mq'),
+ const Symbol('mr'),
+ const Symbol('ms'),
+ const Symbol('mt'),
+ const Symbol('mu'),
+ const Symbol('mv'),
+ const Symbol('mw'),
+ const Symbol('mx'),
+ const Symbol('my'),
+ const Symbol('mz'),
+ const Symbol('mA'),
+ const Symbol('mB'),
+ const Symbol('mC'),
+ const Symbol('mD'),
+ const Symbol('mE'),
+ const Symbol('mF'),
+ const Symbol('mG'),
+ const Symbol('mH'),
+ const Symbol('mI'),
+ const Symbol('mJ'),
+ const Symbol('mK'),
+ const Symbol('mL'),
+ const Symbol('mM'),
+ const Symbol('mN'),
+ const Symbol('mO'),
+ const Symbol('mP'),
+ const Symbol('mQ'),
+ const Symbol('mR'),
+ const Symbol('mS'),
+ const Symbol('mT'),
+ const Symbol('mU'),
+ const Symbol('mV'),
+ const Symbol('mW'),
+ const Symbol('mX'),
+ const Symbol('mY'),
+ const Symbol('mZ'),
+ const Symbol('na'),
+ const Symbol('nb'),
+ const Symbol('nc'),
+ const Symbol('nd'),
+ const Symbol('ne'),
+ const Symbol('nf'),
+ const Symbol('ng'),
+ const Symbol('nh'),
+ const Symbol('ni'),
+ const Symbol('nj'),
+ const Symbol('nk'),
+ const Symbol('nl'),
+ const Symbol('nm'),
+ const Symbol('nn'),
+ const Symbol('no'),
+ const Symbol('np'),
+ const Symbol('nq'),
+ const Symbol('nr'),
+ const Symbol('ns'),
+ const Symbol('nt'),
+ const Symbol('nu'),
+ const Symbol('nv'),
+ const Symbol('nw'),
+ const Symbol('nx'),
+ const Symbol('ny'),
+ const Symbol('nz'),
+ const Symbol('nA'),
+ const Symbol('nB'),
+ const Symbol('nC'),
+ const Symbol('nD'),
+ const Symbol('nE'),
+ const Symbol('nF'),
+ const Symbol('nG'),
+ const Symbol('nH'),
+ const Symbol('nI'),
+ const Symbol('nJ'),
+ const Symbol('nK'),
+ const Symbol('nL'),
+ const Symbol('nM'),
+ const Symbol('nN'),
+ const Symbol('nO'),
+ const Symbol('nP'),
+ const Symbol('nQ'),
+ const Symbol('nR'),
+ const Symbol('nS'),
+ const Symbol('nT'),
+ const Symbol('nU'),
+ const Symbol('nV'),
+ const Symbol('nW'),
+ const Symbol('nX'),
+ const Symbol('nY'),
+ const Symbol('nZ'),
+ const Symbol('oa'),
+ const Symbol('ob'),
+ const Symbol('oc'),
+ const Symbol('od'),
+ const Symbol('oe'),
+ const Symbol('of'),
+ const Symbol('og'),
+ const Symbol('oh'),
+ const Symbol('oi'),
+ const Symbol('oj'),
+ const Symbol('ok'),
+ const Symbol('ol'),
+ const Symbol('om'),
+ const Symbol('on'),
+ const Symbol('oo'),
+ const Symbol('op'),
+ const Symbol('oq'),
+ const Symbol('or'),
+ const Symbol('os'),
+ const Symbol('ot'),
+ const Symbol('ou'),
+ const Symbol('ov'),
+ const Symbol('ow'),
+ const Symbol('ox'),
+ const Symbol('oy'),
+ const Symbol('oz'),
+ const Symbol('oA'),
+ const Symbol('oB'),
+ const Symbol('oC'),
+ const Symbol('oD'),
+ const Symbol('oE'),
+ const Symbol('oF'),
+ const Symbol('oG'),
+ const Symbol('oH'),
+ const Symbol('oI'),
+ const Symbol('oJ'),
+ const Symbol('oK'),
+ const Symbol('oL'),
+ const Symbol('oM'),
+ const Symbol('oN'),
+ const Symbol('oO'),
+ const Symbol('oP'),
+ const Symbol('oQ'),
+ const Symbol('oR'),
+ const Symbol('oS'),
+ const Symbol('oT'),
+ const Symbol('oU'),
+ const Symbol('oV'),
+ const Symbol('oW'),
+ const Symbol('oX'),
+ const Symbol('oY'),
+ const Symbol('oZ'),
+ const Symbol('pa'),
+ const Symbol('pb'),
+ const Symbol('pc'),
+ const Symbol('pd'),
+ const Symbol('pe'),
+ const Symbol('pf'),
+ const Symbol('pg'),
+ const Symbol('ph'),
+ const Symbol('pi'),
+ const Symbol('pj'),
+ const Symbol('pk'),
+ const Symbol('pl'),
+ const Symbol('pm'),
+ const Symbol('pn'),
+ const Symbol('po'),
+ const Symbol('pp'),
+ const Symbol('pq'),
+ const Symbol('pr'),
+ const Symbol('ps'),
+ const Symbol('pt'),
+ const Symbol('pu'),
+ const Symbol('pv'),
+ const Symbol('pw'),
+ const Symbol('px'),
+ const Symbol('py'),
+ const Symbol('pz'),
+ const Symbol('pA'),
+ const Symbol('pB'),
+ const Symbol('pC'),
+ const Symbol('pD'),
+ const Symbol('pE'),
+ const Symbol('pF'),
+ const Symbol('pG'),
+ const Symbol('pH'),
+ const Symbol('pI'),
+ const Symbol('pJ'),
+ const Symbol('pK'),
+ const Symbol('pL'),
+ const Symbol('pM'),
+ const Symbol('pN'),
+ const Symbol('pO'),
+ const Symbol('pP'),
+ const Symbol('pQ'),
+ const Symbol('pR'),
+ const Symbol('pS'),
+ const Symbol('pT'),
+ const Symbol('pU'),
+ const Symbol('pV'),
+ const Symbol('pW'),
+ const Symbol('pX'),
+ const Symbol('pY'),
+ const Symbol('pZ'),
+ const Symbol('qa'),
+ const Symbol('qb'),
+ const Symbol('qc'),
+ const Symbol('qd'),
+ const Symbol('qe'),
+ const Symbol('qf'),
+ const Symbol('qg'),
+ const Symbol('qh'),
+ const Symbol('qi'),
+ const Symbol('qj'),
+ const Symbol('qk'),
+ const Symbol('ql'),
+ const Symbol('qm'),
+ const Symbol('qn'),
+ const Symbol('qo'),
+ const Symbol('qp'),
+ const Symbol('qq'),
+ const Symbol('qr'),
+ const Symbol('qs'),
+ const Symbol('qt'),
+ const Symbol('qu'),
+ const Symbol('qv'),
+ const Symbol('qw'),
+ const Symbol('qx'),
+ const Symbol('qy'),
+ const Symbol('qz'),
+ const Symbol('qA'),
+ const Symbol('qB'),
+ const Symbol('qC'),
+ const Symbol('qD'),
+ const Symbol('qE'),
+ const Symbol('qF'),
+ const Symbol('qG'),
+ const Symbol('qH'),
+ const Symbol('qI'),
+ const Symbol('qJ'),
+ const Symbol('qK'),
+ const Symbol('qL'),
+ const Symbol('qM'),
+ const Symbol('qN'),
+ const Symbol('qO'),
+ const Symbol('qP'),
+ const Symbol('qQ'),
+ const Symbol('qR'),
+ const Symbol('qS'),
+ const Symbol('qT'),
+ const Symbol('qU'),
+ const Symbol('qV'),
+ const Symbol('qW'),
+ const Symbol('qX'),
+ const Symbol('qY'),
+ const Symbol('qZ'),
+ const Symbol('ra'),
+ const Symbol('rb'),
+ const Symbol('rc'),
+ const Symbol('rd'),
+ const Symbol('re'),
+ const Symbol('rf'),
+ const Symbol('rg'),
+ const Symbol('rh'),
+ const Symbol('ri'),
+ const Symbol('rj'),
+ const Symbol('rk'),
+ const Symbol('rl'),
+ const Symbol('rm'),
+ const Symbol('rn'),
+ const Symbol('ro'),
+ const Symbol('rp'),
+ const Symbol('rq'),
+ const Symbol('rr'),
+ const Symbol('rs'),
+ const Symbol('rt'),
+ const Symbol('ru'),
+ const Symbol('rv'),
+ const Symbol('rw'),
+ const Symbol('rx'),
+ const Symbol('ry'),
+ const Symbol('rz'),
+ const Symbol('rA'),
+ const Symbol('rB'),
+ const Symbol('rC'),
+ const Symbol('rD'),
+ const Symbol('rE'),
+ const Symbol('rF'),
+ const Symbol('rG'),
+ const Symbol('rH'),
+ const Symbol('rI'),
+ const Symbol('rJ'),
+ const Symbol('rK'),
+ const Symbol('rL'),
+ const Symbol('rM'),
+ const Symbol('rN'),
+ const Symbol('rO'),
+ const Symbol('rP'),
+ const Symbol('rQ'),
+ const Symbol('rR'),
+ const Symbol('rS'),
+ const Symbol('rT'),
+ const Symbol('rU'),
+ const Symbol('rV'),
+ const Symbol('rW'),
+ const Symbol('rX'),
+ const Symbol('rY'),
+ const Symbol('rZ'),
+ const Symbol('sa'),
+ const Symbol('sb'),
+ const Symbol('sc'),
+ const Symbol('sd'),
+ const Symbol('se'),
+ const Symbol('sf'),
+ const Symbol('sg'),
+ const Symbol('sh'),
+ const Symbol('si'),
+ const Symbol('sj'),
+ const Symbol('sk'),
+ const Symbol('sl'),
+ const Symbol('sm'),
+ const Symbol('sn'),
+ const Symbol('so'),
+ const Symbol('sp'),
+ const Symbol('sq'),
+ const Symbol('sr'),
+ const Symbol('ss'),
+ const Symbol('st'),
+ const Symbol('su'),
+ const Symbol('sv'),
+ const Symbol('sw'),
+ const Symbol('sx'),
+ const Symbol('sy'),
+ const Symbol('sz'),
+ const Symbol('sA'),
+ const Symbol('sB'),
+ const Symbol('sC'),
+ const Symbol('sD'),
+ const Symbol('sE'),
+ const Symbol('sF'),
+ const Symbol('sG'),
+ const Symbol('sH'),
+ const Symbol('sI'),
+ const Symbol('sJ'),
+ const Symbol('sK'),
+ const Symbol('sL'),
+ const Symbol('sM'),
+ const Symbol('sN'),
+ const Symbol('sO'),
+ const Symbol('sP'),
+ const Symbol('sQ'),
+ const Symbol('sR'),
+ const Symbol('sS'),
+ const Symbol('sT'),
+ const Symbol('sU'),
+ const Symbol('sV'),
+ const Symbol('sW'),
+ const Symbol('sX'),
+ const Symbol('sY'),
+ const Symbol('sZ'),
+ const Symbol('ta'),
+ const Symbol('tb'),
+ const Symbol('tc'),
+ const Symbol('td'),
+ const Symbol('te'),
+ const Symbol('tf'),
+ const Symbol('tg'),
+ const Symbol('th'),
+ const Symbol('ti'),
+ const Symbol('tj'),
+ const Symbol('tk'),
+ const Symbol('tl'),
+ const Symbol('tm'),
+ const Symbol('tn'),
+ const Symbol('to'),
+ const Symbol('tp'),
+ const Symbol('tq'),
+ const Symbol('tr'),
+ const Symbol('ts'),
+ const Symbol('tt'),
+ const Symbol('tu'),
+ const Symbol('tv'),
+ const Symbol('tw'),
+ const Symbol('tx'),
+ const Symbol('ty'),
+ const Symbol('tz'),
+ const Symbol('tA'),
+ const Symbol('tB'),
+ const Symbol('tC'),
+ const Symbol('tD'),
+ const Symbol('tE'),
+ const Symbol('tF'),
+ const Symbol('tG'),
+ const Symbol('tH'),
+ const Symbol('tI'),
+ const Symbol('tJ'),
+ const Symbol('tK'),
+ const Symbol('tL'),
+ const Symbol('tM'),
+ const Symbol('tN'),
+ const Symbol('tO'),
+ const Symbol('tP'),
+ const Symbol('tQ'),
+ const Symbol('tR'),
+ const Symbol('tS'),
+ const Symbol('tT'),
+ const Symbol('tU'),
+ const Symbol('tV'),
+ const Symbol('tW'),
+ const Symbol('tX'),
+ const Symbol('tY'),
+ const Symbol('tZ'),
+ const Symbol('ua'),
+ const Symbol('ub'),
+ const Symbol('uc'),
+ const Symbol('ud'),
+ const Symbol('ue'),
+ const Symbol('uf'),
+ const Symbol('ug'),
+ const Symbol('uh'),
+ const Symbol('ui'),
+ const Symbol('uj'),
+ const Symbol('uk'),
+ const Symbol('ul'),
+ const Symbol('um'),
+ const Symbol('un'),
+ const Symbol('uo'),
+ const Symbol('up'),
+ const Symbol('uq'),
+ const Symbol('ur'),
+ const Symbol('us'),
+ const Symbol('ut'),
+ const Symbol('uu'),
+ const Symbol('uv'),
+ const Symbol('uw'),
+ const Symbol('ux'),
+ const Symbol('uy'),
+ const Symbol('uz'),
+ const Symbol('uA'),
+ const Symbol('uB'),
+ const Symbol('uC'),
+ const Symbol('uD'),
+ const Symbol('uE'),
+ const Symbol('uF'),
+ const Symbol('uG'),
+ const Symbol('uH'),
+ const Symbol('uI'),
+ const Symbol('uJ'),
+ const Symbol('uK'),
+ const Symbol('uL'),
+ const Symbol('uM'),
+ const Symbol('uN'),
+ const Symbol('uO'),
+ const Symbol('uP'),
+ const Symbol('uQ'),
+ const Symbol('uR'),
+ const Symbol('uS'),
+ const Symbol('uT'),
+ const Symbol('uU'),
+ const Symbol('uV'),
+ const Symbol('uW'),
+ const Symbol('uX'),
+ const Symbol('uY'),
+ const Symbol('uZ'),
+ const Symbol('va'),
+ const Symbol('vb'),
+ const Symbol('vc'),
+ const Symbol('vd'),
+ const Symbol('ve'),
+ const Symbol('vf'),
+ const Symbol('vg'),
+ const Symbol('vh'),
+ const Symbol('vi'),
+ const Symbol('vj'),
+ const Symbol('vk'),
+ const Symbol('vl'),
+ const Symbol('vm'),
+ const Symbol('vn'),
+ const Symbol('vo'),
+ const Symbol('vp'),
+ const Symbol('vq'),
+ const Symbol('vr'),
+ const Symbol('vs'),
+ const Symbol('vt'),
+ const Symbol('vu'),
+ const Symbol('vv'),
+ const Symbol('vw'),
+ const Symbol('vx'),
+ const Symbol('vy'),
+ const Symbol('vz'),
+ const Symbol('vA'),
+ const Symbol('vB'),
+ const Symbol('vC'),
+ const Symbol('vD'),
+ const Symbol('vE'),
+ const Symbol('vF'),
+ const Symbol('vG'),
+ const Symbol('vH'),
+ const Symbol('vI'),
+ const Symbol('vJ'),
+ const Symbol('vK'),
+ const Symbol('vL'),
+ const Symbol('vM'),
+ const Symbol('vN'),
+ const Symbol('vO'),
+ const Symbol('vP'),
+ const Symbol('vQ'),
+ const Symbol('vR'),
+ const Symbol('vS'),
+ const Symbol('vT'),
+ const Symbol('vU'),
+ const Symbol('vV'),
+ const Symbol('vW'),
+ const Symbol('vX'),
+ const Symbol('vY'),
+ const Symbol('vZ'),
+ const Symbol('wa'),
+ const Symbol('wb'),
+ const Symbol('wc'),
+ const Symbol('wd'),
+ const Symbol('we'),
+ const Symbol('wf'),
+ const Symbol('wg'),
+ const Symbol('wh'),
+ const Symbol('wi'),
+ const Symbol('wj'),
+ const Symbol('wk'),
+ const Symbol('wl'),
+ const Symbol('wm'),
+ const Symbol('wn'),
+ const Symbol('wo'),
+ const Symbol('wp'),
+ const Symbol('wq'),
+ const Symbol('wr'),
+ const Symbol('ws'),
+ const Symbol('wt'),
+ const Symbol('wu'),
+ const Symbol('wv'),
+ const Symbol('ww'),
+ const Symbol('wx'),
+ const Symbol('wy'),
+ const Symbol('wz'),
+ const Symbol('wA'),
+ const Symbol('wB'),
+ const Symbol('wC'),
+ const Symbol('wD'),
+ const Symbol('wE'),
+ const Symbol('wF'),
+ const Symbol('wG'),
+ const Symbol('wH'),
+ const Symbol('wI'),
+ const Symbol('wJ'),
+ const Symbol('wK'),
+ const Symbol('wL'),
+ const Symbol('wM'),
+ const Symbol('wN'),
+ const Symbol('wO'),
+ const Symbol('wP'),
+ const Symbol('wQ'),
+ const Symbol('wR'),
+ const Symbol('wS'),
+ const Symbol('wT'),
+ const Symbol('wU'),
+ const Symbol('wV'),
+ const Symbol('wW'),
+ const Symbol('wX'),
+ const Symbol('wY'),
+ const Symbol('wZ'),
+ const Symbol('xa'),
+ const Symbol('xb'),
+ const Symbol('xc'),
+ const Symbol('xd'),
+ const Symbol('xe'),
+ const Symbol('xf'),
+ const Symbol('xg'),
+ const Symbol('xh'),
+ const Symbol('xi'),
+ const Symbol('xj'),
+ const Symbol('xk'),
+ const Symbol('xl'),
+ const Symbol('xm'),
+ const Symbol('xn'),
+ const Symbol('xo'),
+ const Symbol('xp'),
+ const Symbol('xq'),
+ const Symbol('xr'),
+ const Symbol('xs'),
+ const Symbol('xt'),
+ const Symbol('xu'),
+ const Symbol('xv'),
+ const Symbol('xw'),
+ const Symbol('xx'),
+ const Symbol('xy'),
+ const Symbol('xz'),
+ const Symbol('xA'),
+ const Symbol('xB'),
+ const Symbol('xC'),
+ const Symbol('xD'),
+ const Symbol('xE'),
+ const Symbol('xF'),
+ const Symbol('xG'),
+ const Symbol('xH'),
+ const Symbol('xI'),
+ const Symbol('xJ'),
+ const Symbol('xK'),
+ const Symbol('xL'),
+ const Symbol('xM'),
+ const Symbol('xN'),
+ const Symbol('xO'),
+ const Symbol('xP'),
+ const Symbol('xQ'),
+ const Symbol('xR'),
+ const Symbol('xS'),
+ const Symbol('xT'),
+ const Symbol('xU'),
+ const Symbol('xV'),
+ const Symbol('xW'),
+ const Symbol('xX'),
+ const Symbol('xY'),
+ const Symbol('xZ'),
+ const Symbol('ya'),
+ const Symbol('yb'),
+ const Symbol('yc'),
+ const Symbol('yd'),
+ const Symbol('ye'),
+ const Symbol('yf'),
+ const Symbol('yg'),
+ const Symbol('yh'),
+ const Symbol('yi'),
+ const Symbol('yj'),
+ const Symbol('yk'),
+ const Symbol('yl'),
+ const Symbol('ym'),
+ const Symbol('yn'),
+ const Symbol('yo'),
+ const Symbol('yp'),
+ const Symbol('yq'),
+ const Symbol('yr'),
+ const Symbol('ys'),
+ const Symbol('yt'),
+ const Symbol('yu'),
+ const Symbol('yv'),
+ const Symbol('yw'),
+ const Symbol('yx'),
+ const Symbol('yy'),
+ const Symbol('yz'),
+ const Symbol('yA'),
+ const Symbol('yB'),
+ const Symbol('yC'),
+ const Symbol('yD'),
+ const Symbol('yE'),
+ const Symbol('yF'),
+ const Symbol('yG'),
+ const Symbol('yH'),
+ const Symbol('yI'),
+ const Symbol('yJ'),
+ const Symbol('yK'),
+ const Symbol('yL'),
+ const Symbol('yM'),
+ const Symbol('yN'),
+ const Symbol('yO'),
+ const Symbol('yP'),
+ const Symbol('yQ'),
+ const Symbol('yR'),
+ const Symbol('yS'),
+ const Symbol('yT'),
+ const Symbol('yU'),
+ const Symbol('yV'),
+ const Symbol('yW'),
+ const Symbol('yX'),
+ const Symbol('yY'),
+ const Symbol('yZ'),
+ const Symbol('za'),
+ const Symbol('zb'),
+ const Symbol('zc'),
+ const Symbol('zd'),
+ const Symbol('ze'),
+ const Symbol('zf'),
+ const Symbol('zg'),
+ const Symbol('zh'),
+ const Symbol('zi'),
+ const Symbol('zj'),
+ const Symbol('zk'),
+ const Symbol('zl'),
+ const Symbol('zm'),
+ const Symbol('zn'),
+ const Symbol('zo'),
+ const Symbol('zp'),
+ const Symbol('zq'),
+ const Symbol('zr'),
+ const Symbol('zs'),
+ const Symbol('zt'),
+ const Symbol('zu'),
+ const Symbol('zv'),
+ const Symbol('zw'),
+ const Symbol('zx'),
+ const Symbol('zy'),
+ const Symbol('zz'),
+ const Symbol('zA'),
+ const Symbol('zB'),
+ const Symbol('zC'),
+ const Symbol('zD'),
+ const Symbol('zE'),
+ const Symbol('zF'),
+ const Symbol('zG'),
+ const Symbol('zH'),
+ const Symbol('zI'),
+ const Symbol('zJ'),
+ const Symbol('zK'),
+ const Symbol('zL'),
+ const Symbol('zM'),
+ const Symbol('zN'),
+ const Symbol('zO'),
+ const Symbol('zP'),
+ const Symbol('zQ'),
+ const Symbol('zR'),
+ const Symbol('zS'),
+ const Symbol('zT'),
+ const Symbol('zU'),
+ const Symbol('zV'),
+ const Symbol('zW'),
+ const Symbol('zX'),
+ const Symbol('zY'),
+ const Symbol('zZ'),
+ const Symbol('Aa'),
+ const Symbol('Ab'),
+ const Symbol('Ac'),
+ const Symbol('Ad'),
+ const Symbol('Ae'),
+ const Symbol('Af'),
+ const Symbol('Ag'),
+ const Symbol('Ah'),
+ const Symbol('Ai'),
+ const Symbol('Aj'),
+ const Symbol('Ak'),
+ const Symbol('Al'),
+ const Symbol('Am'),
+ const Symbol('An'),
+ const Symbol('Ao'),
+ const Symbol('Ap'),
+ const Symbol('Aq'),
+ const Symbol('Ar'),
+ const Symbol('As'),
+ const Symbol('At'),
+ const Symbol('Au'),
+ const Symbol('Av'),
+ const Symbol('Aw'),
+ const Symbol('Ax'),
+ const Symbol('Ay'),
+ const Symbol('Az'),
+ const Symbol('AA'),
+ const Symbol('AB'),
+ const Symbol('AC'),
+ const Symbol('AD'),
+ const Symbol('AE'),
+ const Symbol('AF'),
+ const Symbol('AG'),
+ const Symbol('AH'),
+ const Symbol('AI'),
+ const Symbol('AJ'),
+ const Symbol('AK'),
+ const Symbol('AL'),
+ const Symbol('AM'),
+ const Symbol('AN'),
+ const Symbol('AO'),
+ const Symbol('AP'),
+ const Symbol('AQ'),
+ const Symbol('AR'),
+ const Symbol('AS'),
+ const Symbol('AT'),
+ const Symbol('AU'),
+ const Symbol('AV'),
+ const Symbol('AW'),
+ const Symbol('AX'),
+ const Symbol('AY'),
+ const Symbol('AZ'),
+ const Symbol('Ba'),
+ const Symbol('Bb'),
+ const Symbol('Bc'),
+ const Symbol('Bd'),
+ const Symbol('Be'),
+ const Symbol('Bf'),
+ const Symbol('Bg'),
+ const Symbol('Bh'),
+ const Symbol('Bi'),
+ const Symbol('Bj'),
+ const Symbol('Bk'),
+ const Symbol('Bl'),
+ const Symbol('Bm'),
+ const Symbol('Bn'),
+ const Symbol('Bo'),
+ const Symbol('Bp'),
+ const Symbol('Bq'),
+ const Symbol('Br'),
+ const Symbol('Bs'),
+ const Symbol('Bt'),
+ const Symbol('Bu'),
+ const Symbol('Bv'),
+ const Symbol('Bw'),
+ const Symbol('Bx'),
+ const Symbol('By'),
+ const Symbol('Bz'),
+ const Symbol('BA'),
+ const Symbol('BB'),
+ const Symbol('BC'),
+ const Symbol('BD'),
+ const Symbol('BE'),
+ const Symbol('BF'),
+ const Symbol('BG'),
+ const Symbol('BH'),
+ const Symbol('BI'),
+ const Symbol('BJ'),
+ const Symbol('BK'),
+ const Symbol('BL'),
+ const Symbol('BM'),
+ const Symbol('BN'),
+ const Symbol('BO'),
+ const Symbol('BP'),
+ const Symbol('BQ'),
+ const Symbol('BR'),
+ const Symbol('BS'),
+ const Symbol('BT'),
+ const Symbol('BU'),
+ const Symbol('BV'),
+ const Symbol('BW'),
+ const Symbol('BX'),
+ const Symbol('BY'),
+ const Symbol('BZ'),
+ const Symbol('Ca'),
+ const Symbol('Cb'),
+ const Symbol('Cc'),
+ const Symbol('Cd'),
+ const Symbol('Ce'),
+ const Symbol('Cf'),
+ const Symbol('Cg'),
+ const Symbol('Ch'),
+ const Symbol('Ci'),
+ const Symbol('Cj'),
+ const Symbol('Ck'),
+ const Symbol('Cl'),
+ const Symbol('Cm'),
+ const Symbol('Cn'),
+ const Symbol('Co'),
+ const Symbol('Cp'),
+ const Symbol('Cq'),
+ const Symbol('Cr'),
+ const Symbol('Cs'),
+ const Symbol('Ct'),
+ const Symbol('Cu'),
+ const Symbol('Cv'),
+ const Symbol('Cw'),
+ const Symbol('Cx'),
+ const Symbol('Cy'),
+ const Symbol('Cz'),
+ const Symbol('CA'),
+ const Symbol('CB'),
+ const Symbol('CC'),
+ const Symbol('CD'),
+ const Symbol('CE'),
+ const Symbol('CF'),
+ const Symbol('CG'),
+ const Symbol('CH'),
+ const Symbol('CI'),
+ const Symbol('CJ'),
+ const Symbol('CK'),
+ const Symbol('CL'),
+ const Symbol('CM'),
+ const Symbol('CN'),
+ const Symbol('CO'),
+ const Symbol('CP'),
+ const Symbol('CQ'),
+ const Symbol('CR'),
+ const Symbol('CS'),
+ const Symbol('CT'),
+ const Symbol('CU'),
+ const Symbol('CV'),
+ const Symbol('CW'),
+ const Symbol('CX'),
+ const Symbol('CY'),
+ const Symbol('CZ'),
+ const Symbol('Da'),
+ const Symbol('Db'),
+ const Symbol('Dc'),
+ const Symbol('Dd'),
+ const Symbol('De'),
+ const Symbol('Df'),
+ const Symbol('Dg'),
+ const Symbol('Dh'),
+ const Symbol('Di'),
+ const Symbol('Dj'),
+ const Symbol('Dk'),
+ const Symbol('Dl'),
+ const Symbol('Dm'),
+ const Symbol('Dn'),
+ const Symbol('Do'),
+ const Symbol('Dp'),
+ const Symbol('Dq'),
+ const Symbol('Dr'),
+ const Symbol('Ds'),
+ const Symbol('Dt'),
+ const Symbol('Du'),
+ const Symbol('Dv'),
+ const Symbol('Dw'),
+ const Symbol('Dx'),
+ const Symbol('Dy'),
+ const Symbol('Dz'),
+ const Symbol('DA'),
+ const Symbol('DB'),
+ const Symbol('DC'),
+ const Symbol('DD'),
+ const Symbol('DE'),
+ const Symbol('DF'),
+ const Symbol('DG'),
+ const Symbol('DH'),
+ const Symbol('DI'),
+ const Symbol('DJ'),
+ const Symbol('DK'),
+ const Symbol('DL'),
+ const Symbol('DM'),
+ const Symbol('DN'),
+ const Symbol('DO'),
+ const Symbol('DP'),
+ const Symbol('DQ'),
+ const Symbol('DR'),
+ const Symbol('DS'),
+ const Symbol('DT'),
+ const Symbol('DU'),
+ const Symbol('DV'),
+ const Symbol('DW'),
+ const Symbol('DX'),
+ const Symbol('DY'),
+ const Symbol('DZ'),
+ const Symbol('Ea'),
+ const Symbol('Eb'),
+ const Symbol('Ec'),
+ const Symbol('Ed'),
+ const Symbol('Ee'),
+ const Symbol('Ef'),
+ const Symbol('Eg'),
+ const Symbol('Eh'),
+ const Symbol('Ei'),
+ const Symbol('Ej'),
+ const Symbol('Ek'),
+ const Symbol('El'),
+ const Symbol('Em'),
+ const Symbol('En'),
+ const Symbol('Eo'),
+ const Symbol('Ep'),
+ const Symbol('Eq'),
+ const Symbol('Er'),
+ const Symbol('Es'),
+ const Symbol('Et'),
+ const Symbol('Eu'),
+ const Symbol('Ev'),
+ const Symbol('Ew'),
+ const Symbol('Ex'),
+ const Symbol('Ey'),
+ const Symbol('Ez'),
+ const Symbol('EA'),
+ const Symbol('EB'),
+ const Symbol('EC'),
+ const Symbol('ED'),
+ const Symbol('EE'),
+ const Symbol('EF'),
+ const Symbol('EG'),
+ const Symbol('EH'),
+ const Symbol('EI'),
+ const Symbol('EJ'),
+ const Symbol('EK'),
+ const Symbol('EL'),
+ const Symbol('EM'),
+ const Symbol('EN'),
+ const Symbol('EO'),
+ const Symbol('EP'),
+ const Symbol('EQ'),
+ const Symbol('ER'),
+ const Symbol('ES'),
+ const Symbol('ET'),
+ const Symbol('EU'),
+ const Symbol('EV'),
+ const Symbol('EW'),
+ const Symbol('EX'),
+ const Symbol('EY'),
+ const Symbol('EZ'),
+ const Symbol('Fa'),
+ const Symbol('Fb'),
+ const Symbol('Fc'),
+ const Symbol('Fd'),
+ const Symbol('Fe'),
+ const Symbol('Ff'),
+ const Symbol('Fg'),
+ const Symbol('Fh'),
+ const Symbol('Fi'),
+ const Symbol('Fj'),
+ const Symbol('Fk'),
+ const Symbol('Fl'),
+ const Symbol('Fm'),
+ const Symbol('Fn'),
+ const Symbol('Fo'),
+ const Symbol('Fp'),
+ const Symbol('Fq'),
+ const Symbol('Fr'),
+ const Symbol('Fs'),
+ const Symbol('Ft'),
+ const Symbol('Fu'),
+ const Symbol('Fv'),
+ const Symbol('Fw'),
+ const Symbol('Fx'),
+ const Symbol('Fy'),
+ const Symbol('Fz'),
+ const Symbol('FA'),
+ const Symbol('FB'),
+ const Symbol('FC'),
+ const Symbol('FD'),
+ const Symbol('FE'),
+ const Symbol('FF'),
+ const Symbol('FG'),
+ const Symbol('FH'),
+ const Symbol('FI'),
+ const Symbol('FJ'),
+ const Symbol('FK'),
+ const Symbol('FL'),
+ const Symbol('FM'),
+ const Symbol('FN'),
+ const Symbol('FO'),
+ const Symbol('FP'),
+ const Symbol('FQ'),
+ const Symbol('FR'),
+ const Symbol('FS'),
+ const Symbol('FT'),
+ const Symbol('FU'),
+ const Symbol('FV'),
+ const Symbol('FW'),
+ const Symbol('FX'),
+ const Symbol('FY'),
+ const Symbol('FZ'),
+ const Symbol('Ga'),
+ const Symbol('Gb'),
+ const Symbol('Gc'),
+ const Symbol('Gd'),
+ const Symbol('Ge'),
+ const Symbol('Gf'),
+ const Symbol('Gg'),
+ const Symbol('Gh'),
+ const Symbol('Gi'),
+ const Symbol('Gj'),
+ const Symbol('Gk'),
+ const Symbol('Gl'),
+ const Symbol('Gm'),
+ const Symbol('Gn'),
+ const Symbol('Go'),
+ const Symbol('Gp'),
+ const Symbol('Gq'),
+ const Symbol('Gr'),
+ const Symbol('Gs'),
+ const Symbol('Gt'),
+ const Symbol('Gu'),
+ const Symbol('Gv'),
+ const Symbol('Gw'),
+ const Symbol('Gx'),
+ const Symbol('Gy'),
+ const Symbol('Gz'),
+ const Symbol('GA'),
+ const Symbol('GB'),
+ const Symbol('GC'),
+ const Symbol('GD'),
+ const Symbol('GE'),
+ const Symbol('GF'),
+ const Symbol('GG'),
+ const Symbol('GH'),
+ const Symbol('GI'),
+ const Symbol('GJ'),
+ const Symbol('GK'),
+ const Symbol('GL'),
+ const Symbol('GM'),
+ const Symbol('GN'),
+ const Symbol('GO'),
+ const Symbol('GP'),
+ const Symbol('GQ'),
+ const Symbol('GR'),
+ const Symbol('GS'),
+ const Symbol('GT'),
+ const Symbol('GU'),
+ const Symbol('GV'),
+ const Symbol('GW'),
+ const Symbol('GX'),
+ const Symbol('GY'),
+ const Symbol('GZ'),
+ const Symbol('Ha'),
+ const Symbol('Hb'),
+ const Symbol('Hc'),
+ const Symbol('Hd'),
+ const Symbol('He'),
+ const Symbol('Hf'),
+ const Symbol('Hg'),
+ const Symbol('Hh'),
+ const Symbol('Hi'),
+ const Symbol('Hj'),
+ const Symbol('Hk'),
+ const Symbol('Hl'),
+ const Symbol('Hm'),
+ const Symbol('Hn'),
+ const Symbol('Ho'),
+ const Symbol('Hp'),
+ const Symbol('Hq'),
+ const Symbol('Hr'),
+ const Symbol('Hs'),
+ const Symbol('Ht'),
+ const Symbol('Hu'),
+ const Symbol('Hv'),
+ const Symbol('Hw'),
+ const Symbol('Hx'),
+ const Symbol('Hy'),
+ const Symbol('Hz'),
+ const Symbol('HA'),
+ const Symbol('HB'),
+ const Symbol('HC'),
+ const Symbol('HD'),
+ const Symbol('HE'),
+ const Symbol('HF'),
+ const Symbol('HG'),
+ const Symbol('HH'),
+ const Symbol('HI'),
+ const Symbol('HJ'),
+ const Symbol('HK'),
+ const Symbol('HL'),
+ const Symbol('HM'),
+ const Symbol('HN'),
+ const Symbol('HO'),
+ const Symbol('HP'),
+ const Symbol('HQ'),
+ const Symbol('HR'),
+ const Symbol('HS'),
+ const Symbol('HT'),
+ const Symbol('HU'),
+ const Symbol('HV'),
+ const Symbol('HW'),
+ const Symbol('HX'),
+ const Symbol('HY'),
+ const Symbol('HZ'),
+ const Symbol('Ia'),
+ const Symbol('Ib'),
+ const Symbol('Ic'),
+ const Symbol('Id'),
+ const Symbol('Ie'),
+ const Symbol('If'),
+ const Symbol('Ig'),
+ const Symbol('Ih'),
+ const Symbol('Ii'),
+ const Symbol('Ij'),
+ const Symbol('Ik'),
+ const Symbol('Il'),
+ const Symbol('Im'),
+ const Symbol('In'),
+ const Symbol('Io'),
+ const Symbol('Ip'),
+ const Symbol('Iq'),
+ const Symbol('Ir'),
+ const Symbol('Is'),
+ const Symbol('It'),
+ const Symbol('Iu'),
+ const Symbol('Iv'),
+ const Symbol('Iw'),
+ const Symbol('Ix'),
+ const Symbol('Iy'),
+ const Symbol('Iz'),
+ const Symbol('IA'),
+ const Symbol('IB'),
+ const Symbol('IC'),
+ const Symbol('ID'),
+ const Symbol('IE'),
+ const Symbol('IF'),
+ const Symbol('IG'),
+ const Symbol('IH'),
+ const Symbol('II'),
+ const Symbol('IJ'),
+ const Symbol('IK'),
+ const Symbol('IL'),
+ const Symbol('IM'),
+ const Symbol('IN'),
+ const Symbol('IO'),
+ const Symbol('IP'),
+ const Symbol('IQ'),
+ const Symbol('IR'),
+ const Symbol('IS'),
+ const Symbol('IT'),
+ const Symbol('IU'),
+ const Symbol('IV'),
+ const Symbol('IW'),
+ const Symbol('IX'),
+ const Symbol('IY'),
+ const Symbol('IZ'),
+ const Symbol('Ja'),
+ const Symbol('Jb'),
+ const Symbol('Jc'),
+ const Symbol('Jd'),
+ const Symbol('Je'),
+ const Symbol('Jf'),
+ const Symbol('Jg'),
+ const Symbol('Jh'),
+ const Symbol('Ji'),
+ const Symbol('Jj'),
+ const Symbol('Jk'),
+ const Symbol('Jl'),
+ const Symbol('Jm'),
+ const Symbol('Jn'),
+ const Symbol('Jo'),
+ const Symbol('Jp'),
+ const Symbol('Jq'),
+ const Symbol('Jr'),
+ const Symbol('Js'),
+ const Symbol('Jt'),
+ const Symbol('Ju'),
+ const Symbol('Jv'),
+ const Symbol('Jw'),
+ const Symbol('Jx'),
+ const Symbol('Jy'),
+ const Symbol('Jz'),
+ const Symbol('JA'),
+ const Symbol('JB'),
+ const Symbol('JC'),
+ const Symbol('JD'),
+ const Symbol('JE'),
+ const Symbol('JF'),
+ const Symbol('JG'),
+ const Symbol('JH'),
+ const Symbol('JI'),
+ const Symbol('JJ'),
+ const Symbol('JK'),
+ const Symbol('JL'),
+ const Symbol('JM'),
+ const Symbol('JN'),
+ const Symbol('JO'),
+ const Symbol('JP'),
+ const Symbol('JQ'),
+ const Symbol('JR'),
+ const Symbol('JS'),
+ const Symbol('JT'),
+ const Symbol('JU'),
+ const Symbol('JV'),
+ const Symbol('JW'),
+ const Symbol('JX'),
+ const Symbol('JY'),
+ const Symbol('JZ'),
+ const Symbol('Ka'),
+ const Symbol('Kb'),
+ const Symbol('Kc'),
+ const Symbol('Kd'),
+ const Symbol('Ke'),
+ const Symbol('Kf'),
+ const Symbol('Kg'),
+ const Symbol('Kh'),
+ const Symbol('Ki'),
+ const Symbol('Kj'),
+ const Symbol('Kk'),
+ const Symbol('Kl'),
+ const Symbol('Km'),
+ const Symbol('Kn'),
+ const Symbol('Ko'),
+ const Symbol('Kp'),
+ const Symbol('Kq'),
+ const Symbol('Kr'),
+ const Symbol('Ks'),
+ const Symbol('Kt'),
+ const Symbol('Ku'),
+ const Symbol('Kv'),
+ const Symbol('Kw'),
+ const Symbol('Kx'),
+ const Symbol('Ky'),
+ const Symbol('Kz'),
+ const Symbol('KA'),
+ const Symbol('KB'),
+ const Symbol('KC'),
+ const Symbol('KD'),
+ const Symbol('KE'),
+ const Symbol('KF'),
+ const Symbol('KG'),
+ const Symbol('KH'),
+ const Symbol('KI'),
+ const Symbol('KJ'),
+ const Symbol('KK'),
+ const Symbol('KL'),
+ const Symbol('KM'),
+ const Symbol('KN'),
+ const Symbol('KO'),
+ const Symbol('KP'),
+ const Symbol('KQ'),
+ const Symbol('KR'),
+ const Symbol('KS'),
+ const Symbol('KT'),
+ const Symbol('KU'),
+ const Symbol('KV'),
+ const Symbol('KW'),
+ const Symbol('KX'),
+ const Symbol('KY'),
+ const Symbol('KZ'),
+ const Symbol('La'),
+ const Symbol('Lb'),
+ const Symbol('Lc'),
+ const Symbol('Ld'),
+ const Symbol('Le'),
+ const Symbol('Lf'),
+ const Symbol('Lg'),
+ const Symbol('Lh'),
+ const Symbol('Li'),
+ const Symbol('Lj'),
+ const Symbol('Lk'),
+ const Symbol('Ll'),
+ const Symbol('Lm'),
+ const Symbol('Ln'),
+ const Symbol('Lo'),
+ const Symbol('Lp'),
+ const Symbol('Lq'),
+ const Symbol('Lr'),
+ const Symbol('Ls'),
+ const Symbol('Lt'),
+ const Symbol('Lu'),
+ const Symbol('Lv'),
+ const Symbol('Lw'),
+ const Symbol('Lx'),
+ const Symbol('Ly'),
+ const Symbol('Lz'),
+ const Symbol('LA'),
+ const Symbol('LB'),
+ const Symbol('LC'),
+ const Symbol('LD'),
+ const Symbol('LE'),
+ const Symbol('LF'),
+ const Symbol('LG'),
+ const Symbol('LH'),
+ const Symbol('LI'),
+ const Symbol('LJ'),
+ const Symbol('LK'),
+ const Symbol('LL'),
+ const Symbol('LM'),
+ const Symbol('LN'),
+ const Symbol('LO'),
+ const Symbol('LP'),
+ const Symbol('LQ'),
+ const Symbol('LR'),
+ const Symbol('LS'),
+ const Symbol('LT'),
+ const Symbol('LU'),
+ const Symbol('LV'),
+ const Symbol('LW'),
+ const Symbol('LX'),
+ const Symbol('LY'),
+ const Symbol('LZ'),
+ const Symbol('Ma'),
+ const Symbol('Mb'),
+ const Symbol('Mc'),
+ const Symbol('Md'),
+ const Symbol('Me'),
+ const Symbol('Mf'),
+ const Symbol('Mg'),
+ const Symbol('Mh'),
+ const Symbol('Mi'),
+ const Symbol('Mj'),
+ const Symbol('Mk'),
+ const Symbol('Ml'),
+ const Symbol('Mm'),
+ const Symbol('Mn'),
+ const Symbol('Mo'),
+ const Symbol('Mp'),
+ const Symbol('Mq'),
+ const Symbol('Mr'),
+ const Symbol('Ms'),
+ const Symbol('Mt'),
+ const Symbol('Mu'),
+ const Symbol('Mv'),
+ const Symbol('Mw'),
+ const Symbol('Mx'),
+ const Symbol('My'),
+ const Symbol('Mz'),
+ const Symbol('MA'),
+ const Symbol('MB'),
+ const Symbol('MC'),
+ const Symbol('MD'),
+ const Symbol('ME'),
+ const Symbol('MF'),
+ const Symbol('MG'),
+ const Symbol('MH'),
+ const Symbol('MI'),
+ const Symbol('MJ'),
+ const Symbol('MK'),
+ const Symbol('ML'),
+ const Symbol('MM'),
+ const Symbol('MN'),
+ const Symbol('MO'),
+ const Symbol('MP'),
+ const Symbol('MQ'),
+ const Symbol('MR'),
+ const Symbol('MS'),
+ const Symbol('MT'),
+ const Symbol('MU'),
+ const Symbol('MV'),
+ const Symbol('MW'),
+ const Symbol('MX'),
+ const Symbol('MY'),
+ const Symbol('MZ'),
+ const Symbol('Na'),
+ const Symbol('Nb'),
+ const Symbol('Nc'),
+ const Symbol('Nd'),
+ const Symbol('Ne'),
+ const Symbol('Nf'),
+ const Symbol('Ng'),
+ const Symbol('Nh'),
+ const Symbol('Ni'),
+ const Symbol('Nj'),
+ const Symbol('Nk'),
+ const Symbol('Nl'),
+ const Symbol('Nm'),
+ const Symbol('Nn'),
+ const Symbol('No'),
+ const Symbol('Np'),
+ const Symbol('Nq'),
+ const Symbol('Nr'),
+ const Symbol('Ns'),
+ const Symbol('Nt'),
+ const Symbol('Nu'),
+ const Symbol('Nv'),
+ const Symbol('Nw'),
+ const Symbol('Nx'),
+ const Symbol('Ny'),
+ const Symbol('Nz'),
+ const Symbol('NA'),
+ const Symbol('NB'),
+ const Symbol('NC'),
+ const Symbol('ND'),
+ const Symbol('NE'),
+ const Symbol('NF'),
+ const Symbol('NG'),
+ const Symbol('NH'),
+ const Symbol('NI'),
+ const Symbol('NJ'),
+ const Symbol('NK'),
+ const Symbol('NL'),
+ const Symbol('NM'),
+ const Symbol('NN'),
+ const Symbol('NO'),
+ const Symbol('NP'),
+ const Symbol('NQ'),
+ const Symbol('NR'),
+ const Symbol('NS'),
+ const Symbol('NT'),
+ const Symbol('NU'),
+ const Symbol('NV'),
+ const Symbol('NW'),
+ const Symbol('NX'),
+ const Symbol('NY'),
+ const Symbol('NZ'),
+ const Symbol('Oa'),
+ const Symbol('Ob'),
+ const Symbol('Oc'),
+ const Symbol('Od'),
+ const Symbol('Oe'),
+ const Symbol('Of'),
+ const Symbol('Og'),
+ const Symbol('Oh'),
+ const Symbol('Oi'),
+ const Symbol('Oj'),
+ const Symbol('Ok'),
+ const Symbol('Ol'),
+ const Symbol('Om'),
+ const Symbol('On'),
+ const Symbol('Oo'),
+ const Symbol('Op'),
+ const Symbol('Oq'),
+ const Symbol('Or'),
+ const Symbol('Os'),
+ const Symbol('Ot'),
+ const Symbol('Ou'),
+ const Symbol('Ov'),
+ const Symbol('Ow'),
+ const Symbol('Ox'),
+ const Symbol('Oy'),
+ const Symbol('Oz'),
+ const Symbol('OA'),
+ const Symbol('OB'),
+ const Symbol('OC'),
+ const Symbol('OD'),
+ const Symbol('OE'),
+ const Symbol('OF'),
+ const Symbol('OG'),
+ const Symbol('OH'),
+ const Symbol('OI'),
+ const Symbol('OJ'),
+ const Symbol('OK'),
+ const Symbol('OL'),
+ const Symbol('OM'),
+ const Symbol('ON'),
+ const Symbol('OO'),
+ const Symbol('OP'),
+ const Symbol('OQ'),
+ const Symbol('OR'),
+ const Symbol('OS'),
+ const Symbol('OT'),
+ const Symbol('OU'),
+ const Symbol('OV'),
+ const Symbol('OW'),
+ const Symbol('OX'),
+ const Symbol('OY'),
+ const Symbol('OZ'),
+ const Symbol('Pa'),
+ const Symbol('Pb'),
+ const Symbol('Pc'),
+ const Symbol('Pd'),
+ const Symbol('Pe'),
+ const Symbol('Pf'),
+ const Symbol('Pg'),
+ const Symbol('Ph'),
+ const Symbol('Pi'),
+ const Symbol('Pj'),
+ const Symbol('Pk'),
+ const Symbol('Pl'),
+ const Symbol('Pm'),
+ const Symbol('Pn'),
+ const Symbol('Po'),
+ const Symbol('Pp'),
+ const Symbol('Pq'),
+ const Symbol('Pr'),
+ const Symbol('Ps'),
+ const Symbol('Pt'),
+ const Symbol('Pu'),
+ const Symbol('Pv'),
+ const Symbol('Pw'),
+ const Symbol('Px'),
+ const Symbol('Py'),
+ const Symbol('Pz'),
+ const Symbol('PA'),
+ const Symbol('PB'),
+ const Symbol('PC'),
+ const Symbol('PD'),
+ const Symbol('PE'),
+ const Symbol('PF'),
+ const Symbol('PG'),
+ const Symbol('PH'),
+ const Symbol('PI'),
+ const Symbol('PJ'),
+ const Symbol('PK'),
+ const Symbol('PL'),
+ const Symbol('PM'),
+ const Symbol('PN'),
+ const Symbol('PO'),
+ const Symbol('PP'),
+ const Symbol('PQ'),
+ const Symbol('PR'),
+ const Symbol('PS'),
+ const Symbol('PT'),
+ const Symbol('PU'),
+ const Symbol('PV'),
+ const Symbol('PW'),
+ const Symbol('PX'),
+ const Symbol('PY'),
+ const Symbol('PZ'),
+ const Symbol('Qa'),
+ const Symbol('Qb'),
+ const Symbol('Qc'),
+ const Symbol('Qd'),
+ const Symbol('Qe'),
+ const Symbol('Qf'),
+ const Symbol('Qg'),
+ const Symbol('Qh'),
+ const Symbol('Qi'),
+ const Symbol('Qj'),
+ const Symbol('Qk'),
+ const Symbol('Ql'),
+ const Symbol('Qm'),
+ const Symbol('Qn'),
+ const Symbol('Qo'),
+ const Symbol('Qp'),
+ const Symbol('Qq'),
+ const Symbol('Qr'),
+ const Symbol('Qs'),
+ const Symbol('Qt'),
+ const Symbol('Qu'),
+ const Symbol('Qv'),
+ const Symbol('Qw'),
+ const Symbol('Qx'),
+ const Symbol('Qy'),
+ const Symbol('Qz'),
+ const Symbol('QA'),
+ const Symbol('QB'),
+ const Symbol('QC'),
+ const Symbol('QD'),
+ const Symbol('QE'),
+ const Symbol('QF'),
+ const Symbol('QG'),
+ const Symbol('QH'),
+ const Symbol('QI'),
+ const Symbol('QJ'),
+ const Symbol('QK'),
+ const Symbol('QL'),
+ const Symbol('QM'),
+ const Symbol('QN'),
+ const Symbol('QO'),
+ const Symbol('QP'),
+ const Symbol('QQ'),
+ const Symbol('QR'),
+ const Symbol('QS'),
+ const Symbol('QT'),
+ const Symbol('QU'),
+ const Symbol('QV'),
+ const Symbol('QW'),
+ const Symbol('QX'),
+ const Symbol('QY'),
+ const Symbol('QZ'),
+ const Symbol('Ra'),
+ const Symbol('Rb'),
+ const Symbol('Rc'),
+ const Symbol('Rd'),
+ const Symbol('Re'),
+ const Symbol('Rf'),
+ const Symbol('Rg'),
+ const Symbol('Rh'),
+ const Symbol('Ri'),
+ const Symbol('Rj'),
+ const Symbol('Rk'),
+ const Symbol('Rl'),
+ const Symbol('Rm'),
+ const Symbol('Rn'),
+ const Symbol('Ro'),
+ const Symbol('Rp'),
+ const Symbol('Rq'),
+ const Symbol('Rr'),
+ const Symbol('Rs'),
+ const Symbol('Rt'),
+ const Symbol('Ru'),
+ const Symbol('Rv'),
+ const Symbol('Rw'),
+ const Symbol('Rx'),
+ const Symbol('Ry'),
+ const Symbol('Rz'),
+ const Symbol('RA'),
+ const Symbol('RB'),
+ const Symbol('RC'),
+ const Symbol('RD'),
+ const Symbol('RE'),
+ const Symbol('RF'),
+ const Symbol('RG'),
+ const Symbol('RH'),
+ const Symbol('RI'),
+ const Symbol('RJ'),
+ const Symbol('RK'),
+ const Symbol('RL'),
+ const Symbol('RM'),
+ const Symbol('RN'),
+ const Symbol('RO'),
+ const Symbol('RP'),
+ const Symbol('RQ'),
+ const Symbol('RR'),
+ const Symbol('RS'),
+ const Symbol('RT'),
+ const Symbol('RU'),
+ const Symbol('RV'),
+ const Symbol('RW'),
+ const Symbol('RX'),
+ const Symbol('RY'),
+ const Symbol('RZ'),
+ const Symbol('Sa'),
+ const Symbol('Sb'),
+ const Symbol('Sc'),
+ const Symbol('Sd'),
+ const Symbol('Se'),
+ const Symbol('Sf'),
+ const Symbol('Sg'),
+ const Symbol('Sh'),
+ const Symbol('Si'),
+ const Symbol('Sj'),
+ const Symbol('Sk'),
+ const Symbol('Sl'),
+ const Symbol('Sm'),
+ const Symbol('Sn'),
+ const Symbol('So'),
+ const Symbol('Sp'),
+ const Symbol('Sq'),
+ const Symbol('Sr'),
+ const Symbol('Ss'),
+ const Symbol('St'),
+ const Symbol('Su'),
+ const Symbol('Sv'),
+ const Symbol('Sw'),
+ const Symbol('Sx'),
+ const Symbol('Sy'),
+ const Symbol('Sz'),
+ const Symbol('SA'),
+ const Symbol('SB'),
+ const Symbol('SC'),
+ const Symbol('SD'),
+ const Symbol('SE'),
+ const Symbol('SF'),
+ const Symbol('SG'),
+ const Symbol('SH'),
+ const Symbol('SI'),
+ const Symbol('SJ'),
+ const Symbol('SK'),
+ const Symbol('SL'),
+ const Symbol('SM'),
+ const Symbol('SN'),
+ const Symbol('SO'),
+ const Symbol('SP'),
+ const Symbol('SQ'),
+ const Symbol('SR'),
+ const Symbol('SS'),
+ const Symbol('ST'),
+ const Symbol('SU'),
+ const Symbol('SV'),
+ const Symbol('SW'),
+ const Symbol('SX'),
+ const Symbol('SY'),
+ const Symbol('SZ'),
+ const Symbol('Ta'),
+ const Symbol('Tb'),
+ const Symbol('Tc'),
+ const Symbol('Td'),
+ const Symbol('Te'),
+ const Symbol('Tf'),
+ const Symbol('Tg'),
+ const Symbol('Th'),
+ const Symbol('Ti'),
+ const Symbol('Tj'),
+ const Symbol('Tk'),
+ const Symbol('Tl'),
+ const Symbol('Tm'),
+ const Symbol('Tn'),
+ const Symbol('To'),
+ const Symbol('Tp'),
+ const Symbol('Tq'),
+ const Symbol('Tr'),
+ const Symbol('Ts'),
+ const Symbol('Tt'),
+ const Symbol('Tu'),
+ const Symbol('Tv'),
+ const Symbol('Tw'),
+ const Symbol('Tx'),
+ const Symbol('Ty'),
+ const Symbol('Tz'),
+ const Symbol('TA'),
+ const Symbol('TB'),
+ const Symbol('TC'),
+ const Symbol('TD'),
+ const Symbol('TE'),
+ const Symbol('TF'),
+ const Symbol('TG'),
+ const Symbol('TH'),
+ const Symbol('TI'),
+ const Symbol('TJ'),
+ const Symbol('TK'),
+ const Symbol('TL'),
+ const Symbol('TM'),
+ const Symbol('TN'),
+ const Symbol('TO'),
+ const Symbol('TP'),
+ const Symbol('TQ'),
+ const Symbol('TR'),
+ const Symbol('TS'),
+ const Symbol('TT'),
+ const Symbol('TU'),
+ const Symbol('TV'),
+ const Symbol('TW'),
+ const Symbol('TX'),
+ const Symbol('TY'),
+ const Symbol('TZ'),
+ const Symbol('Ua'),
+ const Symbol('Ub'),
+ const Symbol('Uc'),
+ const Symbol('Ud'),
+ const Symbol('Ue'),
+ const Symbol('Uf'),
+ const Symbol('Ug'),
+ const Symbol('Uh'),
+ const Symbol('Ui'),
+ const Symbol('Uj'),
+ const Symbol('Uk'),
+ const Symbol('Ul'),
+ const Symbol('Um'),
+ const Symbol('Un'),
+ const Symbol('Uo'),
+ const Symbol('Up'),
+ const Symbol('Uq'),
+ const Symbol('Ur'),
+ const Symbol('Us'),
+ const Symbol('Ut'),
+ const Symbol('Uu'),
+ const Symbol('Uv'),
+ const Symbol('Uw'),
+ const Symbol('Ux'),
+ const Symbol('Uy'),
+ const Symbol('Uz'),
+ const Symbol('UA'),
+ const Symbol('UB'),
+ const Symbol('UC'),
+ const Symbol('UD'),
+ const Symbol('UE'),
+ const Symbol('UF'),
+ const Symbol('UG'),
+ const Symbol('UH'),
+ const Symbol('UI'),
+ const Symbol('UJ'),
+ const Symbol('UK'),
+ const Symbol('UL'),
+ const Symbol('UM'),
+ const Symbol('UN'),
+ const Symbol('UO'),
+ const Symbol('UP'),
+ const Symbol('UQ'),
+ const Symbol('UR'),
+ const Symbol('US'),
+ const Symbol('UT'),
+ const Symbol('UU'),
+ const Symbol('UV'),
+ const Symbol('UW'),
+ const Symbol('UX'),
+ const Symbol('UY'),
+ const Symbol('UZ'),
+ const Symbol('Va'),
+ const Symbol('Vb'),
+ const Symbol('Vc'),
+ const Symbol('Vd'),
+ const Symbol('Ve'),
+ const Symbol('Vf'),
+ const Symbol('Vg'),
+ const Symbol('Vh'),
+ const Symbol('Vi'),
+ const Symbol('Vj'),
+ const Symbol('Vk'),
+ const Symbol('Vl'),
+ const Symbol('Vm'),
+ const Symbol('Vn'),
+ const Symbol('Vo'),
+ const Symbol('Vp'),
+ const Symbol('Vq'),
+ const Symbol('Vr'),
+ const Symbol('Vs'),
+ const Symbol('Vt'),
+ const Symbol('Vu'),
+ const Symbol('Vv'),
+ const Symbol('Vw'),
+ const Symbol('Vx'),
+ const Symbol('Vy'),
+ const Symbol('Vz'),
+ const Symbol('VA'),
+ const Symbol('VB'),
+ const Symbol('VC'),
+ const Symbol('VD'),
+ const Symbol('VE'),
+ const Symbol('VF'),
+ const Symbol('VG'),
+ const Symbol('VH'),
+ const Symbol('VI'),
+ const Symbol('VJ'),
+ const Symbol('VK'),
+ const Symbol('VL'),
+ const Symbol('VM'),
+ const Symbol('VN'),
+ const Symbol('VO'),
+ const Symbol('VP'),
+ const Symbol('VQ'),
+ const Symbol('VR'),
+ const Symbol('VS'),
+ const Symbol('VT'),
+ const Symbol('VU'),
+ const Symbol('VV'),
+ const Symbol('VW'),
+ const Symbol('VX'),
+ const Symbol('VY'),
+ const Symbol('VZ'),
+ const Symbol('Wa'),
+ const Symbol('Wb'),
+ const Symbol('Wc'),
+ const Symbol('Wd'),
+ const Symbol('We'),
+ const Symbol('Wf'),
+ const Symbol('Wg'),
+ const Symbol('Wh'),
+ const Symbol('Wi'),
+ const Symbol('Wj'),
+ const Symbol('Wk'),
+ const Symbol('Wl'),
+ const Symbol('Wm'),
+ const Symbol('Wn'),
+ const Symbol('Wo'),
+ const Symbol('Wp'),
+ const Symbol('Wq'),
+ const Symbol('Wr'),
+ const Symbol('Ws'),
+ const Symbol('Wt'),
+ const Symbol('Wu'),
+ const Symbol('Wv'),
+ const Symbol('Ww'),
+ const Symbol('Wx'),
+ const Symbol('Wy'),
+ const Symbol('Wz'),
+ const Symbol('WA'),
+ const Symbol('WB'),
+ const Symbol('WC'),
+ const Symbol('WD'),
+ const Symbol('WE'),
+ const Symbol('WF'),
+ const Symbol('WG'),
+ const Symbol('WH'),
+ const Symbol('WI'),
+ const Symbol('WJ'),
+ const Symbol('WK'),
+ const Symbol('WL'),
+ const Symbol('WM'),
+ const Symbol('WN'),
+ const Symbol('WO'),
+ const Symbol('WP'),
+ const Symbol('WQ'),
+ const Symbol('WR'),
+ const Symbol('WS'),
+ const Symbol('WT'),
+ const Symbol('WU'),
+ const Symbol('WV'),
+ const Symbol('WW'),
+ const Symbol('WX'),
+ const Symbol('WY'),
+ const Symbol('WZ'),
+ const Symbol('Xa'),
+ const Symbol('Xb'),
+ const Symbol('Xc'),
+ const Symbol('Xd'),
+ const Symbol('Xe'),
+ const Symbol('Xf'),
+ const Symbol('Xg'),
+ const Symbol('Xh'),
+ const Symbol('Xi'),
+ const Symbol('Xj'),
+ const Symbol('Xk'),
+ const Symbol('Xl'),
+ const Symbol('Xm'),
+ const Symbol('Xn'),
+ const Symbol('Xo'),
+ const Symbol('Xp'),
+ const Symbol('Xq'),
+ const Symbol('Xr'),
+ const Symbol('Xs'),
+ const Symbol('Xt'),
+ const Symbol('Xu'),
+ const Symbol('Xv'),
+ const Symbol('Xw'),
+ const Symbol('Xx'),
+ const Symbol('Xy'),
+ const Symbol('Xz'),
+ const Symbol('XA'),
+ const Symbol('XB'),
+ const Symbol('XC'),
+ const Symbol('XD'),
+ const Symbol('XE'),
+ const Symbol('XF'),
+ const Symbol('XG'),
+ const Symbol('XH'),
+ const Symbol('XI'),
+ const Symbol('XJ'),
+ const Symbol('XK'),
+ const Symbol('XL'),
+ const Symbol('XM'),
+ const Symbol('XN'),
+ const Symbol('XO'),
+ const Symbol('XP'),
+ const Symbol('XQ'),
+ const Symbol('XR'),
+ const Symbol('XS'),
+ const Symbol('XT'),
+ const Symbol('XU'),
+ const Symbol('XV'),
+ const Symbol('XW'),
+ const Symbol('XX'),
+ const Symbol('XY'),
+ const Symbol('XZ'),
+ const Symbol('Ya'),
+ const Symbol('Yb'),
+ const Symbol('Yc'),
+ const Symbol('Yd'),
+ const Symbol('Ye'),
+ const Symbol('Yf'),
+ const Symbol('Yg'),
+ const Symbol('Yh'),
+ const Symbol('Yi'),
+ const Symbol('Yj'),
+ const Symbol('Yk'),
+ const Symbol('Yl'),
+ const Symbol('Ym'),
+ const Symbol('Yn'),
+ const Symbol('Yo'),
+ const Symbol('Yp'),
+ const Symbol('Yq'),
+ const Symbol('Yr'),
+ const Symbol('Ys'),
+ const Symbol('Yt'),
+ const Symbol('Yu'),
+ const Symbol('Yv'),
+ const Symbol('Yw'),
+ const Symbol('Yx'),
+ const Symbol('Yy'),
+ const Symbol('Yz'),
+ const Symbol('YA'),
+ const Symbol('YB'),
+ const Symbol('YC'),
+ const Symbol('YD'),
+ const Symbol('YE'),
+ const Symbol('YF'),
+ const Symbol('YG'),
+ const Symbol('YH'),
+ const Symbol('YI'),
+ const Symbol('YJ'),
+ const Symbol('YK'),
+ const Symbol('YL'),
+ const Symbol('YM'),
+ const Symbol('YN'),
+ const Symbol('YO'),
+ const Symbol('YP'),
+ const Symbol('YQ'),
+ const Symbol('YR'),
+ const Symbol('YS'),
+ const Symbol('YT'),
+ const Symbol('YU'),
+ const Symbol('YV'),
+ const Symbol('YW'),
+ const Symbol('YX'),
+ const Symbol('YY'),
+ const Symbol('YZ'),
+ const Symbol('Za'),
+ const Symbol('Zb'),
+ const Symbol('Zc'),
+ const Symbol('Zd'),
+ const Symbol('Ze'),
+ const Symbol('Zf'),
+ const Symbol('Zg'),
+ const Symbol('Zh'),
+ const Symbol('Zi'),
+ const Symbol('Zj'),
+ const Symbol('Zk'),
+ const Symbol('Zl'),
+ const Symbol('Zm'),
+ const Symbol('Zn'),
+ const Symbol('Zo'),
+ const Symbol('Zp'),
+ const Symbol('Zq'),
+ const Symbol('Zr'),
+ const Symbol('Zs'),
+ const Symbol('Zt'),
+ const Symbol('Zu'),
+ const Symbol('Zv'),
+ const Symbol('Zw'),
+ const Symbol('Zx'),
+ const Symbol('Zy'),
+ const Symbol('Zz'),
+ const Symbol('ZA'),
+ const Symbol('ZB'),
+ const Symbol('ZC'),
+ const Symbol('ZD'),
+ const Symbol('ZE'),
+ const Symbol('ZF'),
+ const Symbol('ZG'),
+ const Symbol('ZH'),
+ const Symbol('ZI'),
+ const Symbol('ZJ'),
+ const Symbol('ZK'),
+ const Symbol('ZL'),
+ const Symbol('ZM'),
+ const Symbol('ZN'),
+ const Symbol('ZO'),
+ const Symbol('ZP'),
+ const Symbol('ZQ'),
+ const Symbol('ZR'),
+ const Symbol('ZS'),
+ const Symbol('ZT'),
+ const Symbol('ZU'),
+ const Symbol('ZV'),
+ const Symbol('ZW'),
+ const Symbol('ZX'),
+ const Symbol('ZY'),
+ const Symbol('ZZ'),
+];
diff --git a/tests/language/syncstar_less_than_test.dart b/tests/language/syncstar_less_than_test.dart
new file mode 100644
index 0000000..b0551a8
--- /dev/null
+++ b/tests/language/syncstar_less_than_test.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2015, the Dart Team. All rights reserved. Use of this
+// source code is governed by a BSD-style license that can be found in
+// the LICENSE file.
+
+import "package:expect/expect.dart";
+
+confuse(x) => [1, 'x', true, null, x].last;
+
+Iterable<int> foo() sync* {
+ var a = confuse(1);
+ if (a < 10) {
+ yield 2;
+ }
+}
+
+main() {
+ Expect.listEquals(foo().toList(), [2]);
+}
\ No newline at end of file
diff --git a/tests/language/this_conditional_operator_test.dart b/tests/language/this_conditional_operator_test.dart
index 0a88c49..c45b7b6 100644
--- a/tests/language/this_conditional_operator_test.dart
+++ b/tests/language/this_conditional_operator_test.dart
@@ -5,8 +5,6 @@
// Verify that the ?. operator cannot be used for forwarding "this"
// constructors.
-// SharedOptions=--enable-null-aware-operators
-
class B {
B();
B.namedConstructor();
diff --git a/tests/lib/async/stream_controller_test.dart b/tests/lib/async/stream_controller_test.dart
index e4ddecf..c03dc4a 100644
--- a/tests/lib/async/stream_controller_test.dart
+++ b/tests/lib/async/stream_controller_test.dart
@@ -719,6 +719,144 @@
asyncEnd();
}
+void testSettingCallbacks() {
+ const int initial = 0;
+ const int running = 1;
+ const int paused = 2;
+ const int canceled = 3;
+
+ var controller = new StreamController();
+ var stream = controller.stream;
+ var state = initial;
+
+ controller..onListen = () { state = running; }
+ ..onPause = () { state = paused; }
+ ..onResume = () { state = running; }
+ ..onCancel = () { state = canceled; };
+
+ Expect.equals(initial, state);
+ var sub = stream.listen(null);
+ Expect.equals(running, state);
+ sub.pause();
+ Expect.equals(paused, state);
+ Expect.isTrue(controller.isPaused);
+ sub.resume();
+ Expect.equals(running, state);
+ Expect.isFalse(controller.isPaused);
+
+ // Changing them later does make a difference.
+ controller..onListen = () { throw "Second listen?"; }
+ ..onPause = () { state = -paused; }
+ ..onResume = () { state = -running; }
+ ..onCancel = () { state = -canceled; };
+
+ Expect.equals(running, state);
+ sub.pause();
+ Expect.equals(-paused, state);
+ Expect.isTrue(controller.isPaused);
+ sub.resume();
+ Expect.equals(-running, state);
+ Expect.isFalse(controller.isPaused);
+ sub.cancel();
+ Expect.equals(-canceled, state);
+}
+
+void testSettingNullCallbacks() {
+ failCallback() => fail("Callback should not be called");
+ var controller = new StreamController(onListen: failCallback,
+ onPause : failCallback,
+ onResume: failCallback,
+ onCancel: failCallback);
+
+ var stream = controller.stream;
+
+ Expect.isFalse(controller.hasListener);
+ Expect.isTrue(controller.isPaused);
+
+ controller.onListen = null;
+
+ var sub = stream.listen(null);
+
+ Expect.isTrue(controller.hasListener);
+ Expect.isFalse(controller.isPaused);
+
+ controller.onPause = null;
+
+ sub.pause();
+
+ Expect.isTrue(controller.hasListener);
+ Expect.isTrue(controller.isPaused);
+
+ controller.onResume = null;
+
+ sub.resume();
+
+ Expect.isTrue(controller.hasListener);
+ Expect.isFalse(controller.isPaused);
+
+ controller.onCancel = null;
+
+ sub.cancel();
+
+ Expect.isFalse(controller.hasListener);
+ Expect.isFalse(controller.isPaused);
+}
+
+void testBroadcastSettingCallbacks() {
+ const int initial = 0;
+ const int running = 1;
+ const int canceled = 2;
+
+ var controller = new StreamController.broadcast();
+ var stream = controller.stream;
+ var state = initial;
+
+ Expect.throws(() { controller.onPause = (){}; },
+ (e) => e is UnsupportedError);
+ Expect.throws(() { controller.onResume = (){}; },
+ (e) => e is UnsupportedError);
+
+ controller..onListen = () { state = running; }
+ ..onCancel = () { state = canceled; };
+
+ Expect.equals(initial, state);
+ var sub = stream.listen(null);
+ Expect.equals(running, state);
+ sub.cancel();
+ Expect.equals(canceled, state);
+
+ // Changing them later does make a difference.
+ controller..onListen = () { state = -running; }
+ ..onCancel = () { state = -canceled; };
+
+ var sub2 = stream.listen(null);
+ Expect.equals(-running, state);
+ sub2.cancel();
+ Expect.equals(-canceled, state);
+}
+
+void testBroadcastSettingNullCallbacks() {
+ failCallback() => fail("Callback should not be called");
+ var controller = new StreamController.broadcast(onListen: failCallback,
+ onCancel: failCallback);
+
+ var stream = controller.stream;
+
+ Expect.isFalse(controller.hasListener);
+
+ controller.onListen = null;
+
+ var sub = stream.listen(null);
+
+ Expect.isTrue(controller.hasListener);
+
+ controller.onCancel = null;
+
+ sub.cancel();
+
+ Expect.isFalse(controller.hasListener);
+}
+
main() {
asyncStart();
testMultiController();
@@ -738,5 +876,9 @@
testAsBroadcastListenAfterClosePaused();
testEventInListen();
testSyncControllerNotReentrant();
+ testSettingCallbacks();
+ testSettingNullCallbacks();
+ testBroadcastSettingCallbacks();
+ testBroadcastSettingNullCallbacks();
asyncEnd();
}
diff --git a/tests/lib/convert/line_splitter_test.dart b/tests/lib/convert/line_splitter_test.dart
index 2d8f5e0..d9956e0 100644
--- a/tests/lib/convert/line_splitter_test.dart
+++ b/tests/lib/convert/line_splitter_test.dart
@@ -11,9 +11,12 @@
void main() {
testSimpleConvert();
+ testSplit();
+ testSplitWithOffsets();
testManyLines();
testReadLine1();
testReadLine2();
+ testChunkedConversion();
}
void testManyLines() {
@@ -136,3 +139,90 @@
controller.close();
Expect.equals(expectedLines.length, index);
}
+
+
+void testSplit() {
+ var test = """line1
+line2
+line3""";
+
+
+ var result = LineSplitter.split(test).toList();
+
+ Expect.listEquals(['line1', 'line2', 'line3'], result);
+
+ test = "Line1\nLine2\r\nLine3\rLi"
+ "ne4\n"
+ "\n\n\r\n\r\n\r\r";
+
+ result = LineSplitter.split(test).toList();
+
+ Expect.listEquals(
+ ['Line1', 'Line2', 'Line3', 'Line4', '', '', '', '', '', ''],
+ result);
+}
+
+void testSplitWithOffsets() {
+ var test = """line1
+line2
+line3""";
+
+ var result = LineSplitter.split(test, 4).toList();
+ Expect.listEquals(['1', 'line2', 'line3'], result);
+
+ result = LineSplitter.split(test, 5).toList();
+ Expect.listEquals(['', 'line2', 'line3'], result);
+
+ result = LineSplitter.split(test, 6).toList();
+ Expect.listEquals(['line2', 'line3'], result);
+
+ result = LineSplitter.split(test, 0, 8).toList();
+ Expect.listEquals(['line1', 'li'], result);
+
+ result = LineSplitter.split(test, 6, 11).toList();
+ Expect.listEquals(['line2'], result);
+
+ test = "Line1\nLine2\r\nLine3\rLi"
+ "ne4\n"
+ "\n\n\r\n\r\n\r\r";
+
+ result = LineSplitter.split(test).toList();
+
+ Expect.listEquals(
+ ['Line1', 'Line2', 'Line3', 'Line4', '', '', '', '', '', ''],
+ result);
+
+ test = "a\n\nb\r\nc\n\rd\r\re\r\n\nf\r\n";
+ result = LineSplitter.split(test).toList();
+ Expect.listEquals(["a", "", "b", "c", "", "d", "", "e", "", "f"], result);
+}
+
+void testChunkedConversion() {
+ // Test any split of this complex string.
+ var test = "a\n\nb\r\nc\n\rd\r\re\r\n\nf\rg\nh\r\n";
+ var result = ["a", "", "b","c", "", "d", "", "e", "", "f", "g", "h"];
+ for (int i = 0; i < test.length; i++) {
+ var output = [];
+ var splitter = new LineSplitter();
+ var outSink = new ChunkedConversionSink.withCallback(output.addAll);
+ var sink = splitter.startChunkedConversion(outSink);
+ sink.addSlice(test, 0, i, false);
+ sink.addSlice(test, i, test.length, false);
+ sink.close();
+ Expect.listEquals(result, output);
+ }
+
+ // Test the string split into three parts in any way.
+ for (int i = 0; i < test.length; i++) {
+ for (int j = i; j < test.length; j++) {
+ var output = [];
+ var splitter = new LineSplitter();
+ var outSink = new ChunkedConversionSink.withCallback(output.addAll);
+ var sink = splitter.startChunkedConversion(outSink);
+ sink.addSlice(test, 0, i, false);
+ sink.addSlice(test, i, j, false);
+ sink.addSlice(test, j, test.length, true);
+ Expect.listEquals(result, output);
+ }
+ }
+}
diff --git a/tests/lib/lib.status b/tests/lib/lib.status
index 02a9e192..69c9605 100644
--- a/tests/lib/lib.status
+++ b/tests/lib/lib.status
@@ -319,6 +319,9 @@
[ $mode == debug && $arch == ia32 && $system == windows ]
convert/streamed_conversion_json_utf8_decode_test: Skip # Verification OOM.
+[ $runtime == vm && $mode == debug && $arch == x64 && $system == windows ]
+convert/streamed_conversion_json_utf8_decode_test: Pass, Slow
+
[ $mode == debug && $arch != ia32 && $arch != x64 && $arch != simarm && $arch != simarmv5te ]
convert/streamed_conversion_json_utf8_decode_test: Skip # Verification not yet implemented.
@@ -326,298 +329,239 @@
mirrors/immutable_collections_test: SkipSlow # Timeout.
convert/streamed_conversion_json_utf8_decode_test: Skip # Timeout.
+[ $compiler == dart2js && $system == windows && $runtime == chrome ]
+convert/line_splitter_test: RuntimeError
+
+[ $compiler == dart2js && $system == windows && $runtime == ff ]
+convert/line_splitter_test: RuntimeError
+
[ $compiler == dart2js && $cps_ir ]
-async/catch_errors11_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors12_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors13_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors14_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors15_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors16_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors17_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors18_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors19_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors20_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors21_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors22_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors23_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors24_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors25_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors26_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors27_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors28_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors4_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors5_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors6_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors7_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors8_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/catch_errors_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/first_regression_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_constructor_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_delayed_error_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_microtask_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
async/future_test/01: Crash # (()async=>new Future.value(value)): cannot handle async/sync*/async* functions
-async/future_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_timeout_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_value_chain2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_value_chain3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_value_chain4_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/future_value_chain_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/futures_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/intercept_print1_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-async/intercept_schedule_microtask1_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/intercept_schedule_microtask2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/intercept_schedule_microtask3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/intercept_schedule_microtask4_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/intercept_schedule_microtask5_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/intercept_schedule_microtask6_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/multiple_timer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/print_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/run_zoned1_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/run_zoned4_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/run_zoned5_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/run_zoned6_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/run_zoned7_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/run_zoned8_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/run_zoned9_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/schedule_microtask2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/schedule_microtask3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/schedule_microtask5_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/schedule_microtask_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/slow_consumer2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/slow_consumer3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/slow_consumer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace01_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace02_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace03_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace04_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace05_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace06_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace07_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace08_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace09_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace10_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace11_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace12_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace13_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace14_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace15_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace16_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace17_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace18_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace19_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace20_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace21_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace22_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace23_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace24_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stack_trace25_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_controller_async_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_controller_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
async/stream_empty_test: Crash # (Future runTest()asy... cannot handle async/sync*/async* functions
-async/stream_event_transformed_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_first_where_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_from_iterable_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_iterator_double_cancel_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
async/stream_iterator_test: Crash # (()async{var stream=... cannot handle async/sync*/async* functions
-async/stream_join_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_last_where_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_listen_zone_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_periodic2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_periodic3_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_periodic4_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_periodic5_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_periodic_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_single_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_single_to_multi_subscriber_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_state_nonzero_timer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_state_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_subscription_as_future_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_subscription_cancel_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_timeout_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_transform_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_transformation_broadcast_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_transformer_from_handlers_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_transformer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/stream_zones_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/timer_cancel1_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/timer_cancel2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/timer_cancel_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/timer_isActive_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/timer_regress22626_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/timer_repeat_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/timer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_bind_callback_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_bind_callback_unary_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_bind_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_create_periodic_timer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_create_timer2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_create_timer_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_debug_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_empty_description2_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_empty_description_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_error_callback_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_fork_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_future_schedule_microtask_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_register_callback_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_register_callback_unary_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_root_bind_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_run_guarded_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_run_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_run_unary_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-async/zone_value_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
convert/ascii_test: RuntimeError # this.get$length is not a function
-convert/encoding_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-convert/html_escape_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-convert/json_lib_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+convert/json_pretty_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
convert/latin1_test: RuntimeError # this.get$length is not a function
-convert/line_splitter_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-convert/streamed_conversion_json_decode1_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-convert/streamed_conversion_json_encode1_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-convert/streamed_conversion_json_utf8_decode_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-convert/streamed_conversion_json_utf8_encode_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-convert/streamed_conversion_utf8_decode_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-convert/streamed_conversion_utf8_encode_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-math/pi_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-math/point_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-math/rectangle_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/abstract_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/accessor_cache_overflow_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/array_tracing2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/array_tracing_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/basic_types_in_dart_core_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/circular_factory_redirection_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/class_declarations_test/01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/class_mirror_type_variables_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/closures_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/constructors_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/dart2js_mirrors_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/declarations_type_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/deferred_mirrors_metadata_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/deferred_mirrors_metatarget_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/deferred_mirrors_update_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+convert/line_splitter_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/abstract_class_test/00: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/abstract_class_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/abstract_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/accessor_cache_overflow_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/array_tracing2_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/array_tracing_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/basic_types_in_dart_core_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/circular_factory_redirection_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/class_declarations_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/class_declarations_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/class_mirror_location_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/class_mirror_type_variables_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/closures_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/closurization_equivalence_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/constructor_kinds_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/constructor_kinds_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/constructors_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/dart2js_mirrors_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/declarations_type_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/deferred_mirrors_metadata_test: Crash # (lib1.foo()): deferred access is not implemented
+mirrors/deferred_mirrors_metatarget_test: Crash # (lib.foo()): deferred access is not implemented
+mirrors/deferred_mirrors_update_test: Crash # (l.foo()): deferred access is not implemented
+mirrors/deferred_type_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
mirrors/delegate_call_through_getter_test: RuntimeError # Please triage this failure.
mirrors/delegate_test: RuntimeError # Please triage this failure.
-mirrors/disable_tree_shaking_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/equality_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/field_type_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_bounded_by_type_parameter_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_bounded_by_type_parameter_test/02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_bounded_by_type_parameter_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_bounded_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_bounded_test/02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_bounded_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_class_declaration_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/generic_f_bounded_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_f_bounded_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_list_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_superclass_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_superclass_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generic_type_mirror_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generics_double_substitution_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generics_double_substitution_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generics_dynamic_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generics_special_types_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generics_substitution_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generics_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/generics_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/globalized_closures2_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/globalized_closures_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/inherit_field_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/initializing_formals_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/instance_members_easier_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/instance_members_unimplemented_interface_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/instance_members_with_override_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/intercepted_cache_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/intercepted_class_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/intercepted_object_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/intercepted_superclass_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invocation_fuzz_test/emptyarray: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/invocation_fuzz_test/false: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/invocation_fuzz_test/none: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/invocation_fuzz_test/smi: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/invocation_fuzz_test/string: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/invoke_call_through_getter_previously_accessed_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_call_through_getter_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_call_through_implicit_getter_previously_accessed_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_closurization2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_closurization_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_import_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_named_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_natives_malicious_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/invoke_throws_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/is_odd_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/lazy_static_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/libraries_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/library_declarations_test/01: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/library_enumeration_deferred_loading_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/library_metadata2_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/library_metadata_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/library_uri_package_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/list_constructor_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/list_constructor_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/local_isolate_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/metadata_allowed_values_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/metadata_class_mirror_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/metadata_constructed_constant_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/metadata_constructor_arguments_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/metadata_nested_constructor_call_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/metadata_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/method_mirror_returntype_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/mirror_in_static_init_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/mirrors_nsm_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/mirrors_resolve_fields_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/mixin_members_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/new_instance_with_type_arguments_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/no_metadata_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/null2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/null_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/operator_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/parameter_is_const_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/parameter_metadata_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/private_symbol_mangling_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/proxy_type_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/raw_type_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/redirecting_factory_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflect_class_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflect_class_test/02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflect_class_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflect_model_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflect_runtime_type_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflect_uninstantiated_class_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_classes_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_classes_test/02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_classes_test/03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_classes_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_test/02: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_test/03: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflected_type_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/reflectively_instantiate_uninstantiated_class_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/regress_14304_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/regress_16321_test/01: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/regress_16321_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/regress_19731_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/relation_subclass_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/removed_api_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/set_field_with_final_inheritance_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/set_field_with_final_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/spawn_function_root_library_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/static_members_easier_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-mirrors/static_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/superclass2_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/superclass_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+mirrors/disable_tree_shaking_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/empty_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/enum_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/equality_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/fake_function_with_call_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/fake_function_without_call_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/field_type_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/function_type_mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_bounded_by_type_parameter_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_bounded_by_type_parameter_test/02: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_bounded_by_type_parameter_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_bounded_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_bounded_test/02: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_bounded_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_class_declaration_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_f_bounded_mixin_application_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_f_bounded_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_f_bounded_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_function_typedef_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_interface_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_interface_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_list_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_local_function_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_mixin_applications_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_mixin_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_superclass_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_superclass_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generic_type_mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generics_double_substitution_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generics_double_substitution_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generics_dynamic_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generics_special_types_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generics_substitution_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generics_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/generics_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/globalized_closures2_test/00: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/globalized_closures2_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/globalized_closures_test/00: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/globalized_closures_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/hierarchy_invariants_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/immutable_collections_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/inherit_field_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/initializing_formals_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/initializing_formals_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/instance_members_easier_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/instance_members_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/instance_members_unimplemented_interface_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/instance_members_with_override_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/instantiate_abstract_class_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/intercepted_cache_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/intercepted_class_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/intercepted_object_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/intercepted_superclass_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invocation_fuzz_test/emptyarray: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invocation_fuzz_test/false: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invocation_fuzz_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invocation_fuzz_test/smi: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invocation_fuzz_test/string: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_on_closure_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_through_getter_previously_accessed_test/named: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_through_getter_previously_accessed_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_through_getter_test/named: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_through_getter_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_through_implicit_getter_previously_accessed_test/named: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_through_implicit_getter_previously_accessed_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_call_through_implicit_getter_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_closurization2_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_closurization_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_import_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_named_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_named_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_natives_malicious_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/invoke_throws_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/is_odd_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/lazy_static_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/libraries_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_declarations_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_declarations_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_enumeration_deferred_loading_test: Crash # (other.topLevelMethod()): deferred access is not implemented
+mirrors/library_exports_hidden_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_exports_shown_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_import_deferred_loading_test: Crash # (other.topLevelMethod()): deferred access is not implemented
+mirrors/library_imports_bad_metadata_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_imports_deferred_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_imports_hidden_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_imports_metadata_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_imports_prefixed_show_hide_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_imports_prefixed_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_imports_shown_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_metadata2_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_metadata_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/library_uri_package_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/list_constructor_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/list_constructor_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/load_library_test: Crash # (other.topLevelMethod()): deferred access is not implemented
+mirrors/local_function_is_static_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/local_isolate_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_allowed_values_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_allowed_values_test/05: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_allowed_values_test/10: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_allowed_values_test/11: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_allowed_values_test/13: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_allowed_values_test/14: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_allowed_values_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_class_mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_constructed_constant_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_constructor_arguments_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_nested_constructor_call_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/metadata_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/method_mirror_location_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/method_mirror_name_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/method_mirror_properties_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/method_mirror_returntype_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/method_mirror_source_line_ending_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/method_mirror_source_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mirror_in_static_init_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mirrors_nsm_mismatch_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mirrors_nsm_test/dart2js: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mirrors_nsm_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mirrors_reader_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mirrors_resolve_fields_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mirrors_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mixin_application_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mixin_members_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/mixin_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/native_class_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/new_instance_with_type_arguments_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/no_metadata_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/null2_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/null_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/operator_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/parameter_is_const_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/parameter_metadata_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/parameter_of_mixin_app_constructor_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/private_symbol_mangling_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/private_types_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/proxy_type_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/raw_type_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/raw_type_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/redirecting_factory_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/redirecting_factory_test/02: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/redirecting_factory_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflect_class_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflect_class_test/02: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflect_class_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflect_model_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflect_runtime_type_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflect_uninstantiated_class_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_classes_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_classes_test/02: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_classes_test/03: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_classes_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_function_type_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_special_types_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_test/02: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_test/03: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_typedefs_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflected_type_typevars_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/reflectively_instantiate_uninstantiated_class_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/regress_14304_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/regress_16321_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/regress_16321_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/regress_19731_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/relation_assignable_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/relation_subclass_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/relation_subtype_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/removed_api_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/repeated_private_anon_mixin_app_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/set_field_with_final_inheritance_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/set_field_with_final_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/spawn_function_root_library_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/static_members_easier_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/static_members_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/static_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/superclass2_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/superclass_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/symbol_validation_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
mirrors/symbol_validation_test/none: RuntimeError # Please triage this failure.
-mirrors/syntax_error_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/synthetic_accessor_properties_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/to_string_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/top_level_accessors_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/type_argument_is_type_variable_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/type_variable_owner_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/typearguments_mirror_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/typedef_deferred_library_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/typedef_reflected_type_test/none: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
-mirrors/unnamed_library_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+mirrors/syntax_error_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/synthetic_accessor_properties_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/to_string_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/top_level_accessors_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/type_argument_is_type_variable_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/type_variable_is_static_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/type_variable_owner_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/type_variable_owner_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/typearguments_mirror_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/typedef_deferred_library_test: RuntimeError # G.loadLibrary is not a function
+mirrors/typedef_metadata_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/typedef_reflected_type_test/01: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/typedef_reflected_type_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/unnamed_library_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+mirrors/variable_is_const_test/none: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
typed_data/typed_data_list_test: RuntimeError # this.get$length is not a function
diff --git a/tests/standalone/debugger/break_at_equals_test.dart b/tests/standalone/debugger/break_at_equals_test.dart
index ab0cce3..5000e6d 100644
--- a/tests/standalone/debugger/break_at_equals_test.dart
+++ b/tests/standalone/debugger/break_at_equals_test.dart
@@ -33,7 +33,7 @@
var testScript = [
MatchFrames(["main"]),
- MatchLine(15),
+ MatchLine(14),
SetBreakpoint(18),
SetBreakpoint(21),
SetBreakpoint(10),
diff --git a/tests/standalone/full_coverage_test.dart b/tests/standalone/full_coverage_test.dart
index 05a2645..2ee1979 100644
--- a/tests/standalone/full_coverage_test.dart
+++ b/tests/standalone/full_coverage_test.dart
@@ -93,7 +93,11 @@
var dartArgs = new List.from(dartBaseArgs)
..addAll(['--coverage-dir=${progPath}', '${script}']);
var result = Process.runSync(Platform.executable, dartArgs);
- expect(result.exitCode, 0);
+ if (result.exitCode != 0) {
+ print("Coverage generator returned exitCode: ${result.exitCode}.");
+ print("stderr:\n${result.stderr}\n");
+ expect(result.exitCode, 0);
+ }
}
}
diff --git a/tests/standalone/io/web_socket_test.dart b/tests/standalone/io/web_socket_test.dart
index f3213e6..9ae1758 100644
--- a/tests/standalone/io/web_socket_test.dart
+++ b/tests/standalone/io/web_socket_test.dart
@@ -187,6 +187,36 @@
}
+ void testCancelThenClose() {
+ createServer().then((server) {
+ server.transform(new WebSocketTransformer()).listen((webSocket) {
+ webSocket.listen(null).cancel();
+ webSocket.close();
+ server.close();
+ });
+
+ createClient(server.port).then((webSocket) {
+ webSocket.close();
+ });
+ });
+ }
+
+ void testCloseThenCancel() {
+ createServer().then((server) {
+ server.transform(new WebSocketTransformer()).listen((webSocket) {
+ var subscription = webSocket.listen(null);
+ webSocket.close();
+ subscription.cancel();
+ server.close();
+ });
+
+ createClient(server.port).then((webSocket) {
+ webSocket.close();
+ });
+ });
+ }
+
+
void testListenAfterClose() {
createServer().then((server) {
server.transform(new WebSocketTransformer()).listen((webSocket) {
@@ -543,6 +573,8 @@
testMessageLength(65535);
testMessageLength(65536);
testCloseNoListen();
+ testCancelThenClose();
+ testCloseThenCancel();
testListenAfterClose();
testDoubleCloseClient();
testDoubleCloseServer();
diff --git a/tests/standalone/standalone.status b/tests/standalone/standalone.status
index e095467..2819827e 100644
--- a/tests/standalone/standalone.status
+++ b/tests/standalone/standalone.status
@@ -170,14 +170,19 @@
io/http_client_stays_alive_test: Skip # Timeout.
[ $compiler == dart2js && $cps_ir ]
+coverage_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+io/addlatexhash_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+io/file_error_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+io/file_read_encoded_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
io/file_test: Crash # (static testWriteFro... cannot handle async/sync*/async* functions
io/file_write_only_test: Crash # (main()async{asyncSt... cannot handle async/sync*/async* functions
io/http_bind_test: Crash # (testBindShared(Stri... cannot handle async/sync*/async* functions
-io/http_parser_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
+io/http_client_connect_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
io/https_bad_certificate_test: Crash # (main()async{var cli... cannot handle async/sync*/async* functions
io/issue_22636_test: Crash # (test()async{server=... cannot handle async/sync*/async* functions
io/issue_22637_test: Crash # (test()async{server=... cannot handle async/sync*/async* functions
+io/observatory_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
+io/skipping_dart2js_compilations_test: Crash # (static Iterable<Str... cannot handle async/sync*/async* functions
io/socket_bind_test: Crash # (testListenCloseList... cannot handle async/sync*/async* functions
io/socket_source_address_test: Crash # (Future testConnect(... cannot handle async/sync*/async* functions
-priority_queue_stress_test: RuntimeError # receiver._addHashTableEntry$2 is not a function
-typed_array_test: RuntimeError # receiver._collection$_addHashTableEntry$2 is not a function
+priority_queue_stress_test: RuntimeError # Cannot read property 'any$1' of undefined
diff --git a/tools/VERSION b/tools/VERSION
index c04e365..c43f1ce 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 1
MINOR 12
PATCH 0
-PRERELEASE 3
-PRERELEASE_PATCH 1
+PRERELEASE 4
+PRERELEASE_PATCH 0
diff --git a/tools/bots/dart_sdk.py b/tools/bots/dart_sdk.py
index bb7b2f4..40244cb 100644
--- a/tools/bots/dart_sdk.py
+++ b/tools/bots/dart_sdk.py
@@ -42,10 +42,12 @@
packages_dir = os.path.join(bot_utils.DART_DIR,
utils.GetBuildRoot(BUILD_OS, 'release', 'ia32'),
'packages')
+ footer_file = os.path.join(bot_utils.DART_DIR,
+ 'tools', 'bots', 'dartdoc_footer.html')
with bot.BuildStep('Build API docs by dartdoc'):
subprocess.call([dart_exe, '--package-root=' + packages_dir, dartdoc_dart,
- '--sdk-docs','--output', dirname, '--dart-sdk', dart_sdk,
- '--package-root=%s' % packages_dir],
+ '--sdk-docs','--output', dirname, '--dart-sdk', dart_sdk,
+ '--footer' , footer_file, '--package-root=%s' % packages_dir],
stdout=open(os.devnull, 'wb'))
def CreateUploadVersionFile():
diff --git a/tools/bots/dartdoc_footer.html b/tools/bots/dartdoc_footer.html
new file mode 100644
index 0000000..63de697
--- /dev/null
+++ b/tools/bots/dartdoc_footer.html
@@ -0,0 +1,13 @@
+<script>
+ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+ })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+ ga('create', 'UA-26406144-9', 'auto');
+ ga('send', 'pageview');
+
+</script>
+
+<script async src="//survey.g.doubleclick.net/async_survey?site=4vq7qmqpfn4zjduve64c4h6lqa">
+</script>
diff --git a/tools/deps/dartium.deps/DEPS b/tools/deps/dartium.deps/DEPS
index f3d4784..afdbaa2 100644
--- a/tools/deps/dartium.deps/DEPS
+++ b/tools/deps/dartium.deps/DEPS
@@ -33,7 +33,7 @@
"mime_rev": "@75890811d4af5af080351ba8a2853ad4c8df98dd",
"metatest_rev": "@e5aa8e4e19fc4188ac2f6d38368a47d8f07c3df1",
"oauth2_rev": "@1bff41f4d54505c36f2d1a001b83b8b745c452f5",
- "observatory_pub_packages_rev": "@45565",
+ "observatory_pub_packages_rev": "@cdc4b3d4c15b9c0c8e7702dff127b440afbb7485",
"package_config_tag": "@0.1.1",
"path_rev": "@b657c0854d1cf41c014986fa9d2321f1173df805",
"plugin_tag": "@0.1.0",
@@ -146,6 +146,9 @@
"https://github.com/dart-lang/matcher.git" + Var("matcher_tag"),
"src/dart/third_party/pkg/metatest":
"https://github.com/dart-lang/metatest.git" + Var("metatest_rev"),
+ "src/dart/third_party/observatory_pub_packages":
+ "https://github.com/dart-lang/observatory_pub_packages.git"
+ + Var("observatory_pub_packages_rev"),
"src/dart/third_party/pkg/path":
"https://github.com/dart-lang/path.git" + Var("path_rev"),
"src/dart/third_party/pkg/package_config":
@@ -177,10 +180,6 @@
"src/dart/tests/co19/src": ((Var("googlecode_url") % "co19") +
"/trunk/co19/tests/co19/src" + Var("co19_rev")),
- "src/dart/third_party/observatory_pub_packages":
- "http://dart.googlecode.com/svn/third_party/observatory_pub_packages" +
- Var("observatory_pub_packages_rev"),
-
"src/dart/third_party/zlib":
Var("chromium_git") + "/chromium/src/third_party/zlib.git" +
Var("zlib_rev"),
diff --git a/tools/dom/scripts/css_code_generator.py b/tools/dom/scripts/css_code_generator.py
index fc437dd..3a00dde 100644
--- a/tools/dom/scripts/css_code_generator.py
+++ b/tools/dom/scripts/css_code_generator.py
@@ -102,8 +102,18 @@
class_file.write("""
+$if DART2JS
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME $EXTENDS with
$(CLASSNAME)Base $IMPLEMENTS {
+$else
+ $if JSINTEROP
+$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS) class $CLASSNAME extends
+ $(CLASSNAME)Base $IMPLEMENTS {
+ $else
+$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME $EXTENDS with
+ $(CLASSNAME)Base $IMPLEMENTS {
+ $endif
+$endif
factory $CLASSNAME() => new CssStyleDeclaration.css('');
factory $CLASSNAME.css(String css) {
@@ -150,10 +160,14 @@
return _hasProperty(propertyName);
$endif
}
-$if DARTIUM
+$if DARTIUM
bool _hasProperty(String propertyName) =>
+ $if JSINTEROP
+ _blink.BlinkCSSStyleDeclaration.instance.$__propertyQuery___Callback_1_(unwrap_jso(this), propertyName) != null;
+ $else
_blink.BlinkCSSStyleDeclaration.$__propertyQuery___Callback_1(this, propertyName);
+ $endif
$endif
@DomName('CSSStyleDeclaration.setProperty')
@@ -252,7 +266,15 @@
$endif
}
+$if DART2JS
class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
+$else
+ $if JSINTEROP
+class _CssStyleDeclarationSet extends CssStyleDeclarationBase {
+ $else
+class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
+ $endif
+$endif
final Iterable<Element> _elementIterable;
Iterable<CssStyleDeclaration> _elementCssStyleDeclarationSetIterable;
@@ -302,9 +324,23 @@
// items in the MEMBERS set if you want that functionality.
}
+$if DART2JS
abstract class CssStyleDeclarationBase {
String getPropertyValue(String propertyName);
void setProperty(String propertyName, String value, [String priority]);
+$else
+ $if JSINTEROP
+class CssStyleDeclarationBase {
+ String getPropertyValue(String propertyName) =>
+ throw new StateError('getProperty not overridden in dart:html');
+ void setProperty(String propertyName, String value, [String priority]) =>
+ throw new StateError('setProperty not overridden in dart:html');
+ $else
+abstract class CssStyleDeclarationBase {
+ String getPropertyValue(String propertyName);
+ void setProperty(String propertyName, String value, [String priority]);
+ $endif
+$endif
""")
class_lines = [];
diff --git a/tools/dom/scripts/dartdomgenerator.py b/tools/dom/scripts/dartdomgenerator.py
index a2fef65..5a35903 100755
--- a/tools/dom/scripts/dartdomgenerator.py
+++ b/tools/dom/scripts/dartdomgenerator.py
@@ -62,12 +62,13 @@
class GeneratorOptions(object):
def __init__(self, templates, database, type_registry, renamer,
- metadata):
+ metadata, dart_js_interop):
self.templates = templates
self.database = database
self.type_registry = type_registry
self.renamer = renamer
self.metadata = metadata;
+ self.dart_js_interop = dart_js_interop
def LoadDatabase(database_dir, use_database_cache):
common_database = database.Database(database_dir)
@@ -79,7 +80,9 @@
def GenerateFromDatabase(common_database, dart2js_output_dir,
dartium_output_dir, update_dom_metadata=False,
- logging_level=logging.WARNING):
+ logging_level=logging.WARNING, dart_js_interop=False):
+ print '\n ----- Accessing DOM using %s -----\n' % ('dart:js' if dart_js_interop else 'C++')
+
start_time = time.time()
current_dir = os.path.dirname(__file__)
@@ -113,10 +116,10 @@
print 'GenerateFromDatabase %s seconds' % round((time.time() - start_time), 2)
def RunGenerator(dart_libraries, dart_output_dir,
- template_loader, backend_factory):
+ template_loader, backend_factory, dart_js_interop):
options = GeneratorOptions(
template_loader, webkit_database, type_registry, renamer,
- metadata)
+ metadata, dart_js_interop)
dart_library_emitter = DartLibraryEmitter(
emitters, dart_output_dir, dart_libraries)
event_generator = HtmlEventGenerator(webkit_database, renamer, metadata,
@@ -130,28 +133,30 @@
generator.Generate(webkit_database, common_database, generate_interface)
- dart_library_emitter.EmitLibraries(auxiliary_dir)
+ dart_library_emitter.EmitLibraries(auxiliary_dir, dart_js_interop)
if dart2js_output_dir:
template_paths = ['html/dart2js', 'html/impl', 'html/interface', '']
template_loader = TemplateLoader(template_dir,
template_paths,
- {'DARTIUM': False, 'DART2JS': True})
+ {'DARTIUM': False,
+ 'DART2JS': True,
+ 'JSINTEROP': False})
backend_options = GeneratorOptions(
template_loader, webkit_database, type_registry, renamer,
- metadata)
+ metadata, dart_js_interop)
backend_factory = lambda interface:\
Dart2JSBackend(interface, backend_options, logging_level)
dart_output_dir = os.path.join(dart2js_output_dir, 'dart')
dart_libraries = DartLibraries(
- HTML_LIBRARY_NAMES, template_loader, 'dart2js', dart2js_output_dir)
+ HTML_LIBRARY_NAMES, template_loader, 'dart2js', dart2js_output_dir, dart_js_interop)
print '\nGenerating dart2js:\n'
start_time = time.time()
RunGenerator(dart_libraries, dart_output_dir, template_loader,
- backend_factory)
+ backend_factory, dart_js_interop)
print 'Generated dart2js in %s seconds' % round(time.time() - start_time, 2)
@@ -159,23 +164,25 @@
template_paths = ['html/dartium', 'html/impl', 'html/interface', '']
template_loader = TemplateLoader(template_dir,
template_paths,
- {'DARTIUM': True, 'DART2JS': False})
+ {'DARTIUM': True,
+ 'DART2JS': False,
+ 'JSINTEROP': dart_js_interop})
backend_options = GeneratorOptions(
template_loader, webkit_database, type_registry, renamer,
- metadata)
+ metadata, dart_js_interop)
cpp_output_dir = os.path.join(dartium_output_dir, 'cpp')
cpp_library_emitter = CPPLibraryEmitter(emitters, cpp_output_dir)
dart_output_dir = os.path.join(dartium_output_dir, 'dart')
backend_factory = lambda interface:\
DartiumBackend(interface, cpp_library_emitter, backend_options)
dart_libraries = DartLibraries(
- HTML_LIBRARY_NAMES, template_loader, 'dartium', dartium_output_dir)
+ HTML_LIBRARY_NAMES, template_loader, 'dartium', dartium_output_dir, dart_js_interop)
print '\nGenerating dartium:\n'
start_time = time.time()
- RunGenerator(dart_libraries, dart_output_dir,
- template_loader, backend_factory)
+ RunGenerator(dart_libraries, dart_output_dir, template_loader,
+ backend_factory, dart_js_interop)
print 'Generated dartium in %s seconds' % round(time.time() - start_time, 2)
cpp_library_emitter.EmitDerivedSources(
@@ -239,6 +246,9 @@
parser.add_option('--logging', dest='logging', type='int',
action='store', default=logging.NOTSET,
help='Level of logging 20 is Info, 30 is Warnings, 40 is Errors')
+ parser.add_option('--gen-interop', dest='dart_js_interop',
+ action='store_true', default=False,
+ help='Use Javascript objects (dart:js) accessing the DOM in _blink')
(options, args) = parser.parse_args()
@@ -269,7 +279,7 @@
database = fremontcutbuilder.main(options.parallel, logging_level=logging_level, examine_idls=options.examine_idls)
GenerateFromDatabase(database, dart2js_output_dir, dartium_output_dir,
- options.update_dom_metadata, logging_level)
+ options.update_dom_metadata, logging_level, options.dart_js_interop)
file_generation_start_time = time.time()
diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py
index 7ad6070..688a5f9 100644
--- a/tools/dom/scripts/generator.py
+++ b/tools/dom/scripts/generator.py
@@ -514,13 +514,55 @@
parameter_count = len(self.param_infos)
return ', '.join(map(param_name, self.param_infos[:parameter_count]))
- def ParametersAsListOfVariables(self, parameter_count=None):
+ def wrap_unwrap_list_blink(self, return_type, type_registry):
+ """Return True if the type is a List<Node>"""
+ return return_type.startswith('List<Node>')
+
+ def wrap_unwrap_type_blink(self, return_type, type_registry):
+ """Returns True if the type is a blink type that requires wrap_jso or unwrap_jso.
+ Notice we look for any class that starts with HtmlNNNN e.g., HtmlDocument, etc. """
+ return (type_registry.HasInterface(return_type) or not(return_type) or
+ return_type == 'Object' or return_type.startswith('Html') or
+ return_type == 'MutationObserver')
+
+ def ParametersAsListOfVariables(self, parameter_count=None, type_registry=None, dart_js_interop=False):
"""Returns a list of the first parameter_count parameter names
as raw variables.
"""
if parameter_count is None:
parameter_count = len(self.param_infos)
- return [p.name for p in self.param_infos[:parameter_count]]
+ if not type_registry:
+ return [p.name for p in self.param_infos[:parameter_count]]
+ else:
+ parameters = []
+ for p in self.param_infos[:parameter_count]:
+ type_id = p.type_id
+ # Unwrap the type to get the JsObject if Type is:
+ #
+ # - known IDL type
+ # - type_id is None then it's probably a union type or overloaded
+ # it's a dynamic/any type
+ # - type is Object
+ #
+ # JsObject maybe stored in the Dart class.
+ if (self.wrap_unwrap_type_blink(type_id, type_registry)):
+ if dart_js_interop and type_id == 'EventListener' and (self.name == 'addEventListener' or
+ self.name == 'addListener'):
+ # Events fired need to wrap the Javascript Object passed as a parameter in event.
+ parameters.append('unwrap_jso((Event event) => %s(wrap_jso(event)))' % p.name)
+ else:
+ parameters.append('unwrap_jso(%s)' % p.name)
+ else:
+ if dart_js_interop:
+ passParam = p.name
+ if type_id == 'Dictionary':
+ # Need to pass the IDL Dictionary from Dart Map to JavaScript object.
+ passParam = '{0} != null ? new js.JsObject.jsify({0}) : {0}'.format(p.name)
+ else:
+ passParam = p.name
+ parameters.append(passParam)
+
+ return parameters
def ParametersAsStringOfVariables(self, parameter_count=None):
"""Returns a string containing the first parameter_count parameter names
@@ -1282,6 +1324,9 @@
self._renamer = renamer
self._cache = {}
+ def HasInterface(self, type_name):
+ return self._database.HasInterface(type_name)
+
def TypeInfo(self, type_name):
if not type_name in self._cache:
self._cache[type_name] = self._TypeInfo(type_name)
diff --git a/tools/dom/scripts/htmldartgenerator.py b/tools/dom/scripts/htmldartgenerator.py
index 860d7e1..3edf60e 100644
--- a/tools/dom/scripts/htmldartgenerator.py
+++ b/tools/dom/scripts/htmldartgenerator.py
@@ -68,7 +68,7 @@
"\n $TYPE get on =>\n new $TYPE(this);\n",
TYPE=events_class_name)
- def AddMembers(self, interface, declare_only=False):
+ def AddMembers(self, interface, declare_only=False, dart_js_interop=False):
for const in sorted(interface.constants, ConstantOutputOrder):
self.AddConstant(const)
@@ -102,7 +102,7 @@
for id in sorted(operationsByName.keys()):
operations = operationsByName[id]
info = AnalyzeOperation(interface, operations)
- self.AddOperation(info, declare_only)
+ self.AddOperation(info, declare_only, dart_js_interop)
if ('%s.%s' % (interface.id, info.declared_name) in
convert_to_future_members):
self.AddOperation(ConvertToFuture(info), declare_only)
@@ -309,7 +309,7 @@
else:
self.EmitAttribute(attribute, attr_name, read_only)
- def AddOperation(self, info, declare_only=False):
+ def AddOperation(self, info, declare_only=False, dart_js_interop=False):
""" Adds an operation to the generated class.
Arguments:
info - The operation info of the operation to be added.
@@ -334,7 +334,7 @@
self.DeclareOperation(info,
self.SecureOutputType(info.type_name), method_name)
else:
- self.EmitOperation(info, method_name)
+ self.EmitOperation(info, method_name, dart_js_interop)
def _GenerateOverloadDispatcher(self,
info,
@@ -786,6 +786,13 @@
if type_name in _secure_base_types:
return _secure_base_types[type_name]
+ def is_DOM_type(self, type_name):
+ try:
+ self._type_registry.TypeInfo(type_name)
+ return True
+ except RuntimeError:
+ return False
+
def _NarrowToImplementationType(self, type_name):
return self._type_registry.TypeInfo(type_name).narrow_dart_type()
diff --git a/tools/dom/scripts/htmlrenamer.py b/tools/dom/scripts/htmlrenamer.py
index 8d0b7ee..96d3cfc 100644
--- a/tools/dom/scripts/htmlrenamer.py
+++ b/tools/dom/scripts/htmlrenamer.py
@@ -787,6 +787,7 @@
'Node.get:DOCUMENT_POSITION_FOLLOWING',
'Node.get:DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC',
'Node.get:DOCUMENT_POSITION_PRECEDING',
+ 'Node.get:childNodes',
'Node.get:prefix',
'Node.hasAttributes',
'Node.isDefaultNamespace',
diff --git a/tools/dom/scripts/systemhtml.py b/tools/dom/scripts/systemhtml.py
index de039ed..69ee642 100644
--- a/tools/dom/scripts/systemhtml.py
+++ b/tools/dom/scripts/systemhtml.py
@@ -558,6 +558,11 @@
implements_str = ' implements ' + ', '.join(set(implements))
mixins = self._backend.Mixins()
+
+ # TODO(terry): Do we need a more generic solution other than handling NamedNodeMap
+ # we can't call super on a mixin interface - yet.
+ if self._options.templates._conditions['DARTIUM'] and self._options.dart_js_interop and self._interface.id == 'NamedNodeMap':
+ mixins = None
mixins_str = ''
if mixins:
mixins_str = ' with ' + ', '.join(mixins)
@@ -569,13 +574,63 @@
class_modifiers = ''
if (self._renamer.ShouldSuppressInterface(self._interface) or
- IsPureInterface(self._interface.id)):
- class_modifiers = 'abstract '
+ IsPureInterface(self._interface.id)):
+ # XMLHttpRequestProgressEvent can't be abstract we need to instantiate
+ # for JsInterop.
+ if (not(isinstance(self._backend, Dart2JSBackend)) and
+ self._interface.id == 'XMLHttpRequestProgressEvent'):
+ # Only suppress abstract for XMLHttpRequestProgressEvent for Dartium.
+ # Need to be able to instantiate the class; can't be abstract.
+ class_modifiers = ''
+ else:
+ class_modifiers = 'abstract '
native_spec = ''
if not IsPureInterface(self._interface.id):
native_spec = self._backend.NativeSpec()
+ class_name = self._interface_type_info.implementation_name()
+
+ js_interop_equivalence_op = \
+ ' bool operator ==(other) => unwrap_jso(other) == unwrap_jso(this) || identical(this, other);\n'
+ # ClientRect overrides the equivalence operator.
+ if interface_name == 'ClientRect' or interface_name == 'DomRectReadOnly':
+ js_interop_equivalence_op = ''
+
+ js_interop_wrapper = '''
+
+ static {0} internalCreate{0}() {{
+ return new {0}._internalWrap();
+ }}
+
+ factory {0}._internalWrap() {{
+ return new {0}._internal();
+ }}
+
+ {0}._internal() : super._internal();
+
+'''.format(class_name)
+ """
+ TODO(terry): Don't use Dart expando really don't need.
+ final Object expandoJsObject = new Object();
+ final Expando<JsObject> dartium_expando = new Expando<JsObject>("Expando_jsObject");
+ """
+ if base_class == 'NativeFieldWrapperClass2':
+ js_interop_wrapper = '''
+ static {0} internalCreate{0}() {{
+ return new {0}._internalWrap();
+ }}
+
+ JsObject blink_jsObject = null;
+
+ factory {0}._internalWrap() {{
+ return new {0}._internal();
+ }}
+
+ {0}._internal() {{ }}
+
+{1}'''.format(class_name, js_interop_equivalence_op)
+
implementation_members_emitter = implementation_emitter.Emit(
self._backend.ImplementationTemplate(),
LIBRARYNAME='dart.dom.%s' % self._library_name,
@@ -614,6 +669,13 @@
for parent in self._database.Hierarchy(self._interface):
if parent.id == 'Element':
isElement = True
+
+ # Write out the JsInterop code.
+ if (implementation_members_emitter and
+ self._options.templates._conditions['DARTIUM'] and
+ self._options.dart_js_interop):
+ implementation_members_emitter.Emit(js_interop_wrapper)
+
if isElement and self._interface.id != 'Element':
implementation_members_emitter.Emit(
' /**\n'
@@ -631,7 +693,7 @@
self._backend.AddMembers(self._database.GetInterface(merged_interface),
not self._backend.ImplementsMergedMembers())
- self._backend.AddMembers(self._interface)
+ self._backend.AddMembers(self._interface, False, self._options.dart_js_interop)
self._backend.AddSecondaryMembers(self._interface)
self._event_generator.EmitStreamGetters(
self._interface,
@@ -967,7 +1029,7 @@
def OmitOperationOverrides(self):
return True
- def EmitOperation(self, info, html_name):
+ def EmitOperation(self, info, html_name, dart_js_interop=False):
"""
Arguments:
info: An OperationInfo object.
@@ -1225,18 +1287,19 @@
def AddTypeEntry(self, basename, idl_name, dart_name):
self._dart_libraries.AddTypeEntry(basename, idl_name, dart_name)
- def EmitLibraries(self, auxiliary_dir):
+ def EmitLibraries(self, auxiliary_dir, dart_js_interop):
self._dart_libraries.Emit(self._multiemitter, auxiliary_dir)
# ------------------------------------------------------------------------------
class DartLibrary():
- def __init__(self, name, template_loader, library_type, output_dir):
+ def __init__(self, name, template_loader, library_type, output_dir, dart_js_interop):
self._template = template_loader.Load(
'%s_%s.darttemplate' % (name, library_type))
self._dart_path = os.path.join(
output_dir, '%s_%s.dart' % (name, library_type))
self._paths = []
self._typeMap = {}
+ self._dart_js_interop = dart_js_interop
def AddFile(self, path):
self._paths.append(path)
@@ -1255,16 +1318,20 @@
emitters = library_emitter.Emit(
self._template, AUXILIARY_DIR=massage_path(auxiliary_dir))
if isinstance(emitters, tuple):
- imports_emitter, map_emitter = emitters
+ if self._dart_js_interop:
+ imports_emitter, map_emitter, function_emitter = emitters
+ else:
+ imports_emitter, map_emitter = emitters
+ function_emitter = None
else:
- imports_emitter, map_emitter = emitters, None
-
+ imports_emitter, map_emitter, function_emitter = emitters, None, None
for path in sorted(self._paths):
relpath = os.path.relpath(path, library_file_dir)
imports_emitter.Emit(
"part '$PATH';\n", PATH=massage_path(relpath))
+ # Emit the $!TYPE_MAP
if map_emitter:
items = self._typeMap.items()
items.sort()
@@ -1274,15 +1341,27 @@
IDL_NAME=idl_name,
DART_NAME=dart_name)
+ # Emit the $!TYPE_FUNCTION_MAP
+ if function_emitter:
+ items = self._typeMap.items()
+ items.sort()
+ for (idl_name, dart_name) in items:
+ function_emitter.Emit(
+ " '$IDL_NAME': () => $DART_NAME.internalCreate$DART_NAME,\n",
+ IDL_NAME=idl_name,
+ DART_NAME=dart_name)
+ if self._dart_path.endswith('html_dartium.dart'):
+ function_emitter.Emit(" 'polymer-element': () => HtmlElement.internalCreateHtmlElement,\n")
+
# ------------------------------------------------------------------------------
class DartLibraries():
- def __init__(self, libraries, template_loader, library_type, output_dir):
+ def __init__(self, libraries, template_loader, library_type, output_dir, dart_js_interop):
self._libraries = {}
for library_name in libraries:
self._libraries[library_name] = DartLibrary(
- library_name, template_loader, library_type, output_dir)
+ library_name, template_loader, library_type, output_dir, dart_js_interop)
def AddFile(self, basename, library_name, path):
self._libraries[library_name].AddFile(path)
diff --git a/tools/dom/scripts/systemnative.py b/tools/dom/scripts/systemnative.py
index 541b5ba..99e511a 100644
--- a/tools/dom/scripts/systemnative.py
+++ b/tools/dom/scripts/systemnative.py
@@ -383,6 +383,7 @@
self._cpp_impl_includes = None
self._cpp_definitions_emitter = None
self._cpp_resolver_emitter = None
+ self._dart_js_interop = options.dart_js_interop
def ImplementsMergedMembers(self):
# We could not add merged functions to implementation class because
@@ -666,22 +667,24 @@
self._interface, self._interface.id, ' ')
self._members_emitter.Emit(
- '\n $(ANNOTATIONS)factory $CTOR($PARAMS) => _create($FACTORY_PARAMS);\n',
+ '\n $(ANNOTATIONS)factory $CTOR($PARAMS) => wrap_jso(_create($FACTORY_PARAMS));\n',
ANNOTATIONS=annotations,
CTOR=constructor_info._ConstructorFullName(self._DartType),
PARAMS=constructor_info.ParametersAsDeclaration(self._DartType),
FACTORY_PARAMS= \
constructor_info.ParametersAsArgumentList())
- constructor_callback_cpp_name = 'constructorCallback'
- self._EmitConstructorInfrastructure(
- constructor_info, "", constructor_callback_cpp_name, '_create',
- is_custom=True)
+ # MutationObserver has custom _create. TODO(terry): Consider table but this is only one.
+ if self._interface.id != 'MutationObserver':
+ constructor_callback_cpp_name = 'constructorCallback'
+ self._EmitConstructorInfrastructure(
+ constructor_info, "", constructor_callback_cpp_name, '_create',
+ is_custom=True)
- self._cpp_declarations_emitter.Emit(
- '\n'
- 'void $CPP_CALLBACK(Dart_NativeArguments);\n',
- CPP_CALLBACK=constructor_callback_cpp_name)
+ self._cpp_declarations_emitter.Emit(
+ '\n'
+ 'void $CPP_CALLBACK(Dart_NativeArguments);\n',
+ CPP_CALLBACK=constructor_callback_cpp_name)
return True
@@ -916,6 +919,24 @@
dart_declaration = '%s get %s' % (return_type, html_name)
is_custom = _IsCustom(attr) and (_IsCustomValue(attr, None) or
_IsCustomValue(attr, 'Getter'))
+
+ # Operation uses blink?
+ wrap_unwrap_list = [];
+ return_wrap_jso = False
+ if self._dart_use_blink:
+ # Unwrap the type to get the JsObject if Type is:
+ #
+ # - known IDL type
+ # - type_id is None then it's probably a union type or overloaded
+ # it's a dynamic/any type
+ # - type is Object
+ #
+ # JsObject maybe stored in the Dart class.
+ return_wrap_jso = (isinstance(type_info, InterfaceIDLTypeInfo) or
+ not(type_info) or attr.type.id == 'Object')
+ wrap_unwrap_list.append(return_wrap_jso) # wrap_jso the returned object
+ wrap_unwrap_list.append(self._dart_use_blink) # this must be unwrap_jso
+
# This seems to have been replaced with Custom=Getter (see above), but
# check to be sure we don't see the old syntax
assert(not ('CustomGetter' in attr.ext_attrs))
@@ -925,7 +946,8 @@
self.DeriveNativeEntry(attr.id, 'Getter', None)
cpp_callback_name = self._GenerateNativeBinding(attr.id, 1,
dart_declaration, attr.is_static, return_type, parameters,
- native_suffix, is_custom, auto_scope_setup, native_entry=native_entry)
+ native_suffix, is_custom, auto_scope_setup, native_entry=native_entry,
+ wrap_unwrap_list=wrap_unwrap_list)
if is_custom:
return
@@ -963,10 +985,17 @@
auto_scope_setup)
def _AddSetter(self, attr, html_name):
- type_info = self._TypeInfo(attr.type.id)
return_type = 'void'
- parameters = ['value']
ptype = self._DartType(attr.type.id)
+
+ type_info = self._TypeInfo(attr.type.id)
+
+ # Is the setter value a DartClass (that has a JsObject) or the type is
+ # None (it's a dynamic/any type) then unwrap_jso before passing to blink.
+ parameters = ['unwrap_jso(value)' if (isinstance(type_info, InterfaceIDLTypeInfo) or
+ not(attr.type.id) or ptype == 'Object')
+ else 'value']
+
dart_declaration = 'void set %s(%s value)' % (html_name, ptype)
is_custom = _IsCustom(attr) and (_IsCustomValue(attr, None) or
_IsCustomValue(attr, 'Setter'))
@@ -978,9 +1007,14 @@
auto_scope_setup = self._GenerateAutoSetupScope(attr.id, native_suffix)
native_entry = \
self.DeriveNativeEntry(attr.id, 'Setter', None)
+
+ # setters return no object and if blink this must be unwrapped.?
+ wrap_unwrap_list = [False, self._dart_use_blink];
+
cpp_callback_name = self._GenerateNativeBinding(attr.id, 2,
dart_declaration, attr.is_static, return_type, parameters,
- native_suffix, is_custom, auto_scope_setup, native_entry=native_entry)
+ native_suffix, is_custom, auto_scope_setup, native_entry=native_entry,
+ wrap_unwrap_list=wrap_unwrap_list)
if is_custom:
return
@@ -1047,18 +1081,41 @@
dart_qualified_name = \
self.DeriveQualifiedBlinkName(self._interface.id,
dart_native_name)
- self._members_emitter.Emit(
- '\n'
- ' $TYPE operator[](int index) {\n'
- ' if (index < 0 || index >= length)\n'
- ' throw new RangeError.index(index, this);\n'
- ' return $(DART_NATIVE_NAME)(this, index);\n'
- ' }\n\n'
- ' $TYPE _nativeIndexedGetter(int index) =>'
- ' $(DART_NATIVE_NAME)(this, index);\n',
- DART_NATIVE_NAME=dart_qualified_name,
- TYPE=self.SecureOutputType(element_type),
- INTERFACE=self._interface.id)
+
+ type_info = self._TypeInfo(element_type)
+ # Does nativeIndexGetter return a DartClass (JsObject) if so wrap_jso.
+ wrap_jso_start = ''
+ wrap_jso_end = ''
+ if isinstance(type_info, InterfaceIDLTypeInfo):
+ wrap_jso_start = 'wrap_jso('
+ wrap_jso_end = ')'
+ blinkNativeIndexed = """
+ $TYPE operator[](int index) {
+ if (index < 0 || index >= length)
+ throw new RangeError.index(index, this);
+ return %s$(DART_NATIVE_NAME)(unwrap_jso(this), index)%s;
+ }
+
+ $TYPE _nativeIndexedGetter(int index) => %s$(DART_NATIVE_NAME)(unwrap_jso(this), index)%s;
+ """ % (wrap_jso_start, wrap_jso_end, wrap_jso_start, wrap_jso_end)
+ # Wrap the type to store the JsObject if Type is:
+ #
+ # - known IDL type
+ # - type_id is None then it's probably a union type or overloaded
+ # it's a dynamic/any type
+ # - type is Object
+ #
+ # JsObject maybe stored in the Dart class.
+ if isinstance(type_info, InterfaceIDLTypeInfo) or not(type_info) or dart_element_type == 'Object':
+ blinkNativeIndexedGetter = \
+ ' {0}$(DART_NATIVE_NAME)(unwrap_jso(this), index){1};\n'.format('wrap_jso(', ')')
+ else:
+ blinkNativeIndexedGetter = \
+ ' $(DART_NATIVE_NAME)(unwrap_jso(this), index);\n'
+ self._members_emitter.Emit(blinkNativeIndexed,
+ DART_NATIVE_NAME=dart_qualified_name,
+ TYPE=self.SecureOutputType(element_type),
+ INTERFACE=self._interface.id)
if self._HasNativeIndexSetter():
self._EmitNativeIndexSetter(dart_element_type)
@@ -1127,14 +1184,16 @@
dart_declaration, False, return_type, parameters,
'Callback', True, False)
- def EmitOperation(self, info, html_name):
+ def EmitOperation(self, info, html_name, dart_js_interop=False):
"""
Arguments:
info: An OperationInfo object.
"""
return_type = self.SecureOutputType(info.type_name, False, True)
+
formals = info.ParametersAsDeclaration(self._DartType)
- parameters = info.ParametersAsListOfVariables()
+
+ parameters = info.ParametersAsListOfVariables(None, self._type_registry if self._dart_use_blink else None, dart_js_interop)
dart_declaration = '%s%s %s(%s)' % (
'static ' if info.IsStatic() else '',
return_type,
@@ -1142,10 +1201,30 @@
formals)
operation = info.operations[0]
+
is_custom = _IsCustom(operation)
has_optional_arguments = any(IsOptional(argument) for argument in operation.arguments)
needs_dispatcher = not is_custom and (len(info.operations) > 1 or has_optional_arguments)
+ # Operation uses blink?
+ wrap_unwrap_list = [];
+ return_wrap_jso = False
+ # return type wrapped?
+ if self._dart_use_blink:
+ # Wrap the type to store the JsObject if Type is:
+ #
+ # - known IDL type
+ # - type_id is None then it's probably a union type or overloaded
+ # it's a dynamic/any type
+ # - type is Object
+ #
+ # JsObject maybe stored in the Dart class.
+ return_wrap_jso = (info.wrap_unwrap_type_blink(return_type, self._type_registry) or
+ return_type == 'Rectangle' or
+ info.wrap_unwrap_list_blink(return_type, self._type_registry))
+ wrap_unwrap_list.append(return_wrap_jso) # wrap_jso the returned object
+ wrap_unwrap_list.append(self._dart_use_blink) # The 'this' parameter must be unwrap_jso
+
if info.callback_args:
self._AddFutureifiedOperation(info, html_name)
elif not needs_dispatcher:
@@ -1159,7 +1238,8 @@
info.name, argument_count, dart_declaration,
info.IsStatic(), return_type, parameters,
native_suffix, is_custom, auto_scope_setup,
- native_entry=native_entry)
+ native_entry=native_entry,
+ wrap_unwrap_list=wrap_unwrap_list)
if not is_custom:
self._GenerateOperationNativeCallback(operation, operation.arguments, cpp_callback_name, auto_scope_setup)
else:
@@ -1170,16 +1250,23 @@
def GenerateCall(
stmts_emitter, call_emitter, version, operation, argument_count):
native_suffix = 'Callback'
- actuals = info.ParametersAsListOfVariables(argument_count)
+ actuals = info.ParametersAsListOfVariables(argument_count,
+ self._type_registry if self._dart_use_blink else None,
+ self._dart_js_interop)
actuals_s = ", ".join(actuals)
formals=actuals
return_type = self.SecureOutputType(operation.type.id)
+
+ return_wrap_jso = False
+ if self._dart_use_blink:
+ return_wrap_jso = self._type_registry.HasInterface(return_type)
+
native_suffix = 'Callback'
is_custom = _IsCustom(operation)
base_name = '_%s_%s' % (operation.id, version)
static = True
if not operation.is_static:
- actuals = ['this'] + actuals
+ actuals = ['unwrap_jso(this)' if self._dart_use_blink else 'this'] + actuals
formals = ['mthis'] + formals
actuals_s = ", ".join(actuals)
formals_s = ", ".join(formals)
@@ -1191,7 +1278,10 @@
overload_name = \
self.DeriveQualifiedBlinkName(self._interface.id,
overload_base_name)
- call_emitter.Emit('$NAME($ARGS)', NAME=overload_name, ARGS=actuals_s)
+ if return_wrap_jso:
+ call_emitter.Emit('wrap_jso($NAME($ARGS))', NAME=overload_name, ARGS=actuals_s)
+ else:
+ call_emitter.Emit('$NAME($ARGS)', NAME=overload_name, ARGS=actuals_s)
auto_scope_setup = \
self._GenerateAutoSetupScope(base_name, native_suffix)
cpp_callback_name = self._GenerateNativeBinding(
@@ -1604,7 +1694,7 @@
def _GenerateNativeBinding(self, idl_name, argument_count, dart_declaration,
static, return_type, parameters, native_suffix, is_custom,
auto_scope_setup=True, emit_metadata=True, emit_to_native=False,
- native_entry=None):
+ native_entry=None, wrap_unwrap_list=[]):
metadata = []
if emit_metadata:
metadata = self._metadata.GetFormattedMetadata(
@@ -1623,7 +1713,10 @@
if not static:
formals = ", ".join(['mthis'] + parameters)
- actuals = ", ".join(['this'] + parameters)
+ if wrap_unwrap_list and wrap_unwrap_list[1]:
+ actuals = ", ".join(['unwrap_jso(this)'] + parameters)
+ else:
+ actuals = ", ".join(['this'] + parameters)
else:
formals = ", ".join(parameters)
actuals = ", ".join(parameters)
@@ -1640,13 +1733,28 @@
METADATA=metadata,
DART_DECLARATION=dart_declaration)
else:
- caller_emitter.Emit(
- '\n'
- ' $METADATA$DART_DECLARATION => $DART_NAME($ACTUALS);\n',
- METADATA=metadata,
- DART_DECLARATION=dart_declaration,
- DART_NAME=full_dart_name,
- ACTUALS=actuals)
+ emit_template = '''
+ $METADATA$DART_DECLARATION => $DART_NAME($ACTUALS);
+ '''
+ if wrap_unwrap_list and wrap_unwrap_list[0]:
+ emit_jso_template = '''
+ $METADATA$DART_DECLARATION => %s($DART_NAME($ACTUALS));
+ '''
+ if return_type == 'Rectangle':
+ jso_util_method = 'make_dart_rectangle'
+ # TODO(terry): More checks that the return is a List<Node>.
+ elif return_type.startswith('List<'):
+ jso_util_method = 'wrap_jso_list'
+ else:
+ jso_util_method = 'wrap_jso'
+ # Always return List<String> unwrapped.
+ if return_type != 'List<String>':
+ emit_template = emit_jso_template % jso_util_method
+ caller_emitter.Emit(emit_template,
+ METADATA=metadata,
+ DART_DECLARATION=dart_declaration,
+ DART_NAME=full_dart_name,
+ ACTUALS=actuals)
cpp_callback_name = '%s%s' % (idl_name, native_suffix)
self._cpp_resolver_emitter.Emit(
diff --git a/tools/dom/src/NodeValidatorBuilder.dart b/tools/dom/src/NodeValidatorBuilder.dart
index 7ebeb36..4a41232 100644
--- a/tools/dom/src/NodeValidatorBuilder.dart
+++ b/tools/dom/src/NodeValidatorBuilder.dart
@@ -259,17 +259,17 @@
}
class _SimpleNodeValidator implements NodeValidator {
- final Set<String> allowedElements;
- final Set<String> allowedAttributes;
- final Set<String> allowedUriAttributes;
+ final Set<String> allowedElements = new Set<String>();
+ final Set<String> allowedAttributes = new Set<String>();
+ final Set<String> allowedUriAttributes = new Set<String>();
final UriPolicy uriPolicy;
factory _SimpleNodeValidator.allowNavigation(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
- allowedElements: [
+ allowedElements: const [
'A',
'FORM'],
- allowedAttributes: [
+ allowedAttributes: const [
'A::accesskey',
'A::coords',
'A::hreflang',
@@ -286,7 +286,7 @@
'FORM::novalidate',
'FORM::target',
],
- allowedUriAttributes: [
+ allowedUriAttributes: const [
'A::href',
'FORM::action',
]);
@@ -294,10 +294,10 @@
factory _SimpleNodeValidator.allowImages(UriPolicy uriPolicy) {
return new _SimpleNodeValidator(uriPolicy,
- allowedElements: [
+ allowedElements: const [
'IMG'
],
- allowedAttributes: [
+ allowedAttributes: const [
'IMG::align',
'IMG::alt',
'IMG::border',
@@ -309,14 +309,14 @@
'IMG::vspace',
'IMG::width',
],
- allowedUriAttributes: [
+ allowedUriAttributes: const [
'IMG::src',
]);
}
factory _SimpleNodeValidator.allowTextElements() {
return new _SimpleNodeValidator(null,
- allowedElements: [
+ allowedElements: const [
'B',
'BLOCKQUOTE',
'BR',
@@ -344,13 +344,18 @@
*/
_SimpleNodeValidator(this.uriPolicy,
{Iterable<String> allowedElements, Iterable<String> allowedAttributes,
- Iterable<String> allowedUriAttributes}):
- this.allowedElements = allowedElements != null ?
- new Set.from(allowedElements) : new Set(),
- this.allowedAttributes = allowedAttributes != null ?
- new Set.from(allowedAttributes) : new Set(),
- this.allowedUriAttributes = allowedUriAttributes != null ?
- new Set.from(allowedUriAttributes) : new Set();
+ Iterable<String> allowedUriAttributes}) {
+ this.allowedElements.addAll(allowedElements ?? const []);
+ allowedAttributes = allowedAttributes ?? const [];
+ allowedUriAttributes = allowedUriAttributes ?? const [];
+ var legalAttributes = allowedAttributes.where(
+ (x) => !_Html5NodeValidator._uriAttributes.contains(x));
+ var extraUriAttributes = allowedAttributes.where(
+ (x) => _Html5NodeValidator._uriAttributes.contains(x));
+ this.allowedAttributes.addAll(legalAttributes);
+ this.allowedUriAttributes.addAll(allowedUriAttributes);
+ this.allowedUriAttributes.addAll(extraUriAttributes);
+ }
bool allowsElement(Element element) {
return allowedElements.contains(element.tagName);
diff --git a/tools/dom/src/native_DOMImplementation.dart b/tools/dom/src/native_DOMImplementation.dart
index c0eee34..34c032b 100644
--- a/tools/dom/src/native_DOMImplementation.dart
+++ b/tools/dom/src/native_DOMImplementation.dart
@@ -187,7 +187,10 @@
return element;
}
+ // TODO(terry): Enable below for Dartium w/ interop and remove other static window().
+ // static window() => wrap_jso(_blink.Blink_Utils.window()['window']);
static window() => _blink.Blink_Utils.window();
+
static forwardingPrint(String message) => _blink.Blink_Utils.forwardingPrint(message);
static void spawnDomHelper(Function f, int replyTo) =>
_blink.Blink_Utils.spawnDomHelper(f, replyTo);
@@ -798,16 +801,16 @@
}
static void _register(Document document, String tag, Type customType,
- String extendsTagName) => _blink.Blink_Utils.register(document, tag, customType, extendsTagName);
+ String extendsTagName) => _blink.Blink_Utils.register(unwrap_jso(document), tag, customType, extendsTagName);
static Element createElement(Document document, String tagName) =>
- _blink.Blink_Utils.createElement(document, tagName);
+ wrap_jso(_blink.Blink_Utils.createElement(unwrap_jso(document), tagName));
static void initializeCustomElement(HtmlElement element) =>
- _blink.Blink_Utils.initializeCustomElement(element);
+ _blink.Blink_Utils.initializeCustomElement(unwrap_jso(element));
static Element changeElementWrapper(HtmlElement element, Type type) =>
- _blink.Blink_Utils.changeElementWrapper(element, type);
+ _blink.Blink_Utils.changeElementWrapper(unwrap_jso(element), type);
}
class _DOMWindowCrossFrame extends NativeFieldWrapperClass2 implements
diff --git a/tools/dom/templates/html/dartium/html_dartium.darttemplate b/tools/dom/templates/html/dartium/html_dartium.darttemplate
index 1d55826..c6a200f 100644
--- a/tools/dom/templates/html/dartium/html_dartium.darttemplate
+++ b/tools/dom/templates/html/dartium/html_dartium.darttemplate
@@ -37,6 +37,7 @@
import 'dart:html_common';
import 'dart:indexed_db';
import 'dart:indexed_db' show indexed_dbBlinkMap;
+import 'dart:indexed_db' show indexed_dbBlinkFunctionMap;
import 'dart:isolate';
import 'dart:js' as js;
import "dart:convert";
@@ -48,14 +49,17 @@
import 'dart:typed_data';
import 'dart:web_gl' as gl;
import 'dart:web_gl' show web_glBlinkMap;
+import 'dart:web_gl' show web_glBlinkFunctionMap;
import 'dart:web_sql';
// Not actually used, but imported since dart:html can generate these objects.
import 'dart:svg' as svg;
import 'dart:svg' show svgBlinkMap;
+import 'dart:svg' show svgBlinkFunctionMap;
import 'dart:svg' show Matrix;
import 'dart:svg' show SvgSvgElement;
import 'dart:web_audio' as web_audio;
import 'dart:web_audio' show web_audioBlinkMap;
+import 'dart:web_audio' show web_audioBlinkFunctionMap;
import 'dart:_blink' as _blink;
export 'dart:math' show Rectangle, Point;
@@ -111,7 +115,13 @@
if (_window != null) {
return _window;
}
+$if DARTIUM
+$if JSINTEROP
+ _window = wrap_jso(js.context['window']);
+$else
_window = _Utils.window();
+$endif
+$endif
return _window;
}
@@ -239,3 +249,187 @@
}
return null;
}
+
+
+$if JSINTEROP
+// FIXME: Can we make this private?
+final htmlBlinkFunctionMap = {
+$!TYPE_FUNCTION_MAP
+};
+
+// TODO(terry): We may want to move this elsewhere if html becomes
+// a package to avoid dartium depending on pkg:html.
+getHtmlCreateFunction(String key) {
+ var result;
+
+ // TODO(vsm): Add Cross Frame and JS types here as well.
+
+ // Check the html library.
+ result = _getHtmlFunction(key);
+ if (result != null) {
+ return result;
+ }
+
+ // Check the web gl library.
+ result = _getWebGlFunction(key);
+ if (result != null) {
+ return result;
+ }
+
+ // Check the indexed db library.
+ result = _getIndexDbFunction(key);
+ if (result != null) {
+ return result;
+ }
+
+ // Check the web audio library.
+ result = _getWebAudioFunction(key);
+ if (result != null) {
+ return result;
+ }
+
+ // Check the web sql library.
+ result = _getWebSqlFunction(key);
+ if (result != null) {
+ return result;
+ }
+
+ // Check the svg library.
+ result = _getSvgFunction(key);
+ if (result != null) {
+ return result;
+ }
+
+ return null;
+}
+
+Type _getHtmlFunction(String key) {
+ if (htmlBlinkFunctionMap.containsKey(key)) {
+ return htmlBlinkFunctionMap[key]();
+ }
+ return null;
+}
+
+Type _getWebGlFunction(String key) {
+ if (web_glBlinkFunctionMap.containsKey(key)) {
+ return web_glBlinkFunctionMap[key]();
+ }
+ return null;
+}
+
+Type _getIndexDbFunction(String key) {
+ if (indexed_dbBlinkFunctionMap.containsKey(key)) {
+ return indexed_dbBlinkFunctionMap[key]();
+ }
+ return null;
+}
+
+Type _getWebAudioFunction(String key) {
+ if (web_audioBlinkFunctionMap.containsKey(key)) {
+ return web_audioBlinkFunctionMap[key]();
+ }
+ return null;
+}
+
+Type _getWebSqlFunction(String key) {
+ if (web_sqlBlinkFunctionMap.containsKey(key)) {
+ return web_sqlBlinkFunctionMap[key]();
+ }
+ return null;
+}
+
+Type _getSvgFunction(String key) {
+ if (svgBlinkFunctionMap.containsKey(key)) {
+ return svgBlinkFunctionMap[key]();
+ }
+ return null;
+}
+
+
+/******************************************************************************
+ ********** **********
+ ********** JS Interop Support **********
+ ********** **********
+ ******************************************************************************/
+
+Rectangle make_dart_rectangle(r) => new Rectangle(r['top'], r['left'], r['width'], r['height']);
+
+
+/** Expando for JsObject, used by every Dart class associated with a Javascript
+ * class (e.g., DOM, WebAudio, etc.).
+ */
+
+/**
+ * Return the JsObject associated with a Dart class [dartClass_instance].
+ */
+js.JsObject unwrap_jso(dartClass_instance) {
+ try {
+ if (dartClass_instance != null)
+ return dartClass_instance is! Function ? dartClass_instance.blink_jsObject : dartClass_instance;
+ else
+ return null;
+// return dartClass_instance.dartium_expando[dartClass_instance.expandoJsObject];
+ } catch(NoSuchMethodException) {
+ // No blink_jsObject then return the dartClass_instance is probably an
+ // array that was already converted to a Dart class e.g., Uint8ClampedList.
+ return dartClass_instance;
+ }
+}
+
+/**
+ * Create Dart class that maps to the JS Type, add the JsObject as an expando
+ * on the Dart class and return the created Dart class.
+ */
+wrap_jso(jsObject) {
+try {
+// debug_or_assert("jsObject != null", jsObject != null);
+ if (jsObject is! js.JsObject) {
+ // JS Interop converted the object to a Dart class e.g., Uint8ClampedList.
+ return jsObject;
+ }
+ var constructor = jsObject['constructor'];
+ debug_or_assert("constructor != null", constructor != null);
+ var jsTypeName = constructor['name'];
+ debug_or_assert("constructor != null && jsTypeName.length > 0", constructor != null && jsTypeName.length > 0);
+ var func = getHtmlCreateFunction(jsTypeName);
+ debug_or_assert("func != null name = ${jsTypeName}", func != null);
+ var dartClass_instance = func();
+ dartClass_instance.blink_jsObject = jsObject;
+// dartClass_instance.dartium_expando[dartClass_instance.expandoJsObject] = jsObject;
+ return dartClass_instance;
+} catch(e, stacktrace){
+ if (e is DebugAssertException)
+ window.console.log("${e.message}\n ${stacktrace}");
+ else
+ window.console.log("${stacktrace}");
+}
+}
+
+class DebugAssertException implements Exception {
+ String message;
+ DebugAssertException(this.message);
+}
+
+debug_or_assert(message, expression) {
+ if (!expression) {
+ throw new DebugAssertException("$message");
+ }
+}
+
+// Wrap JsObject node list to return a List<node>.
+List<Node> wrap_jso_list(jso_nodes) {
+ List<Node> nodes = new List<Node>();
+ var collectionLen = jso_nodes['length'];
+ for (var i = 0; i < collectionLen; i++) {
+ nodes.add(wrap_jso(jso_nodes.callMethod('item', [i])));
+ }
+ var frozen_nodes = new _FrozenElementList._wrap(nodes);
+ frozen_nodes.dartClass_instance = jso_nodes;
+ return frozen_nodes;
+}
+$else
+unwrap_jso(dartClass_instance) => dartClass_instance;
+wrap_jso(jsObject) => jsObject;
+wrap_jso_list(jso_nodes) => jso_nodes;
+make_dart_rectangle(r) => r;
+$endif
diff --git a/tools/dom/templates/html/dartium/indexed_db_dartium.darttemplate b/tools/dom/templates/html/dartium/indexed_db_dartium.darttemplate
index 256a12a..62dd7e9 100644
--- a/tools/dom/templates/html/dartium/indexed_db_dartium.darttemplate
+++ b/tools/dom/templates/html/dartium/indexed_db_dartium.darttemplate
@@ -109,3 +109,10 @@
final indexed_dbBlinkMap = {
$!TYPE_MAP
};
+
+$if JSINTEROP
+// FIXME: Can we make this private?
+final indexed_dbBlinkFunctionMap = {
+$!TYPE_FUNCTION_MAP
+};
+$endif
diff --git a/tools/dom/templates/html/dartium/svg_dartium.darttemplate b/tools/dom/templates/html/dartium/svg_dartium.darttemplate
index faa3d4f..6dff8b6 100644
--- a/tools/dom/templates/html/dartium/svg_dartium.darttemplate
+++ b/tools/dom/templates/html/dartium/svg_dartium.darttemplate
@@ -26,3 +26,10 @@
final svgBlinkMap = {
$!TYPE_MAP
};
+
+$if JSINTEROP
+// FIXME: Can we make this private?
+final svgBlinkFunctionMap = {
+$!TYPE_FUNCTION_MAP
+};
+$endif
diff --git a/tools/dom/templates/html/dartium/web_audio_dartium.darttemplate b/tools/dom/templates/html/dartium/web_audio_dartium.darttemplate
index 52ed27d..c79c9d4 100644
--- a/tools/dom/templates/html/dartium/web_audio_dartium.darttemplate
+++ b/tools/dom/templates/html/dartium/web_audio_dartium.darttemplate
@@ -20,3 +20,10 @@
final web_audioBlinkMap = {
$!TYPE_MAP
};
+
+$if JSINTEROP
+// FIXME: Can we make this private?
+final web_audioBlinkFunctionMap = {
+$!TYPE_FUNCTION_MAP
+};
+$endif
diff --git a/tools/dom/templates/html/dartium/web_gl_dartium.darttemplate b/tools/dom/templates/html/dartium/web_gl_dartium.darttemplate
index 86c642c..5f12a23 100644
--- a/tools/dom/templates/html/dartium/web_gl_dartium.darttemplate
+++ b/tools/dom/templates/html/dartium/web_gl_dartium.darttemplate
@@ -22,3 +22,10 @@
final web_glBlinkMap = {
$!TYPE_MAP
};
+
+$if JSINTEROP
+// FIXME: Can we make this private?
+final web_glBlinkFunctionMap = {
+$!TYPE_FUNCTION_MAP
+};
+$endif
diff --git a/tools/dom/templates/html/dartium/web_sql_dartium.darttemplate b/tools/dom/templates/html/dartium/web_sql_dartium.darttemplate
index f31353e..9823042 100644
--- a/tools/dom/templates/html/dartium/web_sql_dartium.darttemplate
+++ b/tools/dom/templates/html/dartium/web_sql_dartium.darttemplate
@@ -27,3 +27,10 @@
final web_sqlBlinkMap = {
$!TYPE_MAP
};
+
+$if JSINTEROP
+// FIXME: Can we make this private?
+final web_sqlBlinkFunctionMap = {
+$!TYPE_FUNCTION_MAP
+};
+$endif
\ No newline at end of file
diff --git a/tools/dom/templates/html/impl/impl_CSSStyleDeclaration.darttemplate b/tools/dom/templates/html/impl/impl_CSSStyleDeclaration.darttemplate
index 186848e..12caf8c 100644
--- a/tools/dom/templates/html/impl/impl_CSSStyleDeclaration.darttemplate
+++ b/tools/dom/templates/html/impl/impl_CSSStyleDeclaration.darttemplate
@@ -11,8 +11,18 @@
part of $LIBRARYNAME;
+$if DART2JS
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME $EXTENDS with
$(CLASSNAME)Base $IMPLEMENTS {
+$else
+ $if JSINTEROP
+$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS) class $CLASSNAME extends
+ $(CLASSNAME)Base $IMPLEMENTS {
+ $else
+$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME $EXTENDS with
+ $(CLASSNAME)Base $IMPLEMENTS {
+ $endif
+$endif
factory $CLASSNAME() => new CssStyleDeclaration.css('');
factory $CLASSNAME.css(String css) {
@@ -59,10 +69,14 @@
return _hasProperty(propertyName);
$endif
}
-$if DARTIUM
+$if DARTIUM
bool _hasProperty(String propertyName) =>
+ $if JSINTEROP
+ _blink.BlinkCSSStyleDeclaration.instance.$__propertyQuery___Callback_1_(unwrap_jso(this), propertyName) != null;
+ $else
_blink.BlinkCSSStyleDeclaration.$__propertyQuery___Callback_1(this, propertyName);
+ $endif
$endif
@DomName('CSSStyleDeclaration.setProperty')
@@ -1132,7 +1146,15 @@
$endif
}
+$if DART2JS
class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
+$else
+ $if JSINTEROP
+class _CssStyleDeclarationSet extends CssStyleDeclarationBase {
+ $else
+class _CssStyleDeclarationSet extends Object with CssStyleDeclarationBase {
+ $endif
+$endif
final Iterable<Element> _elementIterable;
Iterable<CssStyleDeclaration> _elementCssStyleDeclarationSetIterable;
@@ -1618,9 +1640,23 @@
// items in the MEMBERS set if you want that functionality.
}
+$if DART2JS
abstract class CssStyleDeclarationBase {
String getPropertyValue(String propertyName);
void setProperty(String propertyName, String value, [String priority]);
+$else
+ $if JSINTEROP
+class CssStyleDeclarationBase {
+ String getPropertyValue(String propertyName) =>
+ throw new StateError('getProperty not overridden in dart:html');
+ void setProperty(String propertyName, String value, [String priority]) =>
+ throw new StateError('setProperty not overridden in dart:html');
+ $else
+abstract class CssStyleDeclarationBase {
+ String getPropertyValue(String propertyName);
+ void setProperty(String propertyName, String value, [String priority]);
+ $endif
+$endif
/** Gets the value of "align-content" */
String get alignContent =>
diff --git a/tools/dom/templates/html/impl/impl_Document.darttemplate b/tools/dom/templates/html/impl/impl_Document.darttemplate
index 0640f99..a9b19cf 100644
--- a/tools/dom/templates/html/impl/impl_Document.darttemplate
+++ b/tools/dom/templates/html/impl/impl_Document.darttemplate
@@ -26,7 +26,11 @@
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
ElementList<Element> querySelectorAll(String selectors) {
+$if JSINTEROP
+ return _querySelectorAll(selectors);
+$else
return new _FrozenElementList._wrap(_querySelectorAll(selectors));
+$endif
}
/**
@@ -66,12 +70,16 @@
$if DART2JS
return _createElement(tagName, typeExtension);
$else
- if (typeExtension != null) {
- return _createElement(tagName, typeExtension);
- } else {
- // Fast-path for Dartium when typeExtension is not needed.
- return _Utils.createElement(this, tagName);
- }
+ $if JSINTEROP
+ return _createElement(tagName, typeExtension);
+ $else
+ if (typeExtension != null) {
+ return _createElement(tagName, typeExtension);
+ } else {
+ // Fast-path for Dartium when typeExtension is not needed.
+ return _Utils.createElement(this, tagName);
+ }
+ $endif
$endif
}
diff --git a/tools/dom/templates/html/impl/impl_DocumentFragment.darttemplate b/tools/dom/templates/html/impl/impl_DocumentFragment.darttemplate
index d533e49..122b6f9 100644
--- a/tools/dom/templates/html/impl/impl_DocumentFragment.darttemplate
+++ b/tools/dom/templates/html/impl/impl_DocumentFragment.darttemplate
@@ -58,8 +58,11 @@
* [CSS selector specification](http://www.w3.org/TR/css3-selectors/).
*/
ElementList<Element> querySelectorAll(String selectors) =>
+$if JSINTEROP
+ _querySelectorAll(selectors);
+$else
new _FrozenElementList._wrap(_querySelectorAll(selectors));
-
+$endif
String get innerHtml {
diff --git a/tools/dom/templates/html/impl/impl_Element.darttemplate b/tools/dom/templates/html/impl/impl_Element.darttemplate
index fcf3c0c..6f5ae1b 100644
--- a/tools/dom/templates/html/impl/impl_Element.darttemplate
+++ b/tools/dom/templates/html/impl/impl_Element.darttemplate
@@ -263,7 +263,15 @@
implements ElementList, NodeListWrapper {
final List<Node> _nodeList;
+$if JSINTEROP
+ var dartClass_instance;
+
+ _FrozenElementList._wrap(this._nodeList) {
+ this.dartClass_instance = this._nodeList;
+ }
+$else
_FrozenElementList._wrap(this._nodeList);
+$endif
int get length => _nodeList.length;
@@ -572,7 +580,15 @@
* element.style.background = 'red'; // Turns every child of body red.
* }
*/
+$if DART2JS
List<Element> get children => new _ChildrenElementList._wrap(this);
+$else
+ $if JSINTEROP
+ List<Element> get children => new FilteredElementList(this);
+ $else
+ List<Element> get children => new _ChildrenElementList._wrap(this);
+ $endif
+$endif
void set children(List<Element> value) {
// Copy list first since we don't want liveness during iteration.
@@ -595,7 +611,11 @@
*/
@DomName('Element.querySelectorAll')
ElementList<Element> querySelectorAll(String selectors) =>
+$if JSINTEROP
+ _querySelectorAll(selectors);
+$else
new _FrozenElementList._wrap(_querySelectorAll(selectors));
+$endif
/**
* Alias for [querySelector]. Note this function is deprecated because its
@@ -1017,7 +1037,7 @@
if (treeSanitizer is _TrustedHtmlTreeSanitizer) {
_insertAdjacentHtml(where, html);
} else {
- _insertAdjacentNode(where, new DocumentFragment.html(html,
+ _insertAdjacentNode(where, createFragment(html,
validator: validator, treeSanitizer: treeSanitizer));
}
}
@@ -1308,10 +1328,11 @@
if (_parseDocument == null) {
_parseDocument = document.implementation.createHtmlDocument('');
_parseRange = _parseDocument.createRange();
-
- // Workaround for Chrome bug 229142- URIs are not resolved in new doc.
- var base = _parseDocument.createElement('base');
- base.href = document.baseUri;
+
+ // Workaround for Safari bug. Was also previously Chrome bug 229142
+ // - URIs are not resolved in new doc.
+ var base = _parseDocument.createElement('base');
+ base.href = document.baseUri;
_parseDocument.head.append(base);
}
var contextElement;
@@ -1322,7 +1343,8 @@
_parseDocument.body.append(contextElement);
}
var fragment;
- if (Range.supportsCreateContextualFragment) {
+ if (Range.supportsCreateContextualFragment &&
+ _canBeUsedToCreateContextualFragment) {
_parseRange.selectNodeContents(contextElement);
fragment = _parseRange.createContextualFragment(html);
} else {
@@ -1344,6 +1366,24 @@
return fragment;
}
+ /** Test if createContextualFragment is supported for this element type */
+ bool get _canBeUsedToCreateContextualFragment =>
+ !_cannotBeUsedToCreateContextualFragment;
+
+ /** Test if createContextualFragment is NOT supported for this element type */
+ bool get _cannotBeUsedToCreateContextualFragment =>
+ _tagsForWhichCreateContextualFragmentIsNotSupported.contains(tagName);
+
+ /**
+ * A hard-coded list of the tag names for which createContextualFragment
+ * isn't supported.
+ */
+ static const _tagsForWhichCreateContextualFragmentIsNotSupported =
+ const ['HEAD', 'AREA',
+ 'BASE', 'BASEFONT', 'BR', 'COL', 'COLGROUP', 'EMBED', 'FRAME', 'FRAMESET',
+ 'HR', 'IMAGE', 'IMG', 'INPUT', 'ISINDEX', 'LINK', 'META', 'PARAM',
+ 'SOURCE', 'STYLE', 'TITLE', 'WBR'];
+
/**
* Parses the HTML fragment and sets it as the contents of this element.
*
@@ -1487,6 +1527,63 @@
int get scrollWidth => JS('num', '#.scrollWidth', this).round();
$else
+ $if JSINTEROP
+ @DomName('Element.offsetHeight')
+ @DocsEditable()
+ int get offsetHeight => _blink.BlinkElement.instance.offsetHeight_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.offsetLeft')
+ @DocsEditable()
+ int get offsetLeft => _blink.BlinkElement.instance.offsetLeft_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.offsetTop')
+ @DocsEditable()
+ int get offsetTop => _blink.BlinkElement.instance.offsetTop_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.offsetWidth')
+ @DocsEditable()
+ int get offsetWidth => _blink.BlinkElement.instance.offsetWidth_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.clientHeight')
+ @DocsEditable()
+ int get clientHeight => _blink.BlinkElement.instance.clientHeight_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.clientLeft')
+ @DocsEditable()
+ int get clientLeft => _blink.BlinkElement.instance.clientLeft_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.clientTop')
+ @DocsEditable()
+ int get clientTop => _blink.BlinkElement.instance.clientTop_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.clientWidth')
+ @DocsEditable()
+ int get clientWidth => _blink.BlinkElement.instance.clientWidth_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.scrollHeight')
+ @DocsEditable()
+ int get scrollHeight => _blink.BlinkElement.instance.scrollHeight_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.scrollLeft')
+ @DocsEditable()
+ int get scrollLeft => _blink.BlinkElement.instance.scrollLeft_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.scrollLeft')
+ @DocsEditable()
+ void set scrollLeft(int value) => _blink.BlinkElement.instance.scrollLeft_Setter_(unwrap_jso(this), value.round());
+
+ @DomName('Element.scrollTop')
+ @DocsEditable()
+ int get scrollTop => _blink.BlinkElement.instance.scrollTop_Getter_(unwrap_jso(this)).round();
+
+ @DomName('Element.scrollTop')
+ @DocsEditable()
+ void set scrollTop(int value) => _blink.BlinkElement.instance.scrollTop_Setter_(unwrap_jso(this), value.round());
+
+ @DomName('Element.scrollWidth')
+ @DocsEditable()
+ int get scrollWidth => _blink.BlinkElement.instance.scrollWidth_Getter_(unwrap_jso(this)).round();
+ $else
@DomName('Element.offsetHeight')
@DocsEditable()
int get offsetHeight => _blink.BlinkElement.offsetHeight_Getter(this).round();
@@ -1542,6 +1639,7 @@
@DomName('Element.scrollWidth')
@DocsEditable()
int get scrollWidth => _blink.BlinkElement.scrollWidth_Getter(this).round();
+ $endif
$endif
$!MEMBERS
diff --git a/tools/dom/templates/html/impl/impl_FileReader.darttemplate b/tools/dom/templates/html/impl/impl_FileReader.darttemplate
index c7bc8ba..0864441 100644
--- a/tools/dom/templates/html/impl/impl_FileReader.darttemplate
+++ b/tools/dom/templates/html/impl/impl_FileReader.darttemplate
@@ -13,7 +13,7 @@
$if DART2JS
var res = JS('Null|String|NativeByteBuffer', '#.result', this);
$else
- var res = _blink.BlinkFileReader.result_Getter(this);
+ var res = _blink.BlinkFileReader.result_Getter(unwrap_jso(this));
$endif
if (res is ByteBuffer) {
return new Uint8List.view(res);
diff --git a/tools/dom/templates/html/impl/impl_MutationObserver.darttemplate b/tools/dom/templates/html/impl/impl_MutationObserver.darttemplate
index 4208322..d45e98a 100644
--- a/tools/dom/templates/html/impl/impl_MutationObserver.darttemplate
+++ b/tools/dom/templates/html/impl/impl_MutationObserver.darttemplate
@@ -18,6 +18,22 @@
'!!(window.MutationObserver || window.WebKitMutationObserver)');
$endif
}
+$if DARTIUM
+ @DocsEditable()
+ $if JSINTEROP
+ static MutationObserver _create(callback) => wrap_jso(_blink.BlinkMutationObserver.instance.constructorCallback_1_((List<MutationRecord> mutations, MutationObserver observer) {
+ var wrapped_mutations = [];
+ for (var mutation in mutations) {
+ // Wrap the Javascript object for each MutationRecord.
+ wrapped_mutations.add(wrap_jso(mutation));
+ }
+ // Wrap the MutationObserver too.
+ callback(wrapped_mutations, wrap_jso(observer));
+ }));
+ $else
+ static MutationObserver _create(callback) => _blink.BlinkMutationObserver.instance.constructorCallback_1_(callback);
+ $endif
+$endif
/**
* Observes the target for the specified changes.
diff --git a/tools/dom/templates/html/impl/impl_Node.darttemplate b/tools/dom/templates/html/impl/impl_Node.darttemplate
index 166c346..2a751d7 100644
--- a/tools/dom/templates/html/impl/impl_Node.darttemplate
+++ b/tools/dom/templates/html/impl/impl_Node.darttemplate
@@ -276,5 +276,68 @@
String value = nodeValue; // Fetch DOM Node property once.
return value == null ? super.toString() : value;
}
+
+$if JSINTEROP
+ List<Node> _childNodes;
+
+ /**
+ * A list of this node's children.
+ *
+ * ## Other resources
+ *
+ * * [Node.childNodes]
+ * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
+ * from MDN.
+ */
+ @DomName('Node.childNodes')
+ @DocsEditable()
+ @Returns('NodeList')
+ @Creates('NodeList')
+ List<Node> get childNodes {
+ if (_childNodes == null) {
+ List<Node> nodes = new List<Node>();
+ var jsCollection = _blink.BlinkNode.instance.childNodes_Getter_(unwrap_jso(this));
+ var collectionLen = jsCollection['length'];
+ for (var i = 0; i < collectionLen; i++) {
+ nodes.add(wrap_jso(jsCollection.callMethod('item', [i])));
+ }
+ _childNodes = nodes;
+ }
+ return _childNodes;
+ }
+$else
+ $if DARTIUM
+ /**
+ * A list of this node's children.
+ *
+ * ## Other resources
+ *
+ * * [Node.childNodes]
+ * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
+ * from MDN.
+ */
+ @DomName('Node.childNodes')
+ @DocsEditable()
+ @Returns('NodeList')
+ @Creates('NodeList')
+ List<Node> get childNodes => _blink.BlinkNode.instance.childNodes_Getter_(this);
+ $else
+ /**
+ * A list of this node's children.
+ *
+ * ## Other resources
+ *
+ * * [Node.childNodes]
+ * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes)
+ * from MDN.
+ */
+ @DomName('Node.childNodes')
+ @DocsEditable()
+ @Returns('NodeList')
+ @Creates('NodeList')
+ final List<Node> childNodes;
+
+ $endif
+$endif
$!MEMBERS
}
diff --git a/tools/dom/templates/html/impl/impl_SVGElement.darttemplate b/tools/dom/templates/html/impl/impl_SVGElement.darttemplate
index 378dec8..2eaafe6 100644
--- a/tools/dom/templates/html/impl/impl_SVGElement.darttemplate
+++ b/tools/dom/templates/html/impl/impl_SVGElement.darttemplate
@@ -56,7 +56,7 @@
CssClassSet get classes => new _AttributeClassSet(this);
- List<Element> get children => new FilteredElementList<Element>(this);
+ List<Element> get children => new FilteredElementList(this);
void set children(List<Element> value) {
final children = this.children;
diff --git a/tools/dom/templates/html/impl/impl_Touch.darttemplate b/tools/dom/templates/html/impl/impl_Touch.darttemplate
index 095e6a0..fbab125 100644
--- a/tools/dom/templates/html/impl/impl_Touch.darttemplate
+++ b/tools/dom/templates/html/impl/impl_Touch.darttemplate
@@ -20,14 +20,14 @@
int get __radiusX => JS('num', '#.radiusX', this).round();
int get __radiusY => JS('num', '#.radiusY', this).round();
$else
- int get __clientX => _blink.BlinkTouch.clientX_Getter(this).round();
- int get __clientY => _blink.BlinkTouch.clientY_Getter(this).round();
- int get __screenX => _blink.BlinkTouch.screenX_Getter(this).round();
- int get __screenY => _blink.BlinkTouch.screenY_Getter(this).round();
- int get __pageX => _blink.BlinkTouch.pageX_Getter(this).round();
- int get __pageY => _blink.BlinkTouch.pageY_Getter(this).round();
- int get __radiusX => _blink.BlinkTouch.radiusX_Getter(this).round();
- int get __radiusY => _blink.BlinkTouch.radiusY_Getter(this).round();
+ int get __clientX => _blink.BlinkTouch.clientX_Getter(unwrap_jso(this)).round();
+ int get __clientY => _blink.BlinkTouch.clientY_Getter(unwrap_jso(this)).round();
+ int get __screenX => _blink.BlinkTouch.screenX_Getter(unwrap_jso(this)).round();
+ int get __screenY => _blink.BlinkTouch.screenY_Getter(unwrap_jso(this)).round();
+ int get __pageX => _blink.BlinkTouch.pageX_Getter(unwrap_jso(this)).round();
+ int get __pageY => _blink.BlinkTouch.pageY_Getter(unwrap_jso(this)).round();
+ int get __radiusX => _blink.BlinkTouch.radiusX_Getter(unwrap_jso(this)).round();
+ int get __radiusY => _blink.BlinkTouch.radiusY_Getter(unwrap_jso(this)).round();
$endif
@DomName('Touch.clientX')
diff --git a/tools/dom/templates/html/impl/impl_Window.darttemplate b/tools/dom/templates/html/impl/impl_Window.darttemplate
index 81ee2b1..b119a08 100644
--- a/tools/dom/templates/html/impl/impl_Window.darttemplate
+++ b/tools/dom/templates/html/impl/impl_Window.darttemplate
@@ -296,19 +296,19 @@
$else
@DomName('Window.pageXOffset')
@DocsEditable()
- int get pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(this).round();
+ int get pageXOffset => _blink.BlinkWindow.instance.pageXOffset_Getter_(unwrap_jso(this)).round();
@DomName('Window.pageYOffset')
@DocsEditable()
- int get pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(this).round();
+ int get pageYOffset => _blink.BlinkWindow.instance.pageYOffset_Getter_(unwrap_jso(this)).round();
@DomName('Window.scrollX')
@DocsEditable()
- int get scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(this).round();
+ int get scrollX => _blink.BlinkWindow.instance.scrollX_Getter_(unwrap_jso(this)).round();
@DomName('Window.scrollY')
@DocsEditable()
- int get scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(this).round();
+ int get scrollY => _blink.BlinkWindow.instance.scrollY_Getter_(unwrap_jso(this)).round();
$endif
}
diff --git a/tools/gyp/configurations_make.gypi b/tools/gyp/configurations_make.gypi
index d8f7965..9f8b0e2 100644
--- a/tools/gyp/configurations_make.gypi
+++ b/tools/gyp/configurations_make.gypi
@@ -10,6 +10,9 @@
'configurations': {
'Dart_Linux_Base': {
'abstract': 1,
+ 'defines': [
+ '_FORTIFY_SOURCE=2',
+ ],
'cflags': [
'-Werror',
'<@(common_gcc_warning_flags)',
@@ -25,6 +28,12 @@
'-fno-exceptions',
# '-fvisibility=hidden',
# '-fvisibility-inlines-hidden',
+ '-fstack-protector',
+ ],
+ 'ldflags': [
+ '-Wa,--noexecstack',
+ '-Wl,-z,now',
+ '-Wl,-z,relro',
],
},