Files
sdk/tests/compiler/dart2js/analyses/api_allowed.json
T
Johnni Winther 225b8d5075 Specialize Object properties in static type computation
This normalizes all accesses of Object properties on dynamic receivers
to target the corresponding Object members.

CFE already set the interface target on for instance `a == b` where `a`
has static type `dynamic` but didn't for the implicit call to `==` in
for instance `a?.b`.

Change-Id: I4f714766ac33a431f5ef645df7ee1bbb254c06ce
Reviewed-on: https://dart-review.googlesource.com/76123
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
2018-09-27 09:51:01 +00:00

325 lines
12 KiB
JSON

{
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/js_number.dart": {
"Dynamic invocation of '[]'.": 5,
"Dynamic invocation of '<'.": 4,
"Dynamic invocation of '>='.": 1,
"Dynamic invocation of '<='.": 1,
"Dynamic invocation of '>'.": 2
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/js_helper.dart": {
"Dynamic invocation of '[]'.": 3,
"Dynamic access of 'isNaN'.": 3,
"Dynamic invocation of '<='.": 4,
"Dynamic invocation of '-'.": 4,
"Dynamic invocation of '>>'.": 2,
"Dynamic invocation of '&'.": 3,
"Dynamic invocation of '<'.": 6,
"Dynamic invocation of '>'.": 4,
"Dynamic invocation of '+'.": 1,
"Dynamic access of '_js_helper::_self'.": 1,
"Dynamic access of '_js_helper::_target'.": 1,
"Dynamic access of '_js_helper::_receiver'.": 1,
"Dynamic access of 'length'.": 3,
"Dynamic invocation of '>='.": 1,
"Dynamic invocation of 'substring'.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/string_helper.dart": {
"Dynamic invocation of '<'.": 1,
"Dynamic invocation of '+'.": 1,
"Dynamic invocation of '>='.": 1,
"Dynamic invocation of 'substring'.": 7,
"Dynamic invocation of 'allMatches'.": 4,
"Dynamic access of 'isNotEmpty'.": 1,
"Dynamic invocation of '_js_helper::_execGlobal'.": 1,
"Dynamic access of 'start'.": 1,
"Dynamic access of 'end'.": 1,
"Dynamic access of 'length'.": 4,
"Dynamic invocation of '[]'.": 2,
"Dynamic invocation of 'call'.": 13,
"Dynamic invocation of 'codeUnitAt'.": 2,
"Dynamic access of 'iterator'.": 2,
"Dynamic invocation of 'replaceRange'.": 2
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/linked_hash_map.dart": {
"Dynamic access of '_js_helper::_length'.": 2,
"Dynamic access of '_js_helper::_modifications'.": 4,
"Dynamic invocation of 'containsKey'.": 1,
"Dynamic access of '_js_helper::_first'.": 2
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/js_rti.dart": {
"Dynamic invocation of '<'.": 1,
"Dynamic invocation of '-'.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/native_helper.dart": {
"Dynamic access of 'length'.": 2,
"Dynamic invocation of '[]'.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/regexp_helper.dart": {
"Dynamic access of 'length'.": 1,
"Dynamic invocation of '-'.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/native_typed_data.dart": {
"Dynamic invocation of '>'.": 1,
"Dynamic invocation of '|'.": 3,
"Dynamic invocation of '>='.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/async_patch.dart": {
"Dynamic invocation of '-'.": 1,
"Dynamic access of 'iterator'.": 1,
"Dynamic invocation of 'call'.": 4,
"Dynamic invocation of 'then'.": 1
},
"org-dartlang-sdk:///sdk/lib/async/future.dart": {
"Dynamic invocation of 'call'.": 1
},
"org-dartlang-sdk:///sdk/lib/async/stream.dart": {
"Dynamic invocation of 'dart.async::_addError'.": 1
},
"org-dartlang-sdk:///sdk/lib/async/async_error.dart": {
"Dynamic invocation of 'call'.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/collection_patch.dart": {
"Dynamic access of 'dart.collection::_length'.": 2,
"Dynamic invocation of 'dart.collection::_computeKeys'.": 2,
"Dynamic invocation of 'containsKey'.": 2,
"Dynamic access of 'dart.collection::_keys'.": 2,
"Dynamic access of 'length'.": 1,
"Dynamic access of 'isEmpty'.": 1,
"Dynamic access of 'dart.collection::_modifications'.": 5,
"Dynamic access of 'dart.collection::_map'.": 4,
"Dynamic access of 'dart.collection::_elements'.": 1,
"Dynamic access of 'dart.collection::_element'.": 1,
"Dynamic access of 'dart.collection::_first'.": 1
},
"org-dartlang-sdk:///sdk/lib/collection/iterable.dart": {
"Dynamic access of 'length'.": 2,
"Dynamic invocation of '+'.": 2
},
"org-dartlang-sdk:///sdk/lib/html/dart2js/html_dart2js.dart": {
"Dynamic access of 'style'.": 1,
"Dynamic access of 'left'.": 3,
"Dynamic access of 'top'.": 3,
"Dynamic access of 'width'.": 2,
"Dynamic access of 'height'.": 2,
"Dynamic invocation of 'remove'.": 2,
"Dynamic update to 'dart.dom.html::_innerHtml'.": 1,
"Dynamic access of 'firstChild'.": 2,
"Dynamic invocation of 'append'.": 1,
"Dynamic access of 'tagName'.": 2,
"Dynamic invocation of 'round'.": 20,
"Dynamic invocation of 'toList'.": 1,
"Dynamic access of 'right'.": 1,
"Dynamic access of 'bottom'.": 1,
"Dynamic invocation of 'call'.": 1,
"Dynamic invocation of 'dart.dom.html::_initKeyboardEvent'.": 1,
"Dynamic access of 'attributes'.": 1,
"Dynamic invocation of '[]'.": 1,
"Dynamic invocation of 'toLowerCase'.": 1,
"Dynamic invocation of 'attached'.": 1,
"Dynamic invocation of 'detached'.": 1,
"Dynamic invocation of 'attributeChanged'.": 1,
"Dynamic invocation of 'createElement'.": 1
},
"org-dartlang-sdk:///sdk/lib/html/html_common/conversions.dart": {
"Dynamic invocation of '[]='.": 2,
"Dynamic access of 'length'.": 1,
"Dynamic invocation of '[]'.": 1
},
"org-dartlang-sdk:///sdk/lib/html/html_common/filtered_element_list.dart": {
"Dynamic invocation of 'remove'.": 1
},
"org-dartlang-sdk:///sdk/lib/indexed_db/dart2js/indexed_db_dart2js.dart": {
"Dynamic access of 'onUpgradeNeeded'.": 1,
"Dynamic invocation of 'listen'.": 2,
"Dynamic access of 'onBlocked'.": 1
},
"org-dartlang-sdk:///sdk/lib/io/directory_impl.dart": {
"Dynamic invocation of '[]'.": 10
},
"org-dartlang-sdk:///sdk/lib/io/file_impl.dart": {
"Dynamic invocation of 'cancel'.": 1,
"Dynamic invocation of 'pause'.": 1,
"Dynamic invocation of 'resume'.": 1,
"Dynamic invocation of '[]'.": 4,
"Dynamic access of 'length'.": 2
},
"org-dartlang-sdk:///sdk/lib/io/file_system_entity.dart": {
"Dynamic invocation of '[]'.": 7
},
"org-dartlang-sdk:///sdk/lib/io/io_resource_info.dart": {
"Dynamic invocation of 'containsKey'.": 1,
"Dynamic invocation of '[]'.": 1,
"Dynamic access of 'path'.": 1,
"Dynamic access of 'dart.io::_path'.": 1,
"Dynamic access of 'pid'.": 1,
"Dynamic access of 'dart.io::_arguments'.": 1,
"Dynamic access of 'dart.io::_workingDirectory'.": 2,
"Dynamic access of 'isListening'.": 3,
"Dynamic access of 'address'.": 4,
"Dynamic access of 'host'.": 5,
"Dynamic access of 'port'.": 3,
"Dynamic access of 'remoteAddress'.": 2,
"Dynamic access of 'remotePort'.": 2,
"Dynamic access of 'isTcp'.": 1,
"Dynamic access of 'type'.": 1,
"Dynamic access of 'name'.": 1
},
"org-dartlang-sdk:///sdk/lib/io/link.dart": {
"Dynamic invocation of '[]'.": 3
},
"org-dartlang-sdk:///sdk/lib/io/platform_impl.dart": {
"Dynamic invocation of 'indexOf'.": 1,
"Dynamic invocation of '>'.": 1,
"Dynamic invocation of 'substring'.": 2,
"Dynamic invocation of '+'.": 1
},
"org-dartlang-sdk:///sdk/lib/io/secure_server_socket.dart": {
"Dynamic update to 'dart.io::_owner'.": 1
},
"org-dartlang-sdk:///sdk/lib/io/secure_socket.dart": {
"Dynamic invocation of 'dart.io::_detachRaw'.": 2,
"Dynamic invocation of '[]'.": 10,
"Dynamic access of 'dart.io::_socket'.": 1,
"Dynamic access of 'closedReadEventSent'.": 1,
"Dynamic access of 'host'.": 1,
"Dynamic update to 'dart.io::_owner'.": 1,
"Dynamic access of 'length'.": 1,
"Dynamic invocation of '~/'.": 1,
"Dynamic invocation of '+'.": 2,
"Dynamic invocation of '-'.": 7
},
"org-dartlang-sdk:///sdk/lib/io/stdio.dart": {
"Dynamic invocation of 'writeFromSync'.": 1,
"Dynamic invocation of 'cancel'.": 1,
"Dynamic invocation of 'closeSync'.": 1,
"Dynamic access of 'dart.io::_stream'.": 1
},
"org-dartlang-sdk:///sdk/lib/io/common.dart": {
"Dynamic invocation of '[]'.": 3
},
"org-dartlang-sdk:///sdk/lib/js/dart2js/js_dart2js.dart": {
"Dynamic invocation of '[]'.": 1
},
"org-dartlang-sdk:///sdk/lib/svg/dart2js/svg_dart2js.dart": {
"Dynamic invocation of 'createFragment'.": 1,
"Dynamic access of 'nodes'.": 1,
"Dynamic invocation of 'where'.": 1,
"Dynamic access of 'single'.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/core_patch.dart": {
"Dynamic access of 'dart.core::_digits'.": 2,
"Dynamic invocation of '<'.": 2,
"Dynamic invocation of '+'.": 2,
"Dynamic invocation of '[]'.": 19,
"Dynamic invocation of 'dart.core::_absSubSetSign'.": 3,
"Dynamic invocation of 'dart.core::_absAndNotSetSign'.": 2,
"Dynamic invocation of 'dart.core::_absAddSetSign'.": 2,
"Dynamic invocation of 'dart.core::_absXorSetSign'.": 1,
"Dynamic invocation of '[]='.": 2,
"Dynamic invocation of '&'.": 6,
"Dynamic invocation of '-'.": 1,
"Dynamic invocation of '>='.": 1
},
"org-dartlang-sdk:///sdk/lib/core/date_time.dart": {
"Dynamic access of 'dart.core::_value'.": 1,
"Dynamic access of 'isUtc'.": 1
},
"org-dartlang-sdk:///sdk/lib/core/duration.dart": {
"Dynamic access of 'dart.core::_duration'.": 1
},
"org-dartlang-sdk:///sdk/lib/core/errors.dart": {
"Dynamic access of 'length'.": 2,
"Dynamic invocation of '<'.": 2,
"Dynamic invocation of '~'.": 1,
"Dynamic invocation of '^'.": 1,
"Dynamic invocation of '&'.": 1,
"Dynamic invocation of '|'.": 1,
"Dynamic invocation of '>>'.": 1,
"Dynamic invocation of '<<'.": 1,
"Dynamic invocation of '+'.": 1,
"Dynamic invocation of 'unary-'.": 1,
"Dynamic invocation of '-'.": 1,
"Dynamic invocation of '*'.": 1,
"Dynamic invocation of '/'.": 1,
"Dynamic invocation of '~/'.": 1,
"Dynamic invocation of '>'.": 1,
"Dynamic invocation of '>='.": 1,
"Dynamic invocation of '<='.": 1,
"Dynamic invocation of '%'.": 1,
"Dynamic invocation of 'length'.": 1
},
"org-dartlang-sdk:///sdk/lib/core/exceptions.dart": {
"Dynamic access of 'length'.": 3,
"Dynamic invocation of 'codeUnitAt'.": 2,
"Dynamic invocation of 'substring'.": 1
},
"org-dartlang-sdk:///sdk/lib/core/uri.dart": {
"Dynamic access of 'isEmpty'.": 1,
"Dynamic invocation of 'startsWith'.": 1,
"Dynamic invocation of 'add'.": 1
},
"org-dartlang-sdk:///sdk/lib/math/point.dart": {
"Dynamic access of 'x'.": 1,
"Dynamic access of 'y'.": 1
},
"org-dartlang-sdk:///sdk/lib/math/rectangle.dart": {
"Dynamic access of 'left'.": 1,
"Dynamic access of 'top'.": 1,
"Dynamic access of 'right'.": 1,
"Dynamic access of 'bottom'.": 1
},
"org-dartlang-sdk:///sdk/lib/_internal/js_runtime/lib/convert_patch.dart": {
"Dynamic invocation of 'clear'.": 1
},
"org-dartlang-sdk:///sdk/lib/convert/encoding.dart": {
"Dynamic invocation of 'write'.": 1
},
"org-dartlang-sdk:///sdk/lib/convert/json.dart": {
"Dynamic invocation of 'toJson'.": 1
},
"org-dartlang-sdk:///sdk/lib/isolate/isolate.dart": {
"Dynamic invocation of '[]'.": 2
},
"org-dartlang-sdk:///sdk/lib/_http/crypto.dart": {
"Dynamic invocation of '+'.": 2,
"Dynamic invocation of '&'.": 3,
"Dynamic invocation of '-'.": 2,
"Dynamic invocation of 'unary-'.": 1
},
"org-dartlang-sdk:///sdk/lib/_http/http_date.dart": {
"Dynamic access of 'length'.": 3,
"Dynamic invocation of '<'.": 1,
"Dynamic invocation of '>='.": 2,
"Dynamic invocation of '[]'.": 7
},
"org-dartlang-sdk:///sdk/lib/_http/http_headers.dart": {
"Dynamic invocation of 'toLowerCase'.": 1,
"Dynamic access of 'length'.": 1,
"Dynamic invocation of 'codeUnitAt'.": 1
},
"org-dartlang-sdk:///sdk/lib/_http/http_impl.dart": {
"Dynamic access of 'message'.": 3,
"Dynamic invocation of 'split'.": 1,
"Dynamic invocation of 'trim'.": 1,
"Dynamic invocation of 'toLowerCase'.": 1,
"Dynamic invocation of 'call'.": 1,
"Dynamic invocation of 'destroy'.": 2,
"Dynamic invocation of 'setOption'.": 1,
"Dynamic access of 'address'.": 2,
"Dynamic access of 'host'.": 2,
"Dynamic access of 'port'.": 2,
"Dynamic access of 'remoteAddress'.": 1,
"Dynamic access of 'remotePort'.": 1,
"Dynamic invocation of 'dart._http::_toJSON'.": 3,
"Dynamic invocation of 'listen'.": 1,
"Dynamic invocation of 'close'.": 1
},
"org-dartlang-sdk:///sdk/lib/_http/websocket_impl.dart": {
"Dynamic invocation of 'transform'.": 1,
"Dynamic invocation of 'listen'.": 1,
"Dynamic access of 'address'.": 1,
"Dynamic access of 'host'.": 1,
"Dynamic access of 'port'.": 1,
"Dynamic invocation of 'dart._http::_toJSON'.": 1
}
}