mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 04:37:12 +00:00
[dart2js] Clean up (pre-)NNBD unit test configurations.
Change-Id: Ife85aafa90b1b0347fabb6e95f3d6c00c5307cd2 Bug: https://github.com/dart-lang/sdk/issues/42063 Fixes: https://github.com/dart-lang/sdk/issues/42063 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152440 Reviewed-by: Joshua Litt <joshualitt@google.com> Commit-Queue: Mayank Patke <fishythefish@google.com>
This commit is contained in:
parent
a9bef090e8
commit
3b67681bcc
|
@ -11,14 +11,12 @@ import '../util/colors.dart' as colors;
|
|||
const String cfeMarker = 'cfe';
|
||||
const String cfeWithNnbdMarker = '$cfeMarker:nnbd';
|
||||
const String dart2jsMarker = 'dart2js';
|
||||
const String dart2jsWithNnbdSdkMarker = '$dart2jsMarker:nnbd-sdk';
|
||||
const String analyzerMarker = 'analyzer';
|
||||
|
||||
/// Markers used in annotated tests shared by CFE, analyzer and dart2js.
|
||||
const List<String> sharedMarkers = [
|
||||
cfeMarker,
|
||||
dart2jsMarker,
|
||||
dart2jsWithNnbdSdkMarker,
|
||||
analyzerMarker,
|
||||
];
|
||||
|
||||
|
@ -33,7 +31,6 @@ const List<String> sharedMarkersWithNnbd = [
|
|||
cfeMarker,
|
||||
cfeWithNnbdMarker,
|
||||
dart2jsMarker,
|
||||
dart2jsWithNnbdSdkMarker,
|
||||
analyzerMarker,
|
||||
];
|
||||
|
||||
|
|
|
@ -20,10 +20,10 @@ main() {
|
|||
print(/*Double(0.5)*/ double0);
|
||||
print(
|
||||
/*cfe|analyzer.Symbol(foo)*/
|
||||
/*dart2js|dart2js:nnbd-sdk.Instance(Symbol,{_name:String(foo))*/
|
||||
/*dart2js.Instance(Symbol,{_name:String(foo))*/
|
||||
symbol0);
|
||||
print(
|
||||
/*cfe|analyzer.Symbol(foo)*/
|
||||
/*dart2js|dart2js:nnbd-sdk.Instance(Symbol,{_name:String(foo))*/
|
||||
/*dart2js.Instance(Symbol,{_name:String(foo))*/
|
||||
symbol1);
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
String method() => 'foo';
|
||||
|
||||
const String string0 =
|
||||
/*cfe|dart2js|dart2js:nnbd-sdk.error: Method invocation is not a constant expression.*/
|
||||
/*cfe|dart2js.error: Method invocation is not a constant expression.*/
|
||||
method();
|
||||
|
||||
main() {
|
||||
|
|
|
@ -15,15 +15,17 @@ const Map<String, int> Function(String, int) instantiation1 =
|
|||
|
||||
main() {
|
||||
print(
|
||||
/*cfe|dart2js|dart2js:nnbd-sdk.Function(method1)*/
|
||||
/*cfe|dart2js.Function(method1)*/
|
||||
/*analyzer.Function(method1,type=T Function<T>(T))*/
|
||||
function0);
|
||||
print(
|
||||
/*cfe|dart2js.Instantiation(method1<int>)*/
|
||||
/*cfe.Instantiation(method1<int>)*/
|
||||
/*dart2js.Instantiation(method1<int*>)*/
|
||||
/*analyzer.Function(method1,type=int Function(int))*/
|
||||
/*dart2js:nnbd-sdk.Instantiation(method1<int*>)*/ instantiation0);
|
||||
instantiation0);
|
||||
print(
|
||||
/*cfe|dart2js.Instantiation(method2<String,int>)*/
|
||||
/*cfe.Instantiation(method2<String,int>)*/
|
||||
/*dart2js.Instantiation(method2<String*,int*>)*/
|
||||
/*analyzer.Function(method2,type=Map<String, int> Function(String, int))*/
|
||||
/*dart2js:nnbd-sdk.Instantiation(method2<String*,int*>)*/ instantiation1);
|
||||
instantiation1);
|
||||
}
|
||||
|
|
|
@ -17,11 +17,11 @@ const list4 = /*cfe.List<int>(Int(42),Int(87))*/ [42, 87];
|
|||
main() {
|
||||
print(/*List<dynamic>()*/ list0);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.List<int>()*/ /*dart2js:nnbd-sdk.List<int*>()*/ list1);
|
||||
/*cfe|analyzer.List<int>()*/ /*dart2js.List<int*>()*/ list1);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.List<int>()*/ /*dart2js:nnbd-sdk.List<int*>()*/ list2);
|
||||
/*cfe|analyzer.List<int>()*/ /*dart2js.List<int*>()*/ list2);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.List<int>(Int(42))*/ /*dart2js:nnbd-sdk.List<int*>(Int(42))*/ list3);
|
||||
/*cfe|analyzer.List<int>(Int(42))*/ /*dart2js.List<int*>(Int(42))*/ list3);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.List<int>(Int(42),Int(87))*/ /*dart2js:nnbd-sdk.List<int*>(Int(42),Int(87))*/ list4);
|
||||
/*cfe|analyzer.List<int>(Int(42),Int(87))*/ /*dart2js.List<int*>(Int(42),Int(87))*/ list4);
|
||||
}
|
||||
|
|
|
@ -18,11 +18,11 @@ const map4 = /*cfe.Map<String,int>(String(foo):Int(42),String(bar):Int(87))*/
|
|||
main() {
|
||||
print(/*Map<dynamic,dynamic>()*/ map0);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Map<String,int>()*/ /*dart2js:nnbd-sdk.Map<String*,int*>()*/ map1);
|
||||
/*cfe|analyzer.Map<String,int>()*/ /*dart2js.Map<String*,int*>()*/ map1);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Map<String,int>()*/ /*dart2js:nnbd-sdk.Map<String*,int*>()*/ map2);
|
||||
/*cfe|analyzer.Map<String,int>()*/ /*dart2js.Map<String*,int*>()*/ map2);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Map<String,int>(String(foo):Int(42))*/ /*dart2js:nnbd-sdk.Map<String*,int*>(String(foo):Int(42))*/ map3);
|
||||
/*cfe|analyzer.Map<String,int>(String(foo):Int(42))*/ /*dart2js.Map<String*,int*>(String(foo):Int(42))*/ map3);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Map<String,int>(String(foo):Int(42),String(bar):Int(87))*/ /*dart2js:nnbd-sdk.Map<String*,int*>(String(foo):Int(42),String(bar):Int(87))*/ map4);
|
||||
/*cfe|analyzer.Map<String,int>(String(foo):Int(42),String(bar):Int(87))*/ /*dart2js.Map<String*,int*>(String(foo):Int(42),String(bar):Int(87))*/ map4);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
cfe=pkg/front_end/test/id_tests/constant_test.dart
|
||||
analyzer=pkg/analyzer/test/id_tests/constant_test.dart
|
||||
dart2js=pkg/compiler/test/model/cfe_constant_test.dart
|
||||
dart2js:nnbd-sdk=pkg/compiler/test/model/cfe_constant_test.dart
|
|
@ -22,11 +22,11 @@ const set4 = /*cfe.Set<int>(Int(42),Int(87))*/ {42, 87};
|
|||
main() {
|
||||
print(/*Set<dynamic>()*/ set0);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Set<int>()*/ /*dart2js:nnbd-sdk.Set<int*>()*/ set1);
|
||||
/*cfe|analyzer.Set<int>()*/ /*dart2js.Set<int*>()*/ set1);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Set<int>()*/ /*dart2js:nnbd-sdk.Set<int*>()*/ set2);
|
||||
/*cfe|analyzer.Set<int>()*/ /*dart2js.Set<int*>()*/ set2);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Set<int>(Int(42))*/ /*dart2js:nnbd-sdk.Set<int*>(Int(42))*/ set3);
|
||||
/*cfe|analyzer.Set<int>(Int(42))*/ /*dart2js.Set<int*>(Int(42))*/ set3);
|
||||
print(
|
||||
/*cfe|analyzer|dart2js.Set<int>(Int(42),Int(87))*/ /*dart2js:nnbd-sdk.Set<int*>(Int(42),Int(87))*/ set4);
|
||||
/*cfe|analyzer.Set<int>(Int(42),Int(87))*/ /*dart2js.Set<int*>(Int(42),Int(87))*/ set4);
|
||||
}
|
||||
|
|
|
@ -22,27 +22,27 @@ const null_ = /*cfe.TypeLiteral(Null)*/ Null;
|
|||
main() {
|
||||
print(
|
||||
/*cfe|analyzer.TypeLiteral(dynamic Function())*/
|
||||
/*dart2js|dart2js:nnbd-sdk.TypeLiteral(()->dynamic)*/
|
||||
/*dart2js.TypeLiteral(()->dynamic)*/
|
||||
typedef);
|
||||
|
||||
print(
|
||||
/*cfe|analyzer.TypeLiteral(void Function(dynamic))*/
|
||||
/*dart2js|dart2js:nnbd-sdk.TypeLiteral((dynamic)->void)*/
|
||||
/*dart2js.TypeLiteral((dynamic)->void)*/
|
||||
genericTypedef);
|
||||
|
||||
print(
|
||||
/*cfe|analyzer.TypeLiteral(void Function<T>(T))*/
|
||||
/*dart2js|dart2js:nnbd-sdk.TypeLiteral((0)->void)*/
|
||||
/*dart2js.TypeLiteral((0)->void)*/
|
||||
genericFunctionTypedef);
|
||||
|
||||
print(
|
||||
/*cfe|analyzer.TypeLiteral(void Function<T>(FutureOr<T>))*/
|
||||
/*dart2js|dart2js:nnbd-sdk.TypeLiteral((FutureOr<0>)->void)*/
|
||||
/*dart2js.TypeLiteral((FutureOr<0>)->void)*/
|
||||
typedefWithFutureOr);
|
||||
|
||||
print(
|
||||
/*cfe|analyzer.TypeLiteral(FutureOr<dynamic>)*/
|
||||
/*dart2js|dart2js:nnbd-sdk.TypeLiteral(dynamic)*/
|
||||
/*dart2js.TypeLiteral(dynamic)*/
|
||||
futureOr);
|
||||
|
||||
print(
|
||||
|
|
|
@ -51,7 +51,6 @@
|
|||
},
|
||||
"org-dartlang-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:///lib/_internal/js_runtime/lib/async_patch.dart": {
|
||||
|
@ -60,9 +59,6 @@
|
|||
"Dynamic invocation of 'call'.": 4,
|
||||
"Dynamic invocation of 'then'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/async/async_error.dart": {
|
||||
"Dynamic invocation of 'call'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/collection_patch.dart": {
|
||||
"Dynamic access of 'dart.collection::_length'.": 2,
|
||||
"Dynamic invocation of 'dart.collection::_computeKeys'.": 2,
|
||||
|
@ -81,7 +77,6 @@
|
|||
"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 'call'.": 2,
|
||||
"Dynamic invocation of 'dart.dom.html::_initKeyboardEvent'.": 1,
|
||||
|
@ -99,18 +94,10 @@
|
|||
"org-dartlang-sdk:///lib/html/html_common/filtered_element_list.dart": {
|
||||
"Dynamic invocation of 'remove'.": 1
|
||||
},
|
||||
"org-dartlang-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:///lib/io/directory_impl.dart": {
|
||||
"Dynamic invocation of '[]'.": 10
|
||||
},
|
||||
"org-dartlang-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
|
||||
},
|
||||
|
@ -118,7 +105,6 @@
|
|||
"Dynamic invocation of '[]'.": 7
|
||||
},
|
||||
"org-dartlang-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,
|
||||
|
@ -152,10 +138,7 @@
|
|||
"Dynamic invocation of 'dart.io::_detachRaw'.": 2,
|
||||
"Dynamic access of 'closedReadEventSent'.": 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
|
||||
"Dynamic access of 'length'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/stdio.dart": {
|
||||
"Dynamic invocation of 'writeFromSync'.": 1,
|
||||
|
@ -200,9 +183,6 @@
|
|||
},
|
||||
"org-dartlang-sdk:///lib/_http/http_impl.dart": {
|
||||
"Dynamic access of 'message'.": 3,
|
||||
"Dynamic invocation of 'trim'.": 1,
|
||||
"Dynamic invocation of 'toLowerCase'.": 1,
|
||||
"Dynamic invocation of 'split'.": 1,
|
||||
"Dynamic invocation of 'call'.": 1,
|
||||
"Dynamic invocation of 'destroy'.": 2,
|
||||
"Dynamic invocation of 'setOption'.": 1,
|
||||
|
@ -216,9 +196,6 @@
|
|||
"Dynamic invocation of 'close'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_http/websocket_impl.dart": {
|
||||
"Dynamic access of 'address'.": 1,
|
||||
"Dynamic access of 'host'.": 1,
|
||||
"Dynamic access of 'port'.": 1,
|
||||
"Dynamic invocation of 'dart._http::_toJSON'.": 1
|
||||
}
|
||||
}
|
|
@ -1,201 +0,0 @@
|
|||
{
|
||||
"org-dartlang-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:///lib/_internal/js_runtime/lib/js_helper.dart": {
|
||||
"Dynamic invocation of '[]'.": 3,
|
||||
"Dynamic access of 'isNaN'.": 3,
|
||||
"Dynamic invocation of '<='.": 2,
|
||||
"Dynamic invocation of '-'.": 3,
|
||||
"Dynamic invocation of '&'.": 1,
|
||||
"Dynamic invocation of '>>'.": 1,
|
||||
"Dynamic invocation of '<'.": 2,
|
||||
"Dynamic invocation of '+'.": 1,
|
||||
"Dynamic invocation of '>'.": 1,
|
||||
"Dynamic access of 'length'.": 1
|
||||
},
|
||||
"org-dartlang-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'.": 3,
|
||||
"Dynamic access of 'isNotEmpty'.": 1,
|
||||
"Dynamic invocation of '_js_helper::_execGlobal'.": 1,
|
||||
"Dynamic access of 'start'.": 1,
|
||||
"Dynamic access of 'end'.": 1,
|
||||
"Dynamic invocation of 'call'.": 13,
|
||||
"Dynamic access of 'length'.": 3,
|
||||
"Dynamic invocation of 'codeUnitAt'.": 2,
|
||||
"Dynamic invocation of '[]'.": 1,
|
||||
"Dynamic access of 'iterator'.": 2,
|
||||
"Dynamic invocation of 'replaceRange'.": 2
|
||||
},
|
||||
"org-dartlang-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:///lib/_internal/js_runtime/lib/native_helper.dart": {
|
||||
"Dynamic access of 'length'.": 2,
|
||||
"Dynamic invocation of '[]'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/regexp_helper.dart": {
|
||||
"Dynamic access of 'length'.": 1,
|
||||
"Dynamic invocation of '-'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/native_typed_data.dart": {
|
||||
"Dynamic invocation of '>'.": 1,
|
||||
"Dynamic invocation of '>='.": 1
|
||||
},
|
||||
"org-dartlang-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:///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:///lib/html/dart2js/html_dart2js.dart": {
|
||||
"Dynamic access of 'style'.": 1,
|
||||
"Dynamic invocation of 'remove'.": 2,
|
||||
"Dynamic update to 'dart.dom.html::_innerHtml'.": 1,
|
||||
"Dynamic access of 'firstChild'.": 2,
|
||||
"Dynamic access of 'tagName'.": 2,
|
||||
"Dynamic invocation of 'call'.": 2,
|
||||
"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:///lib/html/html_common/conversions.dart": {
|
||||
"Dynamic invocation of '[]='.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/html/html_common/filtered_element_list.dart": {
|
||||
"Dynamic invocation of 'remove'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/directory_impl.dart": {
|
||||
"Dynamic invocation of '[]'.": 10
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/file_impl.dart": {
|
||||
"Dynamic invocation of '[]'.": 4,
|
||||
"Dynamic access of 'length'.": 2
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/file_system_entity.dart": {
|
||||
"Dynamic invocation of '[]'.": 7
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/io_resource_info.dart": {
|
||||
"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:///lib/io/link.dart": {
|
||||
"Dynamic invocation of '[]'.": 3
|
||||
},
|
||||
"org-dartlang-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:///lib/io/secure_server_socket.dart": {
|
||||
"Dynamic update to 'dart.io::_owner'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/secure_socket.dart": {
|
||||
"Dynamic invocation of '[]'.": 10,
|
||||
"Dynamic invocation of 'dart.io::_detachRaw'.": 2,
|
||||
"Dynamic access of 'closedReadEventSent'.": 1,
|
||||
"Dynamic update to 'dart.io::_owner'.": 1,
|
||||
"Dynamic access of 'length'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/stdio.dart": {
|
||||
"Dynamic invocation of 'writeFromSync'.": 1,
|
||||
"Dynamic invocation of 'cancel'.": 1,
|
||||
"Dynamic invocation of 'closeSync'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/io/common.dart": {
|
||||
"Dynamic invocation of '[]'.": 3
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/js_patch.dart": {
|
||||
"Dynamic invocation of '[]'.": 1
|
||||
},
|
||||
"org-dartlang-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:///lib/core/errors.dart": {
|
||||
"Dynamic access of 'length'.": 2
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_internal/js_runtime/lib/convert_patch.dart": {
|
||||
"Dynamic invocation of 'clear'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/convert/json.dart": {
|
||||
"Dynamic invocation of 'toJson'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_http/crypto.dart": {
|
||||
"Dynamic invocation of '+'.": 2,
|
||||
"Dynamic invocation of '&'.": 3,
|
||||
"Dynamic invocation of 'unary-'.": 1,
|
||||
"Dynamic invocation of '-'.": 2
|
||||
},
|
||||
"org-dartlang-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:///lib/_http/http_headers.dart": {
|
||||
"Dynamic invocation of 'toLowerCase'.": 1
|
||||
},
|
||||
"org-dartlang-sdk:///lib/_http/http_impl.dart": {
|
||||
"Dynamic access of 'message'.": 3,
|
||||
"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:///lib/_http/websocket_impl.dart": {
|
||||
"Dynamic invocation of 'dart._http::_toJSON'.": 1
|
||||
}
|
||||
}
|
|
@ -5,13 +5,12 @@
|
|||
// @dart = 2.7
|
||||
|
||||
import 'package:async_helper/async_helper.dart';
|
||||
import '../helpers/memory_compiler.dart';
|
||||
import 'analysis_helper.dart';
|
||||
|
||||
// TODO(johnniwinther): Remove unneeded dynamic accesses from platform source
|
||||
// code.
|
||||
main(List<String> args) {
|
||||
var goldenFile = isDart2jsNnbd ? 'api_allowed_nnbd.json' : 'api_allowed.json';
|
||||
var goldenFile = 'api_allowed.json';
|
||||
asyncTest(() async {
|
||||
await run(
|
||||
Uri.parse('memory:main.dart'), 'pkg/compiler/test/analyses/$goldenFile',
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/annotations/annotations_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/annotations/annotations_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/annotations/annotations_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/annotations/annotations_test.dart
|
||||
spec=pkg/compiler/test/annotations/annotations_test.dart
|
||||
prod=pkg/compiler/test/annotations/annotations_test.dart
|
||||
|
|
|
@ -58,12 +58,12 @@ class Class1<T> {
|
|||
}
|
||||
|
||||
var local2 =
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[S,this],free=[S,this],hasThis*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.hasThis*/
|
||||
/*prod.hasThis*/
|
||||
/*spec.fields=[S,this],free=[S,this],hasThis*/
|
||||
(o) {
|
||||
return
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[S,this],free=[S,this],hasThis*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.hasThis*/
|
||||
/*prod.hasThis*/
|
||||
/*spec.fields=[S,this],free=[S,this],hasThis*/
|
||||
() => new Map<T, S>();
|
||||
};
|
||||
return local2(local<double>());
|
||||
|
|
|
@ -7,8 +7,7 @@
|
|||
T id<T>(T t) => t;
|
||||
|
||||
method<S>(S s) {
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[S],free=[S]*/
|
||||
/*prod:nnbd-off.*/
|
||||
/*spec.fields=[S],free=[S]*/
|
||||
S Function(S) getId() => id;
|
||||
return getId();
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@ class B<S> {
|
|||
/*member: B.method:hasThis*/
|
||||
method() {
|
||||
return
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[this],free=[this],hasThis*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.hasThis*/
|
||||
/*spec.fields=[this],free=[this],hasThis*/
|
||||
/*prod.hasThis*/
|
||||
() {
|
||||
F<S> c = f;
|
||||
return c;
|
||||
|
|
|
@ -10,8 +10,7 @@ typedef int F<R>(R a);
|
|||
|
||||
method<S>() {
|
||||
return
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[S],free=[S]*/
|
||||
/*prod:nnbd-off.*/
|
||||
/*spec.fields=[S],free=[S]*/
|
||||
() {
|
||||
F<S> c = f;
|
||||
return c;
|
||||
|
|
|
@ -11,8 +11,8 @@ class A<T> {
|
|||
/*member: A.method:hasThis*/
|
||||
@pragma('dart2js:noInline')
|
||||
method() {
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.hasThis*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[this],free=[this],hasThis*/
|
||||
/*spec.fields=[this],free=[this],hasThis*/
|
||||
/*prod.hasThis*/
|
||||
dynamic local() => <T>[];
|
||||
return local;
|
||||
}
|
||||
|
|
|
@ -8,8 +8,7 @@ import 'package:expect/expect.dart';
|
|||
|
||||
@pragma('dart2js:noInline')
|
||||
method<T>() {
|
||||
/*prod:nnbd-off.*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[T],free=[T]*/
|
||||
/*spec.fields=[T],free=[T]*/
|
||||
dynamic local() => <T>[];
|
||||
return local;
|
||||
}
|
||||
|
|
|
@ -11,8 +11,8 @@ class A<T> {
|
|||
/*member: A.method:hasThis*/
|
||||
@pragma('dart2js:noInline')
|
||||
method() {
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.hasThis*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[this],free=[this],hasThis*/
|
||||
/*spec.fields=[this],free=[this],hasThis*/
|
||||
/*prod.hasThis*/
|
||||
dynamic local() => <T, int>{};
|
||||
return local;
|
||||
}
|
||||
|
|
|
@ -8,8 +8,7 @@ import 'package:expect/expect.dart';
|
|||
|
||||
@pragma('dart2js:noInline')
|
||||
method<T>() {
|
||||
/*prod:nnbd-off.*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[T],free=[T]*/
|
||||
/*spec.fields=[T],free=[T]*/
|
||||
dynamic local() => <T, int>{};
|
||||
return local;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/closure/closure_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/closure/closure_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/closure/closure_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/closure/closure_test.dart
|
||||
spec=pkg/compiler/test/closure/closure_test.dart
|
||||
prod=pkg/compiler/test/closure/closure_test.dart
|
||||
|
|
|
@ -40,8 +40,8 @@ class Class2<T> {
|
|||
class Class3<T> {
|
||||
/*member: Class3.method3:hasThis*/
|
||||
method3(dynamic o) {
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.fields=[o],free=[o],hasThis*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[o,this],free=[o,this],hasThis*/
|
||||
/*spec.fields=[o,this],free=[o,this],hasThis*/
|
||||
/*prod.fields=[o],free=[o],hasThis*/
|
||||
T local() => o;
|
||||
return local;
|
||||
}
|
||||
|
|
|
@ -32,8 +32,8 @@ method2<T>(dynamic o) {
|
|||
|
||||
/*member: method3:*/
|
||||
method3<T>(dynamic o) {
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[T,o],free=[T,o]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.fields=[o],free=[o]*/
|
||||
/*spec.fields=[T,o],free=[T,o]*/
|
||||
/*prod.fields=[o],free=[o]*/
|
||||
T local() => o;
|
||||
return local;
|
||||
}
|
||||
|
|
|
@ -50,8 +50,8 @@ class Class1b<T> {
|
|||
class Class2<T> {
|
||||
/*member: Class2.method2:hasThis*/
|
||||
method2() {
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.hasThis*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[this],free=[this],hasThis*/
|
||||
/*spec.fields=[this],free=[this],hasThis*/
|
||||
/*prod.hasThis*/
|
||||
dynamic local(T t) => t;
|
||||
return local;
|
||||
}
|
||||
|
@ -65,8 +65,8 @@ class Class2<T> {
|
|||
class Class3<T> {
|
||||
/*member: Class3.method3:hasThis*/
|
||||
method3(dynamic o) {
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.fields=[o],free=[o],hasThis*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[o,this],free=[o,this],hasThis*/
|
||||
/*spec.fields=[o,this],free=[o,this],hasThis*/
|
||||
/*prod.fields=[o],free=[o],hasThis*/
|
||||
T local() => o;
|
||||
return local;
|
||||
}
|
||||
|
@ -108,8 +108,8 @@ class Class5<T> {
|
|||
class Class6<T> {
|
||||
/*member: Class6.method6:hasThis*/
|
||||
method6() {
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.hasThis*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[this],free=[this],hasThis*/
|
||||
/*spec.fields=[this],free=[this],hasThis*/
|
||||
/*prod.hasThis*/
|
||||
dynamic local(T t) {
|
||||
/*fields=[t],free=[t],hasThis*/
|
||||
dynamic inner() => t;
|
||||
|
@ -128,8 +128,8 @@ class Class6<T> {
|
|||
class Class7<T> {
|
||||
/*member: Class7.method7:hasThis*/
|
||||
method7(dynamic o) {
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.fields=[o],free=[o],hasThis*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[o,this],free=[o,this],hasThis*/
|
||||
/*spec.fields=[o,this],free=[o,this],hasThis*/
|
||||
/*prod.fields=[o],free=[o],hasThis*/
|
||||
T local() {
|
||||
/*fields=[o],free=[o],hasThis*/
|
||||
dynamic inner() => o;
|
||||
|
|
|
@ -23,8 +23,7 @@ method1<T>(T o) {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
method2<T>() {
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[T],free=[T]*/
|
||||
/*prod:nnbd-off.*/
|
||||
/*spec.fields=[T],free=[T]*/
|
||||
dynamic local(T t) => t;
|
||||
return local;
|
||||
}
|
||||
|
@ -34,8 +33,8 @@ method2<T>() {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
method3<T>(dynamic o) {
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[T,o],free=[T,o]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.fields=[o],free=[o]*/
|
||||
/*spec.fields=[T,o],free=[T,o]*/
|
||||
/*prod.fields=[o],free=[o]*/
|
||||
T local() => o;
|
||||
return local;
|
||||
}
|
||||
|
@ -65,8 +64,7 @@ T method5<T>(dynamic o) {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
method6<T>() {
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[T],free=[T]*/
|
||||
/*prod:nnbd-off.*/
|
||||
/*spec.fields=[T],free=[T]*/
|
||||
dynamic local(T t) {
|
||||
/*fields=[t],free=[t]*/
|
||||
dynamic inner() => t;
|
||||
|
@ -81,8 +79,8 @@ method6<T>() {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
method7<T>(dynamic o) {
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.fields=[T,o],free=[T,o]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.fields=[o],free=[o]*/
|
||||
/*spec.fields=[T,o],free=[T,o]*/
|
||||
/*prod.fields=[o],free=[o]*/
|
||||
T local() {
|
||||
/*fields=[o],free=[o]*/
|
||||
dynamic inner() => o;
|
||||
|
|
|
@ -26,23 +26,20 @@ method1(dynamic c) {
|
|||
}
|
||||
|
||||
class Class2a<T> {
|
||||
/*spec:nnbd-sdk.member: Class2a.field2:
|
||||
/*spec.member: Class2a.field2:
|
||||
checked,
|
||||
emitted
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class2a.field2:checked,emitted*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: Class2a.field2:emitted*/
|
||||
/*prod.member: Class2a.field2:emitted*/
|
||||
T field2;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method2:calls=[set$field2(1)],params=1*/
|
||||
/*prod:nnbd-off.member: method2:assign=[field2],params=1*/
|
||||
@pragma('dart2js:noInline')
|
||||
/*spec:nnbd-sdk.member: method2:
|
||||
/*spec.member: method2:
|
||||
calls=[set$field2(1)],
|
||||
params=1
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: method2:
|
||||
/*prod.member: method2:
|
||||
assign=[field2],
|
||||
params=1
|
||||
*/
|
||||
|
@ -51,30 +48,26 @@ method2(dynamic c) {
|
|||
}
|
||||
|
||||
class Class3a {
|
||||
/*spec:nnbd-sdk.member: Class3a.field3:
|
||||
/*spec.member: Class3a.field3:
|
||||
checked,
|
||||
emitted
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class3a.field3:
|
||||
/*prod.member: Class3a.field3:
|
||||
emitted,
|
||||
set=simple
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class3a.field3:checked,emitted*/
|
||||
/*prod:nnbd-off.member: Class3a.field3:emitted,set=simple*/
|
||||
int field3;
|
||||
}
|
||||
|
||||
class Class3b {
|
||||
/*spec:nnbd-sdk.member: Class3b.field3:
|
||||
/*spec.member: Class3b.field3:
|
||||
checked,
|
||||
emitted
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class3b.field3:
|
||||
/*prod.member: Class3b.field3:
|
||||
emitted,
|
||||
set=simple
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class3b.field3:checked,emitted*/
|
||||
/*prod:nnbd-off.member: Class3b.field3:emitted,set=simple*/
|
||||
int field3;
|
||||
}
|
||||
|
||||
|
@ -85,28 +78,24 @@ method3(dynamic c) {
|
|||
}
|
||||
|
||||
class Class4a {
|
||||
/*spec:nnbd-sdk.member: Class4a.field4:
|
||||
/*spec.member: Class4a.field4:
|
||||
checked,
|
||||
emitted
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class4a.field4:
|
||||
/*prod.member: Class4a.field4:
|
||||
emitted,
|
||||
set=simple
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class4a.field4:checked,emitted*/
|
||||
/*prod:nnbd-off.member: Class4a.field4:emitted,set=simple*/
|
||||
int field4;
|
||||
}
|
||||
|
||||
class Class4b implements Class4a {
|
||||
/*spec:nnbd-off.member: Class4b.field4:checked,emitted*/
|
||||
/*prod:nnbd-off.member: Class4b.field4:emitted,set=simple*/
|
||||
@override
|
||||
/*spec:nnbd-sdk.member: Class4b.field4:
|
||||
/*spec.member: Class4b.field4:
|
||||
checked,
|
||||
emitted
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class4b.field4:
|
||||
/*prod.member: Class4b.field4:
|
||||
emitted,
|
||||
set=simple
|
||||
*/
|
||||
|
|
|
@ -26,51 +26,45 @@ method1(dynamic c) {
|
|||
}
|
||||
|
||||
class Class2a<T> {
|
||||
/*spec:nnbd-sdk.member: Class2a.field2:
|
||||
/*spec.member: Class2a.field2:
|
||||
checked,
|
||||
elided
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class2a.field2:checked,elided*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: Class2a.field2:elided*/
|
||||
/*prod.member: Class2a.field2:elided*/
|
||||
T field2;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method2:calls=[set$field2(1)],params=1*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: method2:params=1*/
|
||||
@pragma('dart2js:noInline')
|
||||
/*spec:nnbd-sdk.member: method2:
|
||||
/*spec.member: method2:
|
||||
calls=[set$field2(1)],
|
||||
params=1
|
||||
*/
|
||||
/*prod.member: method2:params=1*/
|
||||
method2(dynamic c) {
|
||||
c.field2 = 42;
|
||||
}
|
||||
|
||||
class Class3a {
|
||||
/*spec:nnbd-sdk.member: Class3a.field3:
|
||||
/*spec.member: Class3a.field3:
|
||||
checked,
|
||||
elided
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class3a.field3:
|
||||
/*prod.member: Class3a.field3:
|
||||
elided,
|
||||
set=simple
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class3a.field3:checked,elided*/
|
||||
/*prod:nnbd-off.member: Class3a.field3:elided,set=simple*/
|
||||
int field3;
|
||||
}
|
||||
|
||||
class Class3b {
|
||||
/*spec:nnbd-sdk.member: Class3b.field3:
|
||||
/*spec.member: Class3b.field3:
|
||||
checked,
|
||||
elided
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class3b.field3:
|
||||
/*prod.member: Class3b.field3:
|
||||
elided,
|
||||
set=simple
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class3b.field3:checked,elided*/
|
||||
/*prod:nnbd-off.member: Class3b.field3:elided,set=simple*/
|
||||
int field3;
|
||||
}
|
||||
|
||||
|
@ -81,28 +75,24 @@ method3(dynamic c) {
|
|||
}
|
||||
|
||||
class Class4a {
|
||||
/*spec:nnbd-sdk.member: Class4a.field4:
|
||||
/*spec.member: Class4a.field4:
|
||||
checked,
|
||||
elided
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class4a.field4:
|
||||
/*prod.member: Class4a.field4:
|
||||
elided,
|
||||
set=simple
|
||||
*/
|
||||
/*spec:nnbd-off.member: Class4a.field4:checked,elided*/
|
||||
/*prod:nnbd-off.member: Class4a.field4:elided,set=simple*/
|
||||
int field4;
|
||||
}
|
||||
|
||||
class Class4b implements Class4a {
|
||||
/*spec:nnbd-off.member: Class4b.field4:checked,elided*/
|
||||
/*prod:nnbd-off.member: Class4b.field4:elided,set=simple*/
|
||||
@override
|
||||
/*spec:nnbd-sdk.member: Class4b.field4:
|
||||
/*spec.member: Class4b.field4:
|
||||
checked,
|
||||
elided
|
||||
*/
|
||||
/*prod:nnbd-sdk.member: Class4b.field4:
|
||||
/*prod.member: Class4b.field4:
|
||||
elided,
|
||||
set=simple
|
||||
*/
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/codegen/model_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/codegen/model_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/codegen/model_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/codegen/model_test.dart
|
||||
spec=pkg/compiler/test/codegen/model_test.dart
|
||||
prod=pkg/compiler/test/codegen/model_test.dart
|
||||
|
|
|
@ -20,8 +20,7 @@ void foo(I1 x) {}
|
|||
@pragma('dart2js:noInline')
|
||||
void bar(I2 x) {}
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: main:calls=[bar(1),bar(1),foo(1),foo(1)],params=0*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: main:
|
||||
/*member: main:
|
||||
calls=[
|
||||
bar(1),
|
||||
bar(1),
|
||||
|
|
|
@ -6,12 +6,7 @@
|
|||
|
||||
import 'lib1.dart' deferred as lib;
|
||||
|
||||
/*spec:nnbd-off.member: main:
|
||||
OutputUnit(main, {}),
|
||||
constants=[
|
||||
MapConstant(<int, dynamic Function({M b})>{IntConstant(1): FunctionConstant(f1), IntConstant(2): FunctionConstant(f2)})=OutputUnit(1, {lib})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: main:OutputUnit(main, {}),constants=[MapConstant(<int*, dynamic Function({M* b})*>{IntConstant(1): FunctionConstant(f1), IntConstant(2): FunctionConstant(f2)})=OutputUnit(1, {lib})]*/
|
||||
/*member: main:OutputUnit(main, {}),constants=[MapConstant(<int*, dynamic Function({M* b})*>{IntConstant(1): FunctionConstant(f1), IntConstant(2): FunctionConstant(f2)})=OutputUnit(1, {lib})]*/
|
||||
main() async {
|
||||
await lib.loadLibrary();
|
||||
print(lib.table[1]);
|
||||
|
|
|
@ -9,11 +9,7 @@ T getFoo<T>(T v) => v;
|
|||
|
||||
typedef dynamic G<T>(T v);
|
||||
|
||||
/*spec:nnbd-off.member: m:
|
||||
OutputUnit(1, {b}),
|
||||
constants=[InstantiationConstant([int],FunctionConstant(getFoo))=OutputUnit(1, {b})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: m:OutputUnit(1, {b}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(1, {b})]*/
|
||||
/*member: m:OutputUnit(1, {b}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(1, {b})]*/
|
||||
m(int x, {G<int> f: getFoo}) {
|
||||
print(f(x));
|
||||
}
|
||||
|
|
|
@ -9,12 +9,7 @@ T getFoo<T>(T v) => v;
|
|||
|
||||
typedef dynamic G<T>(T v);
|
||||
|
||||
/*spec:nnbd-off.member: m:
|
||||
OutputUnit(1, {b}),
|
||||
constants=[
|
||||
InstantiationConstant([int],FunctionConstant(getFoo))=OutputUnit(1, {b})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: m:OutputUnit(1, {b}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(1, {b})]*/
|
||||
/*member: m:OutputUnit(1, {b}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(1, {b})]*/
|
||||
m(int x, {G<int> f: getFoo}) {
|
||||
print(f(x));
|
||||
}
|
||||
|
|
|
@ -9,12 +9,7 @@ T getFoo<T, S>(T v, S w) => v;
|
|||
|
||||
typedef dynamic G<T, S>(T v, S w);
|
||||
|
||||
/*spec:nnbd-off.member: m:
|
||||
OutputUnit(3, {c}),
|
||||
constants=[
|
||||
InstantiationConstant([int, int],FunctionConstant(getFoo))=OutputUnit(3, {c})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: m:OutputUnit(3, {c}),constants=[InstantiationConstant([int*, int*],FunctionConstant(getFoo))=OutputUnit(3, {c})]*/
|
||||
/*member: m:OutputUnit(3, {c}),constants=[InstantiationConstant([int*, int*],FunctionConstant(getFoo))=OutputUnit(3, {c})]*/
|
||||
m(int x, int y, {G<int, int> f: getFoo}) {
|
||||
print(f(x, y));
|
||||
}
|
||||
|
|
|
@ -9,12 +9,7 @@ T getFoo<T>(T v) => v;
|
|||
|
||||
typedef dynamic G<T>(T v);
|
||||
|
||||
/*spec:nnbd-off.member: m:
|
||||
OutputUnit(2, {b}),
|
||||
constants=[
|
||||
InstantiationConstant([int],FunctionConstant(getFoo))=OutputUnit(2, {b})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: m:OutputUnit(2, {b}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(2, {b})]*/
|
||||
/*member: m:OutputUnit(2, {b}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(2, {b})]*/
|
||||
m(int x, {G<int> f: getFoo}) {
|
||||
print(f(x));
|
||||
}
|
||||
|
|
|
@ -9,12 +9,7 @@ T getFoo<T>(T v) => v;
|
|||
|
||||
typedef dynamic G<T>(T v);
|
||||
|
||||
/*spec:nnbd-off.member: m:
|
||||
OutputUnit(3, {c}),
|
||||
constants=[
|
||||
InstantiationConstant([int],FunctionConstant(getFoo))=OutputUnit(3, {c})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: m:OutputUnit(3, {c}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(3, {c})]*/
|
||||
/*member: m:OutputUnit(3, {c}),constants=[InstantiationConstant([int*],FunctionConstant(getFoo))=OutputUnit(3, {c})]*/
|
||||
m(int x, {G<int> f: getFoo}) {
|
||||
print(f(x));
|
||||
}
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
spec:nnbd-off=pkg/compiler/test/deferred_loading/deferred_loading_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/deferred_loading/deferred_loading_test.dart
|
||||
spec=pkg/compiler/test/deferred_loading/deferred_loading_test.dart
|
||||
|
|
|
@ -9,13 +9,7 @@ library lib2;
|
|||
import "package:expect/expect.dart";
|
||||
import "lib1.dart";
|
||||
|
||||
/*spec:nnbd-off.member: foo:
|
||||
OutputUnit(3, {lib2}),
|
||||
constants=[
|
||||
ListConstant(<Map<int,int>>[MapConstant(<int, int>{IntConstant(1): IntConstant(3)})])=OutputUnit(3, {lib2}),
|
||||
MapConstant(<int, int>{IntConstant(1): IntConstant(3)})=OutputUnit(3, {lib2})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: foo:OutputUnit(3, {lib2}),constants=[ListConstant(<Map<int*,int*>*>[MapConstant(<int*, int*>{IntConstant(1): IntConstant(3)})])=OutputUnit(3, {lib2}),MapConstant(<int*, int*>{IntConstant(1): IntConstant(3)})=OutputUnit(3, {lib2})]*/
|
||||
/*member: foo:OutputUnit(3, {lib2}),constants=[ListConstant(<Map<int*,int*>*>[MapConstant(<int*, int*>{IntConstant(1): IntConstant(3)})])=OutputUnit(3, {lib2}),MapConstant(<int*, int*>{IntConstant(1): IntConstant(3)})=OutputUnit(3, {lib2})]*/
|
||||
foo() {
|
||||
Expect.equals(1, C.foo());
|
||||
Expect.mapEquals({}, C1.foo);
|
||||
|
|
|
@ -8,15 +8,7 @@ import 'lib1.dart' deferred as lib1;
|
|||
import 'lib2.dart' as lib2;
|
||||
import 'lib3.dart' deferred as lib3;
|
||||
|
||||
/*spec:nnbd-off.member: main:
|
||||
OutputUnit(main, {}),
|
||||
constants=[
|
||||
ConstructedConstant(A<B>())=OutputUnit(1, {lib1}),
|
||||
ConstructedConstant(A<F>())=OutputUnit(1, {lib1}),
|
||||
ConstructedConstant(C<D>())=OutputUnit(main, {}),
|
||||
ConstructedConstant(E<F>())=OutputUnit(3, {lib3})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: main:OutputUnit(main, {}),constants=[ConstructedConstant(A<B*>())=OutputUnit(1, {lib1}),ConstructedConstant(A<F*>())=OutputUnit(1, {lib1}),ConstructedConstant(C<D*>())=OutputUnit(main, {}),ConstructedConstant(E<F*>())=OutputUnit(3, {lib3})]*/
|
||||
/*member: main:OutputUnit(main, {}),constants=[ConstructedConstant(A<B*>())=OutputUnit(1, {lib1}),ConstructedConstant(A<F*>())=OutputUnit(1, {lib1}),ConstructedConstant(C<D*>())=OutputUnit(main, {}),ConstructedConstant(E<F*>())=OutputUnit(3, {lib3})]*/
|
||||
main() async {
|
||||
await lib1.loadLibrary();
|
||||
lib1.field1;
|
||||
|
|
|
@ -36,7 +36,7 @@ main() {
|
|||
|
||||
asyncTest(() async {
|
||||
Map<fe.ExperimentalFlag, bool> baseFlags = {
|
||||
fe.ExperimentalFlag.nonNullable: isDart2jsNnbd
|
||||
fe.ExperimentalFlag.nonNullable: true
|
||||
};
|
||||
await runTest(baseFlags);
|
||||
});
|
||||
|
|
|
@ -27,54 +27,26 @@ export 'package:_fe_analyzer_shared/src/testing/id_testing.dart'
|
|||
show DataInterpreter, StringDataInterpreter;
|
||||
export '../helpers/memory_compiler.dart' show CollectedMessage;
|
||||
|
||||
const String specWithNnbdOffMarker = 'spec:nnbd-off';
|
||||
const String prodWithNnbdOffMarker = 'prod:nnbd-off';
|
||||
const String specWithNnbdSdkMarker = 'spec:nnbd-sdk';
|
||||
const String prodWithNnbdSdkMarker = 'prod:nnbd-sdk';
|
||||
const String specMarker = 'spec';
|
||||
const String prodMarker = 'prod';
|
||||
|
||||
const TestConfig specWithNnbdOffConfig = const TestConfig(
|
||||
specWithNnbdOffMarker, 'compliance mode with nnbd off', []);
|
||||
const TestConfig specConfig = TestConfig(specMarker, 'compliance mode', []);
|
||||
|
||||
const TestConfig prodWithNnbdOffConfig = const TestConfig(
|
||||
prodWithNnbdOffMarker,
|
||||
'production mode with nnbd off',
|
||||
const TestConfig prodConfig = TestConfig(prodMarker, 'production mode',
|
||||
[Flags.omitImplicitChecks, Flags.laxRuntimeTypeToString]);
|
||||
|
||||
const TestConfig specWithNnbdSdkConfig = const TestConfig(
|
||||
specWithNnbdSdkMarker, 'compliance mode with nnbd sdk', []);
|
||||
|
||||
const TestConfig prodWithNnbdSdkConfig = const TestConfig(
|
||||
prodWithNnbdSdkMarker,
|
||||
'production mode with nnbd sdk',
|
||||
[Flags.omitImplicitChecks, Flags.laxRuntimeTypeToString]);
|
||||
|
||||
const List<String> allInternalMarkers = const [
|
||||
specWithNnbdOffMarker,
|
||||
prodWithNnbdOffMarker,
|
||||
specWithNnbdSdkMarker,
|
||||
prodWithNnbdSdkMarker
|
||||
];
|
||||
|
||||
/// Default internal configurations not including experimental features.
|
||||
List<TestConfig> defaultInternalConfigs = isDart2jsNnbd
|
||||
? const [specWithNnbdSdkConfig, prodWithNnbdSdkConfig]
|
||||
: const [specWithNnbdOffConfig, prodWithNnbdOffConfig];
|
||||
const List<TestConfig> defaultInternalConfigs = [specConfig, prodConfig];
|
||||
|
||||
/// All internal configurations including experimental features.
|
||||
List<TestConfig> allInternalConfigs = isDart2jsNnbd
|
||||
? const [specWithNnbdSdkConfig, prodWithNnbdSdkConfig]
|
||||
: const [specWithNnbdOffConfig, prodWithNnbdOffConfig];
|
||||
const List<TestConfig> allInternalConfigs = [specConfig, prodConfig];
|
||||
|
||||
/// Compliance mode configurations (with strong mode checks) including
|
||||
/// experimental features.
|
||||
List<TestConfig> allSpecConfigs = isDart2jsNnbd
|
||||
? const [specWithNnbdSdkConfig]
|
||||
: const [specWithNnbdOffConfig];
|
||||
const List<TestConfig> allSpecConfigs = [specConfig];
|
||||
|
||||
/// Test configuration used in tests shared with CFE.
|
||||
TestConfig sharedConfig = isDart2jsNnbd
|
||||
? const TestConfig(dart2jsWithNnbdSdkMarker, 'dart2js with nnbd sdk', [])
|
||||
: const TestConfig(dart2jsMarker, 'dart2js', []);
|
||||
const TestConfig sharedConfig = TestConfig(dart2jsMarker, 'dart2js', []);
|
||||
|
||||
abstract class DataComputer<T> {
|
||||
const DataComputer();
|
||||
|
|
|
@ -19,8 +19,7 @@ class Class1 {
|
|||
}
|
||||
|
||||
class Class2 {
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.member: Class2.field2:constant=BoolConstant(true)*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.strong.member: Class2.field2:constant=BoolConstant(true)*/
|
||||
/*spec.member: Class2.field2:constant=BoolConstant(true)*/
|
||||
final bool field2;
|
||||
|
||||
const Class2({this.field2: false});
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/field_analysis/jfield_analysis_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/field_analysis/jfield_analysis_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/field_analysis/jfield_analysis_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/field_analysis/jfield_analysis_test.dart
|
||||
spec=pkg/compiler/test/field_analysis/jfield_analysis_test.dart
|
||||
prod=pkg/compiler/test/field_analysis/jfield_analysis_test.dart
|
||||
|
|
|
@ -178,12 +178,10 @@ class Class1 {
|
|||
/*member: Class1.field9b:constant=ListConstant([])*/
|
||||
var field9b = const [];
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class1.field9c:initial=ListConstant(<int>[IntConstant(0), IntConstant(1)])*/
|
||||
/*spec:nnbd-sdk.member: Class1.field9c:initial=ListConstant(<int*>[IntConstant(0), IntConstant(1)])*/
|
||||
/*spec.member: Class1.field9c:initial=ListConstant(<int*>[IntConstant(0), IntConstant(1)])*/
|
||||
var field9c = const [0, 1];
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class1.field9d:constant=ListConstant(<int>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
|
||||
/*spec:nnbd-sdk.member: Class1.field9d:constant=ListConstant(<int*>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
|
||||
/*spec.member: Class1.field9d:constant=ListConstant(<int*>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
|
||||
var field9d = const [0, 1, 2];
|
||||
|
||||
/*member: Class1.field10a:initial=MapConstant({})*/
|
||||
|
@ -192,12 +190,10 @@ class Class1 {
|
|||
/*member: Class1.field10b:constant=MapConstant({})*/
|
||||
var field10b = const {};
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class1.field10c:initial=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
|
||||
/*spec:nnbd-sdk.member: Class1.field10c:initial=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
|
||||
/*spec.member: Class1.field10c:initial=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
|
||||
var field10c = const {0: 1, 2: 3};
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class1.field10d:constant=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
|
||||
/*spec:nnbd-sdk.member: Class1.field10d:constant=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
|
||||
/*spec.member: Class1.field10d:constant=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
|
||||
var field10d = const {0: 1, 2: 3, 4: 5};
|
||||
|
||||
/*member: Class1.field11a:initial=ConstructedConstant(Symbol(_name=StringConstant("foo")))*/
|
||||
|
@ -274,12 +270,10 @@ class Class2 {
|
|||
/*member: Class2.field9b:constant=ListConstant([])*/
|
||||
var field9b;
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class2.field9c:initial=ListConstant(<int>[IntConstant(0), IntConstant(1)])*/
|
||||
/*spec:nnbd-sdk.member: Class2.field9c:initial=ListConstant(<int*>[IntConstant(0), IntConstant(1)])*/
|
||||
/*spec.member: Class2.field9c:initial=ListConstant(<int*>[IntConstant(0), IntConstant(1)])*/
|
||||
var field9c;
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class2.field9d:constant=ListConstant(<int>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
|
||||
/*spec:nnbd-sdk.member: Class2.field9d:constant=ListConstant(<int*>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
|
||||
/*spec.member: Class2.field9d:constant=ListConstant(<int*>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
|
||||
var field9d;
|
||||
|
||||
/*member: Class2.field10a:initial=MapConstant({})*/
|
||||
|
@ -288,12 +282,10 @@ class Class2 {
|
|||
/*member: Class2.field10b:constant=MapConstant({})*/
|
||||
var field10b;
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class2.field10c:initial=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
|
||||
/*spec:nnbd-sdk.member: Class2.field10c:initial=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
|
||||
/*spec.member: Class2.field10c:initial=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
|
||||
var field10c;
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off|prod:nnbd-sdk.member: Class2.field10d:constant=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
|
||||
/*spec:nnbd-sdk.member: Class2.field10d:constant=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
|
||||
/*spec.member: Class2.field10d:constant=MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
|
||||
var field10d;
|
||||
|
||||
/*member: Class2.field11a:initial=ConstructedConstant(Symbol(_name=StringConstant("foo")))*/
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/field_analysis/kfield_analysis_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/field_analysis/kfield_analysis_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/field_analysis/kfield_analysis_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/field_analysis/kfield_analysis_test.dart
|
||||
spec=pkg/compiler/test/field_analysis/kfield_analysis_test.dart
|
||||
prod=pkg/compiler/test/field_analysis/kfield_analysis_test.dart
|
||||
|
|
|
@ -9,7 +9,6 @@ import 'package:compiler/src/commandline_options.dart';
|
|||
import 'package:compiler/src/elements/entities.dart';
|
||||
import 'package:compiler/src/elements/types.dart';
|
||||
import 'package:expect/expect.dart';
|
||||
import '../helpers/memory_compiler.dart';
|
||||
import '../helpers/type_test_helper.dart';
|
||||
|
||||
const List<FunctionTypeData> existentialTypeData = const <FunctionTypeData>[
|
||||
|
@ -208,35 +207,7 @@ main() {
|
|||
|
||||
all.forEach(print);
|
||||
|
||||
List<ToStringTestData> toStringExpectedPreNnbd = [
|
||||
ToStringTestData(F1, 'void Function<#A>(#A)'),
|
||||
ToStringTestData(F2, 'void Function<#A>(#A)'),
|
||||
ToStringTestData(F3, 'void Function<#A,#B>(#A,#B)'),
|
||||
ToStringTestData(F4, 'void Function<#A,#B>(#B,#A)'),
|
||||
ToStringTestData(F5, 'void Function<#A extends num>(#A)'),
|
||||
ToStringTestData(F6, 'void Function<#A extends int>(#A)'),
|
||||
ToStringTestData(F7, 'void Function<#A extends num>(#A,[int])'),
|
||||
ToStringTestData(F8, '#A Function<#A extends num>(#A)'),
|
||||
ToStringTestData(F9, 'void Function<#A extends #B,#B>(#A,#B)'),
|
||||
ToStringTestData(F10, 'void Function<#A extends #B,#B>(#A,#B)'),
|
||||
ToStringTestData(F11, 'void Function<#A extends C3<#A>>(#A)'),
|
||||
ToStringTestData(F12, 'void Function<#A extends C3<#A>>(#A)'),
|
||||
ToStringTestData(F13, '#A Function<#A>(#A,#A)'),
|
||||
ToStringTestData(F14, '#A Function<#A>(#A,#A)'),
|
||||
ToStringTestData(
|
||||
F15, 'Map<C5.T,#A> Function<#A extends #B,#B extends C5.T>(#A,#B)'),
|
||||
ToStringTestData(
|
||||
F16, 'Map<C5.T,#A> Function<#A extends C5.T,#B extends #A>(#A,#B)'),
|
||||
ToStringTestData(F17,
|
||||
'C5.T Function<#A extends List<#B>,#B extends Map<C5.T,#A>>(#A,#B,Object)'),
|
||||
ToStringTestData(
|
||||
F18,
|
||||
'C5.T Function<#A extends C5.T>(['
|
||||
'#A2 Function<#A2 extends #A>(#A,#A2,C5.T),'
|
||||
'#A3 Function<#A3 extends #A>(#A,#A3,C5.T)])'),
|
||||
];
|
||||
|
||||
List<ToStringTestData> toStringExpectedNnbdWeak = [
|
||||
List<ToStringTestData> toStringExpected = [
|
||||
ToStringTestData(F1, 'void Function<#A>(#A*)*'),
|
||||
ToStringTestData(F2, 'void Function<#A>(#A*)*'),
|
||||
ToStringTestData(F3, 'void Function<#A,#B>(#A*,#B*)*'),
|
||||
|
@ -266,8 +237,6 @@ main() {
|
|||
'#A3* Function<#A3 extends #A*>(#A*,#A3*,C5.T*)*])'),
|
||||
];
|
||||
|
||||
List<ToStringTestData> toStringExpected =
|
||||
isDart2jsNnbd ? toStringExpectedNnbdWeak : toStringExpectedPreNnbd;
|
||||
for (var test in toStringExpected) {
|
||||
testToString(test.type, test.expected);
|
||||
}
|
||||
|
@ -291,26 +260,7 @@ main() {
|
|||
testBounds(F13, [Object_]);
|
||||
testBounds(F14, [Object_]);
|
||||
|
||||
List<InstantiateTestData> instantiateExpectedPreNnbd = [
|
||||
InstantiateTestData(F1, [C1], 'void Function(C1)'),
|
||||
InstantiateTestData(F2, [C2], 'void Function(C2)'),
|
||||
InstantiateTestData(F3, [C1, C2], 'void Function(C1,C2)'),
|
||||
InstantiateTestData(F4, [C1, C2], 'void Function(C2,C1)'),
|
||||
InstantiateTestData(F5, [num_], 'void Function(num)'),
|
||||
InstantiateTestData(F6, [int_], 'void Function(int)'),
|
||||
InstantiateTestData(F7, [int_], 'void Function(int,[int])'),
|
||||
InstantiateTestData(F8, [int_], 'int Function(int)'),
|
||||
InstantiateTestData(F9, [int_, num_], 'void Function(int,num)'),
|
||||
InstantiateTestData(F10, [int_, num_], 'void Function(int,num)'),
|
||||
InstantiateTestData(F11, [C4], 'void Function(C4)'),
|
||||
InstantiateTestData(F12, [C4], 'void Function(C4)'),
|
||||
InstantiateTestData(F13, [C1], 'C1 Function(C1,C1)'),
|
||||
InstantiateTestData(F14, [C2], 'C2 Function(C2,C2)'),
|
||||
InstantiateTestData(F15, [int_, num_], 'Map<C5.T,int> Function(int,num)'),
|
||||
InstantiateTestData(F16, [num_, int_], 'Map<C5.T,num> Function(num,int)'),
|
||||
];
|
||||
|
||||
List<InstantiateTestData> instantiateExpectedNnbdWeak = [
|
||||
List<InstantiateTestData> instantiateExpected = [
|
||||
InstantiateTestData(F1, [C1], 'void Function(C1*)'),
|
||||
InstantiateTestData(F2, [C2], 'void Function(C2*)'),
|
||||
InstantiateTestData(F3, [C1, C2], 'void Function(C1*,C2*)'),
|
||||
|
@ -331,30 +281,11 @@ main() {
|
|||
F16, [num_, int_], 'Map<C5.T*,num*>* Function(num*,int*)'),
|
||||
];
|
||||
|
||||
List<InstantiateTestData> instantiateExpected = isDart2jsNnbd
|
||||
? instantiateExpectedNnbdWeak
|
||||
: instantiateExpectedPreNnbd;
|
||||
for (var test in instantiateExpected) {
|
||||
testInstantiate(test.type, test.instantiation, test.expected);
|
||||
}
|
||||
|
||||
List<SubstTestData> substExpectedPreNnbd = [
|
||||
SubstTestData([num_], [C5_T], F15,
|
||||
'Map<num,#A> Function<#A extends #B,#B extends num>(#A,#B)'),
|
||||
SubstTestData([num_], [C5_T], F16,
|
||||
'Map<num,#A> Function<#A extends num,#B extends #A>(#A,#B)'),
|
||||
SubstTestData([num_], [C5_T], F17,
|
||||
'num Function<#A extends List<#B>,#B extends Map<num,#A>>(#A,#B,Object)'),
|
||||
SubstTestData(
|
||||
[num_],
|
||||
[C5_T],
|
||||
F18,
|
||||
'num Function<#A extends num>(['
|
||||
'#A2 Function<#A2 extends #A>(#A,#A2,num),'
|
||||
'#A3 Function<#A3 extends #A>(#A,#A3,num)])'),
|
||||
];
|
||||
|
||||
List<SubstTestData> substExpectedNnbdWeak = [
|
||||
List<SubstTestData> substExpected = [
|
||||
SubstTestData([num_], [C5_T], F15,
|
||||
'Map<num*,#A*>* Function<#A extends #B*,#B extends num*>(#A*,#B*)'),
|
||||
SubstTestData([num_], [C5_T], F16,
|
||||
|
@ -374,8 +305,6 @@ main() {
|
|||
'#A3* Function<#A3 extends #A*>(#A*,#A3*,num*)*])'),
|
||||
];
|
||||
|
||||
List<SubstTestData> substExpected =
|
||||
isDart2jsNnbd ? substExpectedNnbdWeak : substExpectedPreNnbd;
|
||||
for (var test in substExpected) {
|
||||
testSubst(test.arguments, test.parameters, test.type, test.expected);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,6 @@ import 'package:compiler/src/elements/entities.dart';
|
|||
import 'package:compiler/src/elements/types.dart';
|
||||
import 'package:compiler/src/universe/call_structure.dart';
|
||||
import 'package:expect/expect.dart';
|
||||
import '../helpers/memory_compiler.dart';
|
||||
import '../helpers/type_test_helper.dart';
|
||||
|
||||
List<FunctionTypeData> signatures = const <FunctionTypeData>[
|
||||
|
@ -37,8 +36,8 @@ main() {
|
|||
|
||||
for (FunctionTypeData data in signatures) {
|
||||
DartType functionType = env.getElementType('t${data.name}');
|
||||
Expect.isTrue(functionType is! LegacyType ||
|
||||
(env.options.useLegacySubtyping && isDart2jsNnbd));
|
||||
Expect.isTrue(
|
||||
functionType is! LegacyType || env.options.useLegacySubtyping);
|
||||
functionType = functionType.withoutNullability;
|
||||
FunctionEntity method = env.getElement('m${data.name}');
|
||||
FunctionType methodType = env.getElementType('m${data.name}');
|
||||
|
|
|
@ -26,9 +26,6 @@ export 'output_collector.dart';
|
|||
export 'package:compiler/compiler_new.dart' show CompilationResult;
|
||||
export 'diagnostic_helper.dart';
|
||||
|
||||
bool isDart2jsNnbd =
|
||||
!Platform.environment['DART_CONFIGURATION'].endsWith('Legacy');
|
||||
|
||||
String sdkPath = 'sdk/lib';
|
||||
|
||||
String sdkLibrariesSpecificationPath = '$sdkPath/libraries.json';
|
||||
|
|
|
@ -63,9 +63,7 @@ class TypeEnvironment {
|
|||
TypeEnvironment._(Compiler this.compiler, {this.testBackendWorld: false});
|
||||
|
||||
DartType legacyWrap(DartType type) {
|
||||
return memory.isDart2jsNnbd && options.useLegacySubtyping
|
||||
? types.legacyType(type)
|
||||
: type;
|
||||
return options.useLegacySubtyping ? types.legacyType(type) : type;
|
||||
}
|
||||
|
||||
ElementEnvironment get elementEnvironment {
|
||||
|
|
|
@ -11,47 +11,7 @@ main() {
|
|||
promoted(null);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: explicitAs:
|
||||
dynamic=[String.length],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: explicitAs:
|
||||
/*member: explicitAs:
|
||||
dynamic=[String.length],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -100,47 +60,7 @@ explicitAs(String i) {
|
|||
return i as String;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: implicitAs:
|
||||
dynamic=[String.length],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: implicitAs:
|
||||
/*member: implicitAs:
|
||||
dynamic=[String.length],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -190,48 +110,7 @@ String implicitAs(String i) {
|
|||
return j;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: promoted:
|
||||
dynamic=[String.length],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: promoted:
|
||||
/*member: promoted:
|
||||
dynamic=[String.length],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
|
|
@ -201,59 +201,7 @@ testAnonymousAsyncStar() {
|
|||
return () async* {};
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testAsyncForIn:
|
||||
dynamic=[
|
||||
_StreamIterator.cancel(0),
|
||||
_StreamIterator.current,
|
||||
_StreamIterator.moveNext(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
StreamIterator.(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_asyncAwait(2),
|
||||
_asyncRethrow(2),
|
||||
_asyncReturn(2),
|
||||
_asyncStartSync(2),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
_makeAsyncAwaitCompleter<dynamic>(0),
|
||||
_wrapJsFunctionForAsync(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:Stream<dynamic>,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:Null]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testAsyncForIn:
|
||||
/*member: testAsyncForIn:
|
||||
dynamic=[
|
||||
_StreamIterator.cancel(0),
|
||||
_StreamIterator.current,
|
||||
|
@ -313,60 +261,7 @@ testAsyncForIn(o) async {
|
|||
await for (var e in o) {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testAsyncForInTyped:
|
||||
dynamic=[
|
||||
_StreamIterator.cancel(0),
|
||||
_StreamIterator.current,
|
||||
_StreamIterator.moveNext(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
StreamIterator.(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_asyncAwait(2),
|
||||
_asyncRethrow(2),
|
||||
_asyncReturn(2),
|
||||
_asyncStartSync(2),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
_makeAsyncAwaitCompleter<dynamic>(0),
|
||||
_wrapJsFunctionForAsync(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:Stream<dynamic>,
|
||||
impl:int,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:Null]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testAsyncForInTyped:
|
||||
/*member: testAsyncForInTyped:
|
||||
dynamic=[
|
||||
_StreamIterator.cancel(0),
|
||||
_StreamIterator.current,
|
||||
|
|
|
@ -139,47 +139,7 @@ class ForwardingConstructorClass = ForwardingConstructorSuperClass
|
|||
testForwardingConstructor() => new ForwardingConstructorClass(null);
|
||||
|
||||
class ForwardingConstructorTypedSuperClass {
|
||||
/*spec:nnbd-off.member: ForwardingConstructorTypedSuperClass.:
|
||||
static=[
|
||||
Object.(0),
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:int]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: ForwardingConstructorTypedSuperClass.:
|
||||
/*member: ForwardingConstructorTypedSuperClass.:
|
||||
static=[
|
||||
Object.(0),
|
||||
Rti._bind(1),
|
||||
|
@ -235,53 +195,7 @@ class ForwardingConstructorTypedClass = ForwardingConstructorTypedSuperClass
|
|||
testForwardingConstructorTyped() => new ForwardingConstructorTypedClass(null);
|
||||
|
||||
class ForwardingConstructorGenericSuperClass<T> {
|
||||
/*spec:nnbd-off.member: ForwardingConstructorGenericSuperClass.:
|
||||
static=[
|
||||
Object.(0),
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:ForwardingConstructorGenericSuperClass.T]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: ForwardingConstructorGenericSuperClass.:
|
||||
/*member: ForwardingConstructorGenericSuperClass.:
|
||||
static=[
|
||||
Object.(0),
|
||||
Rti._bind(1),
|
||||
|
@ -364,54 +278,7 @@ enum Enum { A }
|
|||
*/
|
||||
testEnum() => Enum.A;
|
||||
|
||||
/*spec:nnbd-off.member: staticGenericMethod:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
inst:List<staticGenericMethod.T>,
|
||||
param:Object,
|
||||
param:staticGenericMethod.T]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: staticGenericMethod:
|
||||
/*member: staticGenericMethod:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -463,11 +330,7 @@ testEnum() => Enum.A;
|
|||
*/
|
||||
List<T> staticGenericMethod<T>(T arg) => [arg];
|
||||
|
||||
/*spec:nnbd-off.member: testStaticGenericMethod:
|
||||
static=[staticGenericMethod<bool>(1)],
|
||||
type=[inst:JSBool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testStaticGenericMethod:
|
||||
/*member: testStaticGenericMethod:
|
||||
static=[staticGenericMethod<bool*>(1)],
|
||||
type=[inst:JSBool]
|
||||
*/
|
||||
|
@ -475,14 +338,7 @@ testStaticGenericMethod() {
|
|||
staticGenericMethod<bool>(true);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testInstanceGenericMethod:
|
||||
dynamic=[exact:GenericClass.genericMethod<bool>(1)],
|
||||
static=[
|
||||
GenericClass.generative(0),
|
||||
checkTypeBound(4)],
|
||||
type=[inst:JSBool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testInstanceGenericMethod:
|
||||
/*member: testInstanceGenericMethod:
|
||||
dynamic=[exact:GenericClass.genericMethod<bool*>(1)],
|
||||
static=[
|
||||
GenericClass.generative(0),
|
||||
|
@ -528,55 +384,7 @@ class Class {
|
|||
class GenericClass<X, Y> {
|
||||
const GenericClass.generative();
|
||||
|
||||
/*spec:nnbd-off.member: GenericClass.genericMethod:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
inst:Map<GenericClass.X,genericMethod.T>,
|
||||
param:Object,
|
||||
param:genericMethod.T]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: GenericClass.genericMethod:
|
||||
/*member: GenericClass.genericMethod:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
|
|
@ -44,53 +44,7 @@ const instanceConstantField = const Class(true, false);
|
|||
|
||||
const typeLiteralField = String;
|
||||
|
||||
/*spec:nnbd-off.member: id:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:Object,
|
||||
param:id.T]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: id:
|
||||
/*member: id:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
|
|
@ -91,10 +91,7 @@ stringLiteral() {
|
|||
/*member: symbolLiteral:static=[Symbol.(1)],type=[inst:Symbol]*/
|
||||
symbolLiteral() => #foo;
|
||||
|
||||
/*spec:nnbd-off.member: listLiteral:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool>]*/
|
||||
/*spec:nnbd-sdk.member: listLiteral:type=[
|
||||
/*member: listLiteral:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool*>]*/
|
||||
listLiteral() => const [true, false];
|
||||
|
@ -114,16 +111,7 @@ setLiteral() => const {true, false};
|
|||
*/
|
||||
instanceConstant() => const Class(true, false);
|
||||
|
||||
/*spec:nnbd-off.member: typeLiteral:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
type=[
|
||||
inst:Type,
|
||||
inst:_Type,
|
||||
lit:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: typeLiteral:
|
||||
/*member: typeLiteral:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
|
@ -173,10 +161,7 @@ stringLiteralRef() => stringLiteralField;
|
|||
/*member: symbolLiteralRef:static=[Symbol.(1)],type=[inst:Symbol]*/
|
||||
symbolLiteralRef() => symbolLiteralField;
|
||||
|
||||
/*spec:nnbd-off.member: listLiteralRef:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool>]*/
|
||||
/*spec:nnbd-sdk.member: listLiteralRef:type=[
|
||||
/*member: listLiteralRef:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool*>]*/
|
||||
listLiteralRef() => listLiteralField;
|
||||
|
@ -196,16 +181,7 @@ setLiteralRef() => setLiteralField;
|
|||
*/
|
||||
instanceConstantRef() => instanceConstantField;
|
||||
|
||||
/*spec:nnbd-off.member: typeLiteralRef:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
type=[
|
||||
inst:Type,
|
||||
inst:_Type,
|
||||
lit:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: typeLiteralRef:
|
||||
/*member: typeLiteralRef:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
|
@ -245,10 +221,7 @@ stringLiteralDeferred() => defer.stringLiteralField;
|
|||
symbolLiteralDeferred() => defer.symbolLiteralField;
|
||||
|
||||
// TODO(johnniwinther): Should we record that this is deferred?
|
||||
/*spec:nnbd-off.member: listLiteralDeferred:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool>]*/
|
||||
/*spec:nnbd-sdk.member: listLiteralDeferred:type=[
|
||||
/*member: listLiteralDeferred:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool*>]*/
|
||||
listLiteralDeferred() => defer.listLiteralField;
|
||||
|
@ -271,16 +244,7 @@ setLiteralDeferred() => defer.setLiteralField;
|
|||
*/
|
||||
instanceConstantDeferred() => defer.instanceConstantField;
|
||||
|
||||
/*spec:nnbd-off.member: typeLiteralDeferred:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
type=[
|
||||
inst:Type,
|
||||
inst:_Type,
|
||||
lit:String{defer}]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: typeLiteralDeferred:
|
||||
/*member: typeLiteralDeferred:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
|
|
|
@ -117,8 +117,7 @@ testConstRedirectingFactoryInvoke() {
|
|||
const Class.redirect();
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testConstRedirectingFactoryInvokeGeneric:type=[const:GenericClass<int,String>]*/
|
||||
/*spec:nnbd-sdk.member: testConstRedirectingFactoryInvokeGeneric:type=[const:GenericClass<int*,String*>]*/
|
||||
/*member: testConstRedirectingFactoryInvokeGeneric:type=[const:GenericClass<int*,String*>]*/
|
||||
testConstRedirectingFactoryInvokeGeneric() {
|
||||
const GenericClass<int, String>.redirect();
|
||||
}
|
||||
|
@ -161,47 +160,7 @@ class GenericClass<X, Y> {
|
|||
/*member: GenericClass.generative:static=[Object.(0)]*/
|
||||
const GenericClass.generative();
|
||||
|
||||
/*spec:nnbd-off.member: GenericClass.fact:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:Object]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: GenericClass.fact:
|
||||
/*member: GenericClass.fact:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
|
|
@ -69,56 +69,7 @@ notEffectivelyFinalList() {
|
|||
/*member: _method1:type=[inst:JSNull]*/
|
||||
num _method1() => null;
|
||||
|
||||
/*spec:nnbd-off.member: effectivelyFinalPromoted:
|
||||
dynamic=[
|
||||
int.+,
|
||||
num.+],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
_method1(0),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSDouble,
|
||||
inst:JSInt,
|
||||
inst:JSNumber,
|
||||
inst:JSPositiveInt,
|
||||
inst:JSUInt31,
|
||||
inst:JSUInt32,
|
||||
is:int]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: effectivelyFinalPromoted:
|
||||
/*member: effectivelyFinalPromoted:
|
||||
dynamic=[
|
||||
int.+,
|
||||
num.+],
|
||||
|
@ -181,57 +132,7 @@ effectivelyFinalPromoted() {
|
|||
/*member: _method2:type=[inst:JSNull]*/
|
||||
String _method2() => null;
|
||||
|
||||
/*spec:nnbd-off.member: effectivelyFinalPromotedInvalid:
|
||||
dynamic=[
|
||||
String.+,
|
||||
int.+],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
_method2(0),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSDouble,
|
||||
inst:JSInt,
|
||||
inst:JSNumber,
|
||||
inst:JSPositiveInt,
|
||||
inst:JSString,
|
||||
inst:JSUInt31,
|
||||
inst:JSUInt32,
|
||||
is:int]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: effectivelyFinalPromotedInvalid:
|
||||
/*member: effectivelyFinalPromotedInvalid:
|
||||
dynamic=[
|
||||
String.+,
|
||||
int.+],
|
||||
|
|
|
@ -107,47 +107,7 @@ testPreInc(o) => ++o;
|
|||
*/
|
||||
testPreDec(o) => --o;
|
||||
|
||||
/*spec:nnbd-off.member: testIs:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:Class]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIs:
|
||||
/*member: testIs:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -192,53 +152,7 @@ testPreDec(o) => --o;
|
|||
*/
|
||||
testIs() => null is Class;
|
||||
|
||||
/*spec:nnbd-off.member: testIsGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:GenericClass<int,String>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsGeneric:
|
||||
/*member: testIsGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -289,47 +203,7 @@ testIs() => null is Class;
|
|||
*/
|
||||
testIsGeneric() => null is GenericClass<int, String>;
|
||||
|
||||
/*spec:nnbd-off.member: testIsGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:GenericClass<dynamic,dynamic>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsGenericRaw:
|
||||
/*member: testIsGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -374,47 +248,7 @@ testIsGeneric() => null is GenericClass<int, String>;
|
|||
*/
|
||||
testIsGenericRaw() => null is GenericClass;
|
||||
|
||||
/*spec:nnbd-off.member: testIsGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:GenericClass<dynamic,dynamic>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsGenericDynamic:
|
||||
/*member: testIsGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -459,47 +293,7 @@ testIsGenericRaw() => null is GenericClass;
|
|||
*/
|
||||
testIsGenericDynamic() => null is GenericClass<dynamic, dynamic>;
|
||||
|
||||
/*spec:nnbd-off.member: testIsNot:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:Class]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsNot:
|
||||
/*member: testIsNot:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -544,53 +338,7 @@ testIsGenericDynamic() => null is GenericClass<dynamic, dynamic>;
|
|||
*/
|
||||
testIsNot() => null is! Class;
|
||||
|
||||
/*spec:nnbd-off.member: testIsNotGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:GenericClass<int,String>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsNotGeneric:
|
||||
/*member: testIsNotGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -641,47 +389,7 @@ testIsNot() => null is! Class;
|
|||
*/
|
||||
testIsNotGeneric() => null is! GenericClass<int, String>;
|
||||
|
||||
/*spec:nnbd-off.member: testIsNotGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:GenericClass<dynamic,dynamic>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsNotGenericRaw:
|
||||
/*member: testIsNotGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -726,47 +434,7 @@ testIsNotGeneric() => null is! GenericClass<int, String>;
|
|||
*/
|
||||
testIsNotGenericRaw() => null is! GenericClass;
|
||||
|
||||
/*spec:nnbd-off.member: testIsNotGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:GenericClass<dynamic,dynamic>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsNotGenericDynamic:
|
||||
/*member: testIsNotGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -811,53 +479,7 @@ testIsNotGenericRaw() => null is! GenericClass;
|
|||
*/
|
||||
testIsNotGenericDynamic() => null is! GenericClass<dynamic, dynamic>;
|
||||
|
||||
/*spec:nnbd-off.member: testIsTypedef:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:dynamic Function()]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsTypedef:
|
||||
/*member: testIsTypedef:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -908,53 +530,7 @@ testIsNotGenericDynamic() => null is! GenericClass<dynamic, dynamic>;
|
|||
*/
|
||||
testIsTypedef() => null is Typedef;
|
||||
|
||||
/*spec:nnbd-off.member: testIsTypedefGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:int Function(String)]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsTypedefGeneric:
|
||||
/*member: testIsTypedefGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1005,53 +581,7 @@ testIsTypedef() => null is Typedef;
|
|||
*/
|
||||
testIsTypedefGeneric() => null is GenericTypedef<int, String>;
|
||||
|
||||
/*spec:nnbd-off.member: testIsTypedefGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:dynamic Function(dynamic)]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsTypedefGenericRaw:
|
||||
/*member: testIsTypedefGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1102,53 +632,7 @@ testIsTypedefGeneric() => null is GenericTypedef<int, String>;
|
|||
*/
|
||||
testIsTypedefGenericRaw() => null is GenericTypedef;
|
||||
|
||||
/*spec:nnbd-off.member: testIsTypedefGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:dynamic Function(dynamic)]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsTypedefGenericDynamic:
|
||||
/*member: testIsTypedefGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1199,53 +683,7 @@ testIsTypedefGenericRaw() => null is GenericTypedef;
|
|||
*/
|
||||
testIsTypedefGenericDynamic() => null is GenericTypedef<dynamic, dynamic>;
|
||||
|
||||
/*spec:nnbd-off.member: testIsTypedefDeep:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:List<int Function(dynamic Function(dynamic))>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testIsTypedefDeep:
|
||||
/*member: testIsTypedefDeep:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1296,46 +734,8 @@ testIsTypedefGenericDynamic() => null is GenericTypedef<dynamic, dynamic>;
|
|||
*/
|
||||
testIsTypedefDeep() => null is List<GenericTypedef<int, GenericTypedef>>;
|
||||
|
||||
/*spec:nnbd-off.member: testAs:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
as:Class,
|
||||
inst:Closure,
|
||||
inst:JSBool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testAs:
|
||||
// ignore: UNNECESSARY_CAST
|
||||
/*member: testAs:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1377,55 +777,10 @@ testIsTypedefDeep() => null is List<GenericTypedef<int, GenericTypedef>>;
|
|||
inst:Closure,
|
||||
inst:JSBool]
|
||||
*/
|
||||
// ignore: UNNECESSARY_CAST
|
||||
testAs(dynamic o) => o as Class;
|
||||
|
||||
/*spec:nnbd-off.member: testAsGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
as:GenericClass<int,String>,
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testAsGeneric:
|
||||
// ignore: UNNECESSARY_CAST
|
||||
/*member: testAsGeneric:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1473,49 +828,10 @@ testAs(dynamic o) => o as Class;
|
|||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>]
|
||||
*/
|
||||
// ignore: UNNECESSARY_CAST
|
||||
testAsGeneric(dynamic o) => o as GenericClass<int, String>;
|
||||
|
||||
/*spec:nnbd-off.member: testAsGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
as:GenericClass<dynamic,dynamic>,
|
||||
inst:Closure,
|
||||
inst:JSBool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testAsGenericRaw:
|
||||
// ignore: UNNECESSARY_CAST
|
||||
/*member: testAsGenericRaw:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1557,49 +873,10 @@ testAsGeneric(dynamic o) => o as GenericClass<int, String>;
|
|||
inst:Closure,
|
||||
inst:JSBool]
|
||||
*/
|
||||
// ignore: UNNECESSARY_CAST
|
||||
testAsGenericRaw(dynamic o) => o as GenericClass;
|
||||
|
||||
/*spec:nnbd-off.member: testAsGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
as:GenericClass<dynamic,dynamic>,
|
||||
inst:Closure,
|
||||
inst:JSBool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testAsGenericDynamic:
|
||||
// ignore: UNNECESSARY_CAST
|
||||
/*member: testAsGenericDynamic:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1641,7 +918,6 @@ testAsGenericRaw(dynamic o) => o as GenericClass;
|
|||
inst:Closure,
|
||||
inst:JSBool]
|
||||
*/
|
||||
// ignore: UNNECESSARY_CAST
|
||||
testAsGenericDynamic(dynamic o) => o as GenericClass<dynamic, dynamic>;
|
||||
|
||||
/*member: testThrow:
|
||||
|
@ -1652,50 +928,7 @@ testThrow() => throw '';
|
|||
/*member: testIfNotNull:dynamic=[Object.==,foo],type=[inst:JSNull]*/
|
||||
testIfNotNull(o) => o?.foo;
|
||||
|
||||
/*spec:nnbd-off.member: testTypedIfNotNull:
|
||||
dynamic=[
|
||||
Class.==,
|
||||
Class.field],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:Class]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testTypedIfNotNull:
|
||||
/*member: testTypedIfNotNull:
|
||||
dynamic=[
|
||||
Class.==,
|
||||
Class.field],
|
||||
|
|
|
@ -14,56 +14,7 @@ class B<S, U> {}
|
|||
/*member: C.:static=[Object.(0)]*/
|
||||
class C implements A<int>, B<String, bool> {}
|
||||
|
||||
/*spec:nnbd-off.member: testA:
|
||||
dynamic=[call<A.T>(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
extractTypeArguments<A<dynamic>>(2),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
impl:A<dynamic>,
|
||||
impl:Function,
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:A<A.T>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testA:
|
||||
/*member: testA:
|
||||
dynamic=[call<A.T>(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -117,56 +68,7 @@ class C implements A<int>, B<String, bool> {}
|
|||
*/
|
||||
testA(c, f) => extractTypeArguments<A>(c, f);
|
||||
|
||||
/*spec:nnbd-off.member: testB:
|
||||
dynamic=[call<B.S,B.U>(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
extractTypeArguments<B<dynamic,dynamic>>(2),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
impl:B<dynamic,dynamic>,
|
||||
impl:Function,
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:B<B.S,B.U>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testB:
|
||||
/*member: testB:
|
||||
dynamic=[call<B.S,B.U>(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
|
|
@ -6,22 +6,8 @@
|
|||
|
||||
import "dart:async";
|
||||
|
||||
/*spec:nnbd-off.member: main:
|
||||
dynamic=[runtimeType],
|
||||
runtimeType=[unknown:FutureOr<int>],
|
||||
static=[
|
||||
Future.value(1),
|
||||
checkTypeBound(4),
|
||||
print(1)],
|
||||
type=[
|
||||
inst:JSDouble,
|
||||
inst:JSInt,
|
||||
inst:JSNumber,
|
||||
inst:JSPositiveInt,
|
||||
inst:JSUInt31,
|
||||
inst:JSUInt32]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: main:
|
||||
@pragma('dart2js:disableFinal')
|
||||
/*member: main:
|
||||
dynamic=[runtimeType],
|
||||
runtimeType=[unknown:FutureOr<int*>*],
|
||||
static=[
|
||||
|
@ -36,7 +22,6 @@ import "dart:async";
|
|||
inst:JSUInt31,
|
||||
inst:JSUInt32]
|
||||
*/
|
||||
@pragma('dart2js:disableFinal')
|
||||
void main() {
|
||||
FutureOr<int> i = new Future<int>.value(0);
|
||||
print(i.runtimeType);
|
||||
|
|
|
@ -30,46 +30,7 @@ main() {
|
|||
testGenericClass();
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testDefaultValuesPositional:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:bool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testDefaultValuesPositional:
|
||||
/*member: testDefaultValuesPositional:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -113,46 +74,7 @@ main() {
|
|||
*/
|
||||
testDefaultValuesPositional([bool value = false]) {}
|
||||
|
||||
/*spec:nnbd-off.member: testDefaultValuesNamed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:bool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testDefaultValuesNamed:
|
||||
/*member: testDefaultValuesNamed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -246,46 +168,7 @@ testFieldInitializer3() {
|
|||
|
||||
/*member: ClassInstanceFieldWithInitializer.:static=[Object.(0)]*/
|
||||
class ClassInstanceFieldWithInitializer {
|
||||
/*spec:nnbd-off.member: ClassInstanceFieldWithInitializer.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:bool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: ClassInstanceFieldWithInitializer.field:
|
||||
/*member: ClassInstanceFieldWithInitializer.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -335,47 +218,7 @@ testInstanceFieldWithInitializer() => new ClassInstanceFieldWithInitializer();
|
|||
|
||||
/*member: ClassInstanceFieldTyped.:static=[Object.(0)]*/
|
||||
class ClassInstanceFieldTyped {
|
||||
/*spec:nnbd-off.member: ClassInstanceFieldTyped.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:int]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: ClassInstanceFieldTyped.field:
|
||||
/*member: ClassInstanceFieldTyped.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -444,53 +287,7 @@ class ClassSuperInitializer extends ClassThisInitializer {
|
|||
testSuperInitializer() => new ClassSuperInitializer();
|
||||
|
||||
class ClassGeneric<T> {
|
||||
/*spec:nnbd-off.member: ClassGeneric.:
|
||||
static=[
|
||||
Object.(0),
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:ClassGeneric.T]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: ClassGeneric.:
|
||||
/*member: ClassGeneric.:
|
||||
static=[
|
||||
Object.(0),
|
||||
Rti._bind(1),
|
||||
|
|
|
@ -16,47 +16,7 @@ class E {}
|
|||
|
||||
/*member: Class1.:static=[Object.(0)]*/
|
||||
class Class1 {
|
||||
/*spec:nnbd-off.member: Class1.field1:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:A]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: Class1.field1:
|
||||
/*member: Class1.field1:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -102,48 +62,7 @@ class Class1 {
|
|||
A field1;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method1:
|
||||
dynamic=[Class1.field1=],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:A,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
is:Class1]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method1:
|
||||
/*member: method1:
|
||||
dynamic=[Class1.field1=],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -194,53 +113,7 @@ method1(dynamic o, dynamic value) {
|
|||
|
||||
/*member: Class2.:static=[Object.(0)]*/
|
||||
class Class2<T> {
|
||||
/*spec:nnbd-off.member: Class2.field2:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:Class2.T]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: Class2.field2:
|
||||
/*member: Class2.field2:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -292,54 +165,7 @@ class Class2<T> {
|
|||
T field2;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method2:
|
||||
dynamic=[Class2.field2=],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
impl:A,
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:Class2<A>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method2:
|
||||
/*member: method2:
|
||||
dynamic=[Class2.field2=],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -396,49 +222,7 @@ method2(dynamic o, dynamic value) {
|
|||
|
||||
/*member: Class3.:static=[Object.(0)]*/
|
||||
class Class3 {
|
||||
/*spec:nnbd-off.member: Class3.method3:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:A,
|
||||
param:B,
|
||||
param:C]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: Class3.method3:
|
||||
/*member: Class3.method3:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -486,50 +270,7 @@ class Class3 {
|
|||
method3(A a, [B b, C c]) {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method3:
|
||||
dynamic=[Class3.method3(3)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:A,
|
||||
impl:C,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
is:Class3,
|
||||
param:B]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method3:
|
||||
/*member: method3:
|
||||
dynamic=[Class3.method3(3)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -582,49 +323,7 @@ method3(dynamic o, dynamic a, B b, dynamic c) {
|
|||
|
||||
/*member: Class4.:static=[Object.(0)]*/
|
||||
class Class4 {
|
||||
/*spec:nnbd-off.member: Class4.method4:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:A,
|
||||
param:B,
|
||||
param:C]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: Class4.method4:
|
||||
/*member: Class4.method4:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -672,50 +371,7 @@ class Class4 {
|
|||
method4(A a, {B b, C c}) {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method4:
|
||||
dynamic=[Class4.method4(1,b,c)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:A,
|
||||
impl:C,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
is:Class4,
|
||||
param:B]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method4:
|
||||
/*member: method4:
|
||||
dynamic=[Class4.method4(1,b,c)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -768,58 +424,7 @@ method4(dynamic o, dynamic a, B b, dynamic c) {
|
|||
|
||||
/*member: Class5.:static=[Object.(0)]*/
|
||||
class Class5<T1, T2> {
|
||||
/*spec:nnbd-off.member: Class5.method5:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:C,
|
||||
param:Class5.T1,
|
||||
param:Class5.T2,
|
||||
param:Object,
|
||||
param:method5.S1,
|
||||
param:method5.S2]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: Class5.method5:
|
||||
/*member: Class5.method5:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -876,58 +481,7 @@ class Class5<T1, T2> {
|
|||
method5<S1, S2>(T1 a, [T2 b, C c, S1 d, S2 e]) {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method5:
|
||||
dynamic=[Class5.method5<D,E>(5)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
impl:A,
|
||||
impl:D,
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:Class5<A,B>,
|
||||
param:B,
|
||||
param:C,
|
||||
param:E]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method5:
|
||||
/*member: method5:
|
||||
dynamic=[Class5.method5<D*,E*>(5)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -988,58 +542,7 @@ method5(dynamic o, dynamic a, B b, C c, dynamic d, E e) {
|
|||
|
||||
/*member: Class6.:static=[Object.(0)]*/
|
||||
class Class6<T1, T2> {
|
||||
/*spec:nnbd-off.member: Class6.method6:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:C,
|
||||
param:Class6.T1,
|
||||
param:Class6.T2,
|
||||
param:Object,
|
||||
param:method6.S1,
|
||||
param:method6.S2]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: Class6.method6:
|
||||
/*member: Class6.method6:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1096,58 +599,7 @@ class Class6<T1, T2> {
|
|||
method6<S1, S2>(T1 a, {T2 b, C c, S1 d, S2 e}) {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method6:
|
||||
dynamic=[Class6.method6<D,E>(1,b,c,d,e)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
impl:A,
|
||||
impl:D,
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:Class6<A,B>,
|
||||
param:B,
|
||||
param:C,
|
||||
param:E]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method6:
|
||||
/*member: method6:
|
||||
dynamic=[Class6.method6<D*,E*>(1,b,c,d,e)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -1212,50 +664,7 @@ class Class7 {
|
|||
A Function(A) get f => null;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method7:
|
||||
dynamic=[
|
||||
Class7.f(1),
|
||||
call(1)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:A,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
is:Class7]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method7:
|
||||
/*member: method7:
|
||||
dynamic=[
|
||||
Class7.f(1),
|
||||
call(1)],
|
||||
|
@ -1308,53 +717,7 @@ method7(dynamic o, dynamic a) {
|
|||
|
||||
/*member: F.:static=[Object.(0)]*/
|
||||
class F<T> {
|
||||
/*spec:nnbd-off.member: F.method:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:List<F.T>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: F.method:
|
||||
/*member: F.method:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1405,53 +768,7 @@ class F<T> {
|
|||
*/
|
||||
T method(List<T> list) => null;
|
||||
|
||||
/*spec:nnbd-off.member: F.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:F.T]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: F.field:
|
||||
/*member: F.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1506,56 +823,7 @@ class F<T> {
|
|||
/*member: G.:static=[F.(0)]*/
|
||||
class G extends F<int> {}
|
||||
|
||||
/*spec:nnbd-off.member: method8:
|
||||
dynamic=[G.method(1)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
impl:List<int>,
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
is:G,
|
||||
param:Iterable<int>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method8:
|
||||
/*member: method8:
|
||||
dynamic=[G.method(1)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -1612,50 +880,7 @@ method8(dynamic g, Iterable<int> iterable) {
|
|||
return g.method(iterable);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: method9:
|
||||
dynamic=[G.field=],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:int,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
is:G,
|
||||
param:num]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: method9:
|
||||
/*member: method9:
|
||||
dynamic=[G.field=],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
|
|
@ -117,46 +117,7 @@ testTopLevelInvoke() {
|
|||
topLevelFunction3(15, c: 16, b: 17);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFunction1Typed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:int]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFunction1Typed:
|
||||
/*member: topLevelFunction1Typed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -200,49 +161,7 @@ testTopLevelInvoke() {
|
|||
*/
|
||||
void topLevelFunction1Typed(int a) {}
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFunction2Typed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:String,
|
||||
param:double,
|
||||
param:num]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFunction2Typed:
|
||||
/*member: topLevelFunction2Typed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -289,55 +208,7 @@ void topLevelFunction1Typed(int a) {}
|
|||
*/
|
||||
int topLevelFunction2Typed(String a, [num b, double c]) => null;
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFunction3Typed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:List<int>,
|
||||
param:Map<String,bool>,
|
||||
param:bool]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFunction3Typed:
|
||||
/*member: topLevelFunction3Typed:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -392,31 +263,7 @@ double topLevelFunction3Typed(bool a, {List<int> b, Map<String, bool> c}) {
|
|||
return null;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testTopLevelInvokeTyped:
|
||||
static=[
|
||||
topLevelFunction1Typed(1),
|
||||
topLevelFunction2Typed(1),
|
||||
topLevelFunction2Typed(2),
|
||||
topLevelFunction2Typed(3),
|
||||
topLevelFunction3Typed(1),
|
||||
topLevelFunction3Typed(1,b),
|
||||
topLevelFunction3Typed(1,b,c),
|
||||
topLevelFunction3Typed(1,b,c),
|
||||
topLevelFunction3Typed(1,c)],
|
||||
type=[
|
||||
inst:JSBool,
|
||||
inst:JSDouble,
|
||||
inst:JSInt,
|
||||
inst:JSNull,
|
||||
inst:JSNumber,
|
||||
inst:JSPositiveInt,
|
||||
inst:JSString,
|
||||
inst:JSUInt31,
|
||||
inst:JSUInt32,
|
||||
inst:List<int>,
|
||||
inst:Map<String,bool>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testTopLevelInvokeTyped:
|
||||
/*member: testTopLevelInvokeTyped:
|
||||
static=[
|
||||
topLevelFunction1Typed(1),
|
||||
topLevelFunction2Typed(1),
|
||||
|
@ -452,52 +299,7 @@ testTopLevelInvokeTyped() {
|
|||
topLevelFunction3Typed(false, c: {'16': false}, b: [17]);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFunctionTyped1:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:void Function(num)]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFunctionTyped1:
|
||||
/*member: topLevelFunctionTyped1:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -547,52 +349,7 @@ testTopLevelInvokeTyped() {
|
|||
*/
|
||||
topLevelFunctionTyped1(void a(num b)) {}
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFunctionTyped2:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:void Function(num,[String])]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFunctionTyped2:
|
||||
/*member: topLevelFunctionTyped2:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -642,52 +399,7 @@ topLevelFunctionTyped1(void a(num b)) {}
|
|||
*/
|
||||
topLevelFunctionTyped2(void a(num b, [String c])) {}
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFunctionTyped3:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:void Function(num,{String c,int d})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFunctionTyped3:
|
||||
/*member: topLevelFunctionTyped3:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -737,52 +449,7 @@ topLevelFunctionTyped2(void a(num b, [String c])) {}
|
|||
*/
|
||||
topLevelFunctionTyped3(void a(num b, {String c, int d})) {}
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFunctionTyped4:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:void Function(num,{int c,String d})]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFunctionTyped4:
|
||||
/*member: topLevelFunctionTyped4:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -868,46 +535,7 @@ set topLevelSetter(_) {}
|
|||
/*member: testTopLevelSetterSet:static=[set:topLevelSetter],type=[inst:JSNull]*/
|
||||
testTopLevelSetterSet() => topLevelSetter = null;
|
||||
|
||||
/*spec:nnbd-off.member: topLevelSetterTyped=:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:int]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelSetterTyped=:
|
||||
/*member: topLevelSetterTyped=:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -977,47 +605,7 @@ final topLevelFieldFinal = topLevelFunction1(null);
|
|||
/*member: testTopLevelFieldFinal:static=[topLevelFieldFinal]*/
|
||||
testTopLevelFieldFinal() => topLevelFieldFinal;
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFieldTyped:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:int]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFieldTyped:
|
||||
/*member: topLevelFieldTyped:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1065,47 +653,7 @@ int topLevelFieldTyped;
|
|||
/*member: testTopLevelFieldTyped:static=[topLevelFieldTyped]*/
|
||||
testTopLevelFieldTyped() => topLevelFieldTyped;
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFieldGeneric1:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:GenericClass<dynamic,dynamic>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFieldGeneric1:
|
||||
/*member: topLevelFieldGeneric1:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1153,47 +701,7 @@ GenericClass topLevelFieldGeneric1;
|
|||
/*member: testTopLevelFieldGeneric1:static=[topLevelFieldGeneric1]*/
|
||||
testTopLevelFieldGeneric1() => topLevelFieldGeneric1;
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFieldGeneric2:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
param:GenericClass<dynamic,dynamic>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFieldGeneric2:
|
||||
/*member: topLevelFieldGeneric2:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1241,53 +749,7 @@ GenericClass<dynamic, dynamic> topLevelFieldGeneric2;
|
|||
/*member: testTopLevelFieldGeneric2:static=[topLevelFieldGeneric2]*/
|
||||
testTopLevelFieldGeneric2() => topLevelFieldGeneric2;
|
||||
|
||||
/*spec:nnbd-off.member: topLevelFieldGeneric3:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:GenericClass<int,String>]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: topLevelFieldGeneric3:
|
||||
/*member: topLevelFieldGeneric3:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -1457,55 +919,7 @@ testLocalFunction() {
|
|||
localFunction() {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testLocalFunctionTyped:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
def:localFunction,
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:Function,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testLocalFunctionTyped:
|
||||
/*member: testLocalFunctionTyped:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
|
|
@ -61,53 +61,7 @@ typedef void Callback<T>(T value);
|
|||
/*member: GenericClass.:static=[JavaScriptObject.(0)]*/
|
||||
@JS()
|
||||
class GenericClass<T> {
|
||||
/*spec:nnbd-off.member: GenericClass.method:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSNull,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
param:void Function(GenericClass.T)]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: GenericClass.method:
|
||||
/*member: GenericClass.method:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
|
|
@ -11,57 +11,8 @@ import 'dart:html' show File;
|
|||
|
||||
import 'package:js/js.dart';
|
||||
|
||||
/*spec:nnbd-off.member: foo=:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
native:ApplicationCacheErrorEvent,
|
||||
native:DomError,
|
||||
native:DomException,
|
||||
native:ErrorEvent,
|
||||
native:MediaError,
|
||||
native:NavigatorUserMediaError,
|
||||
native:OverconstrainedError,
|
||||
native:PositionError,
|
||||
native:SensorErrorEvent,
|
||||
native:SpeechRecognitionError,
|
||||
native:SqlError,
|
||||
param:Function]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: foo=:
|
||||
@JS()
|
||||
/*member: foo=:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -114,57 +65,9 @@ import 'package:js/js.dart';
|
|||
native:SqlError,
|
||||
param:Function*]
|
||||
*/
|
||||
@JS()
|
||||
external set foo(Function f);
|
||||
|
||||
/*spec:nnbd-off.member: _doStuff:
|
||||
dynamic=[
|
||||
File.==,
|
||||
File.name],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
defineProperty(3),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
print(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:JSString,
|
||||
param:File,
|
||||
param:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: _doStuff:
|
||||
/*member: _doStuff:
|
||||
dynamic=[
|
||||
File.==,
|
||||
File.name],
|
||||
|
@ -221,11 +124,7 @@ void _doStuff(String name, File file) {
|
|||
print(file.name);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: main:static=[
|
||||
_doStuff,
|
||||
allowInterop<Function>(1),
|
||||
set:foo]*/
|
||||
/*spec:nnbd-sdk.member: main:static=[
|
||||
/*member: main:static=[
|
||||
_doStuff,
|
||||
allowInterop<Function*>(1),
|
||||
set:foo]*/
|
||||
|
|
|
@ -11,64 +11,8 @@ import 'dart:html' show File;
|
|||
|
||||
import 'package:js/js.dart';
|
||||
|
||||
/*spec:nnbd-off.member: foo=:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
setRuntimeTypeInfo(2)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSArray<dynamic>,
|
||||
inst:JSBool,
|
||||
inst:JSExtendableArray<dynamic>,
|
||||
inst:JSFixedArray<dynamic>,
|
||||
inst:JSMutableArray<dynamic>,
|
||||
inst:JSUnmodifiableArray<dynamic>,
|
||||
native:ApplicationCacheErrorEvent,
|
||||
native:DomError,
|
||||
native:DomException,
|
||||
native:ErrorEvent,
|
||||
native:File,
|
||||
native:MediaError,
|
||||
native:NavigatorUserMediaError,
|
||||
native:OverconstrainedError,
|
||||
native:PositionError,
|
||||
native:SensorErrorEvent,
|
||||
native:SpeechRecognitionError,
|
||||
native:SqlError,
|
||||
param:void Function(String,File)]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: foo=:
|
||||
@JS()
|
||||
/*member: foo=:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -128,57 +72,9 @@ import 'package:js/js.dart';
|
|||
native:SqlError,
|
||||
param:void Function(String*,File*)*]
|
||||
*/
|
||||
@JS()
|
||||
external set foo(void Function(String, File) f);
|
||||
|
||||
/*spec:nnbd-off.member: _doStuff:
|
||||
dynamic=[
|
||||
File.==,
|
||||
File.name],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
defineProperty(3),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
print(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:JSString,
|
||||
param:File,
|
||||
param:String]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: _doStuff:
|
||||
/*member: _doStuff:
|
||||
dynamic=[
|
||||
File.==,
|
||||
File.name],
|
||||
|
@ -235,11 +131,7 @@ void _doStuff(String name, File file) {
|
|||
print(file.name);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: main:static=[
|
||||
_doStuff,
|
||||
allowInterop<void Function(String,File)>(1),
|
||||
set:foo]*/
|
||||
/*spec:nnbd-sdk.member: main:static=[
|
||||
/*member: main:static=[
|
||||
_doStuff,
|
||||
allowInterop<void Function(String*,File*)*>(1),
|
||||
set:foo]*/
|
||||
|
|
|
@ -131,16 +131,7 @@ testComplexConstSymbol() => const Symbol(complexSymbolField);
|
|||
/*member: testIfNullConstSymbol:static=[Symbol.(1)],type=[inst:Symbol]*/
|
||||
testIfNullConstSymbol() => const Symbol(null ?? 'foo');
|
||||
|
||||
/*spec:nnbd-off.member: testTypeLiteral:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
type=[
|
||||
inst:Type,
|
||||
inst:_Type,
|
||||
lit:Object]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testTypeLiteral:
|
||||
/*member: testTypeLiteral:
|
||||
static=[
|
||||
createRuntimeType(1),
|
||||
typeLiteral(1)],
|
||||
|
@ -160,17 +151,13 @@ testEmptyListLiteral() => [];
|
|||
/*member: testEmptyListLiteralDynamic:type=[inst:List<dynamic>]*/
|
||||
testEmptyListLiteralDynamic() => <dynamic>[];
|
||||
|
||||
/*spec:nnbd-off.member: testEmptyListLiteralTyped:type=[inst:List<String>]*/
|
||||
/*spec:nnbd-sdk.member: testEmptyListLiteralTyped:type=[inst:List<String*>]*/
|
||||
/*member: testEmptyListLiteralTyped:type=[inst:List<String*>]*/
|
||||
testEmptyListLiteralTyped() => <String>[];
|
||||
|
||||
/*member: testEmptyListLiteralConstant:type=[inst:List<dynamic>]*/
|
||||
testEmptyListLiteralConstant() => const [];
|
||||
|
||||
/*spec:nnbd-off.member: testNonEmptyListLiteral:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool>]*/
|
||||
/*spec:nnbd-sdk.member: testNonEmptyListLiteral:type=[
|
||||
/*member: testNonEmptyListLiteral:type=[
|
||||
inst:JSBool,
|
||||
inst:List<bool*>]*/
|
||||
testNonEmptyListLiteral() => [true];
|
||||
|
@ -181,8 +168,7 @@ testEmptyMapLiteral() => {};
|
|||
/*member: testEmptyMapLiteralDynamic:type=[inst:Map<dynamic,dynamic>]*/
|
||||
testEmptyMapLiteralDynamic() => <dynamic, dynamic>{};
|
||||
|
||||
/*spec:nnbd-off.member: testEmptyMapLiteralTyped:type=[inst:Map<String,int>]*/
|
||||
/*spec:nnbd-sdk.member: testEmptyMapLiteralTyped:type=[inst:Map<String*,int*>]*/
|
||||
/*member: testEmptyMapLiteralTyped:type=[inst:Map<String*,int*>]*/
|
||||
testEmptyMapLiteralTyped() => <String, int>{};
|
||||
|
||||
/*member: testEmptyMapLiteralConstant:
|
||||
|
@ -194,11 +180,7 @@ type=[
|
|||
*/
|
||||
testEmptyMapLiteralConstant() => const {};
|
||||
|
||||
/*spec:nnbd-off.member: testNonEmptyMapLiteral:type=[
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:Map<Null,bool>]*/
|
||||
/*spec:nnbd-sdk.member: testNonEmptyMapLiteral:type=[
|
||||
/*member: testNonEmptyMapLiteral:type=[
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:Map<Null,bool*>]*/
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
spec:nnbd-off=pkg/compiler/test/impact/impact_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/impact/impact_test.dart
|
||||
spec=pkg/compiler/test/impact/impact_test.dart
|
||||
|
|
|
@ -58,53 +58,8 @@ testNativeMethodReturns() native;
|
|||
|
||||
@Native("NativeClass")
|
||||
class NativeClass {
|
||||
/*spec:nnbd-off.member: NativeClass.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
native:JSExtendableArray<JSExtendableArray.E>,
|
||||
native:Object,
|
||||
native:String,
|
||||
native:bool,
|
||||
native:double,
|
||||
native:int,
|
||||
param:Object]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: NativeClass.field:
|
||||
@annotation_Creates_SerializedScriptValue
|
||||
/*member: NativeClass.field:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
@ -153,7 +108,6 @@ class NativeClass {
|
|||
native:int,
|
||||
param:Object*]
|
||||
*/
|
||||
@annotation_Creates_SerializedScriptValue
|
||||
final Object field;
|
||||
|
||||
factory NativeClass._() {
|
||||
|
@ -161,48 +115,7 @@ class NativeClass {
|
|||
}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testNativeField:
|
||||
dynamic=[NativeClass.field],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
defineProperty(3),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
param:NativeClass]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testNativeField:
|
||||
/*member: testNativeField:
|
||||
dynamic=[NativeClass.field],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
|
|
@ -39,48 +39,7 @@ main() {
|
|||
dynamicToNoSuchMethodTearOff(null);
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: positiveTyped:
|
||||
dynamic=[SubClass.method(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
is:SubClass,
|
||||
param:Class]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: positiveTyped:
|
||||
/*member: positiveTyped:
|
||||
dynamic=[SubClass.method(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -128,47 +87,7 @@ positiveTyped(Class cls) {
|
|||
if (cls is SubClass) cls.method();
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: positiveDynamic:
|
||||
dynamic=[SubClass.method(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
is:SubClass]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: positiveDynamic:
|
||||
/*member: positiveDynamic:
|
||||
dynamic=[SubClass.method(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
@ -215,47 +134,7 @@ positiveDynamic(dynamic cls) {
|
|||
if (cls is SubClass) cls.method();
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: negativeDynamic:
|
||||
dynamic=[SubClass.method(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
is:SubClass]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: negativeDynamic:
|
||||
/*member: negativeDynamic:
|
||||
dynamic=[SubClass.method(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -67,53 +67,7 @@ testIfThenElse() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testForIn:
|
||||
dynamic=[
|
||||
Iterator.current,
|
||||
Iterator.iterator,
|
||||
Iterator.moveNext(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
checkConcurrentModificationError(2),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:Iterable<dynamic>,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:Null]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testForIn:
|
||||
/*member: testForIn:
|
||||
dynamic=[
|
||||
Iterator.current,
|
||||
Iterator.iterator,
|
||||
|
@ -167,54 +121,7 @@ testForIn(o) {
|
|||
for (var e in o) {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testForInTyped:
|
||||
dynamic=[
|
||||
Iterator.current,
|
||||
Iterator.iterator,
|
||||
Iterator.moveNext(0)],
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
checkConcurrentModificationError(2),
|
||||
findType(1),
|
||||
instanceType(1)],
|
||||
type=[
|
||||
impl:Iterable<dynamic>,
|
||||
impl:int,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:JSNull,
|
||||
inst:Null]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testForInTyped:
|
||||
/*member: testForInTyped:
|
||||
dynamic=[
|
||||
Iterator.current,
|
||||
Iterator.iterator,
|
||||
|
@ -279,49 +186,7 @@ testTryCatch() {
|
|||
try {} catch (e) {}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: testTryCatchOn:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
_arrayInstanceType(1),
|
||||
_asBool(1),
|
||||
_asBoolQ(1),
|
||||
_asBoolS(1),
|
||||
_asDouble(1),
|
||||
_asDoubleQ(1),
|
||||
_asDoubleS(1),
|
||||
_asInt(1),
|
||||
_asIntQ(1),
|
||||
_asIntS(1),
|
||||
_asNum(1),
|
||||
_asNumQ(1),
|
||||
_asNumS(1),
|
||||
_asObject(1),
|
||||
_asString(1),
|
||||
_asStringQ(1),
|
||||
_asStringS(1),
|
||||
_asTop(1),
|
||||
_generalAsCheckImplementation(1),
|
||||
_generalIsTestImplementation(1),
|
||||
_installSpecializedIsTest(1),
|
||||
_instanceType(1),
|
||||
_isBool(1),
|
||||
_isInt(1),
|
||||
_isNum(1),
|
||||
_isObject(1),
|
||||
_isString(1),
|
||||
_isTop(1),
|
||||
findType(1),
|
||||
instanceType(1),
|
||||
unwrapException(1)],
|
||||
type=[
|
||||
catch:String,
|
||||
inst:Closure,
|
||||
inst:JSBool,
|
||||
inst:PlainJavaScriptObject,
|
||||
inst:UnknownJavaScriptObject]
|
||||
*/
|
||||
/*spec:nnbd-sdk.member: testTryCatchOn:
|
||||
/*member: testTryCatchOn:
|
||||
static=[
|
||||
Rti._bind(1),
|
||||
Rti._eval(1),
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/inference/callers_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/inference/callers_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/inference/callers_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/inference/callers_test.dart
|
||||
spec=pkg/compiler/test/inference/callers_test.dart
|
||||
prod=pkg/compiler/test/inference/callers_test.dart
|
||||
|
|
|
@ -11,8 +11,8 @@ import "package:expect/expect.dart";
|
|||
/*member: f:[subclass=JSInt]*/
|
||||
int f(
|
||||
int
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|subclass=JSInt]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|subclass=JSInt]*/
|
||||
i) =>
|
||||
2 /*invoke: [exact=JSUInt31]*/ * i;
|
||||
|
||||
|
|
|
@ -57,8 +57,8 @@ foo2(int /*[exact=JSUInt31]*/ choice) {
|
|||
i /*invoke: [subclass=JSPositiveInt]*/ ++) {
|
||||
methods. /*invoke: [exact=JSExtendableArray]*/ add(
|
||||
/*[null]*/ (int
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|subclass=JSInt]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|subclass=JSInt]*/
|
||||
x) {
|
||||
res = x;
|
||||
sum = x /*invoke: [null|subclass=JSInt]*/ + i;
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
/*member: closure:[exact=JSUInt31]*/
|
||||
int closure(
|
||||
int
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.Union([exact=JSDouble], [exact=JSUInt31])*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[exact=JSUInt31]*/
|
||||
/*spec.Union([exact=JSDouble], [exact=JSUInt31])*/
|
||||
/*prod.[exact=JSUInt31]*/
|
||||
x) {
|
||||
return x;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/inference/inference_test_helper.dart
|
||||
prod:nnbd-off=pkg/compiler/test/inference/inference_test_helper.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/inference/inference_test_helper.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/inference/inference_test_helper.dart
|
||||
spec=pkg/compiler/test/inference/inference_test_helper.dart
|
||||
prod=pkg/compiler/test/inference/inference_test_helper.dart
|
||||
|
|
|
@ -17,8 +17,8 @@ class Class1 {
|
|||
/*member: Class1.noSuchMethod:[exact=JSUInt31]*/
|
||||
noSuchMethod(
|
||||
Invocation
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
_) =>
|
||||
42;
|
||||
|
||||
|
@ -41,8 +41,8 @@ class Class2 {
|
|||
/*member: Class2.noSuchMethod:[exact=JSUInt31]*/
|
||||
noSuchMethod(
|
||||
Invocation
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
_) =>
|
||||
42;
|
||||
|
||||
|
@ -65,8 +65,8 @@ class Class3 {
|
|||
/*member: Class3.noSuchMethod:[null|subclass=Object]*/
|
||||
noSuchMethod(
|
||||
Invocation
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
invocation) {
|
||||
return invocation
|
||||
.
|
||||
|
@ -101,8 +101,8 @@ class Class4 {
|
|||
/*member: Class4.noSuchMethod:[null]*/
|
||||
noSuchMethod(
|
||||
Invocation
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
invocation) {
|
||||
this. /*update: [exact=Class4]*/ field = invocation
|
||||
.
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
class A {
|
||||
/*member: A.noSuchMethod:[exact=JSUInt31]*/
|
||||
noSuchMethod(
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
im) =>
|
||||
42;
|
||||
}
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
abstract class A {
|
||||
/*member: A.noSuchMethod:[exact=JSUInt31]*/
|
||||
noSuchMethod(
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
im) =>
|
||||
42;
|
||||
}
|
||||
|
@ -33,8 +33,8 @@ class D implements A {
|
|||
|
||||
/*member: D.noSuchMethod:[exact=JSDouble]*/
|
||||
noSuchMethod(
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
im) =>
|
||||
42.5;
|
||||
}
|
||||
|
|
|
@ -10,8 +10,8 @@ class A {
|
|||
// throws an exception.
|
||||
/*member: A.noSuchMethod:[empty]*/
|
||||
noSuchMethod(
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.[null|subclass=Object]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[null|exact=JSInvocationMirror]*/
|
||||
/*spec.[null|subclass=Object]*/
|
||||
/*prod.[null|exact=JSInvocationMirror]*/
|
||||
im) =>
|
||||
throw 'foo';
|
||||
}
|
||||
|
|
|
@ -18,8 +18,8 @@ main() {
|
|||
/*member: _trustParameters:[exact=JSUInt31]*/
|
||||
_trustParameters(
|
||||
int
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.Union([exact=JSString], [exact=JSUInt31])*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.[exact=JSUInt31]*/
|
||||
/*spec.Union([exact=JSString], [exact=JSUInt31])*/
|
||||
/*prod.[exact=JSUInt31]*/
|
||||
i) {
|
||||
return i;
|
||||
}
|
||||
|
|
|
@ -1,2 +1 @@
|
|||
spec:nnbd-off=pkg/compiler/test/inference/inference_data_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/inference/inference_data_test.dart
|
||||
spec=pkg/compiler/test/inference/inference_data_test.dart
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/inference/side_effects_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/inference/side_effects_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/inference/side_effects_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/inference/side_effects_test.dart
|
||||
spec=pkg/compiler/test/inference/side_effects_test.dart
|
||||
prod=pkg/compiler/test/inference/side_effects_test.dart
|
||||
|
|
|
@ -51,9 +51,8 @@ forceInlineConstructorBody() {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class Class3<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class3.:[forceInlineGenericConstructor:Class3<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class3.:[forceInlineGenericConstructor:Class3<int*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class3.:[forceInlineGenericConstructor:Class3<int*>]*/
|
||||
Class3();
|
||||
}
|
||||
|
||||
|
@ -68,16 +67,14 @@ forceInlineGenericConstructor() {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class Class4a<T> implements Class4b<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class4a.:[forceInlineGenericFactory:Class4a<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class4a.:[forceInlineGenericFactory:Class4a<int*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class4a.:[forceInlineGenericFactory:Class4a<int*>]*/
|
||||
Class4a();
|
||||
}
|
||||
|
||||
class Class4b<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class4b.:[forceInlineGenericFactory:Class4b<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class4b.:[forceInlineGenericFactory:Class4b<int*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class4b.:[forceInlineGenericFactory:Class4b<int*>]*/
|
||||
factory Class4b() => new Class4a<T>();
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/inlining/inlining_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/inlining/inlining_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/inlining/inlining_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/inlining/inlining_test.dart
|
||||
spec=pkg/compiler/test/inlining/inlining_test.dart
|
||||
prod=pkg/compiler/test/inlining/inlining_test.dart
|
||||
|
|
|
@ -15,9 +15,8 @@ main() {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class Class1<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class1.:[nestedGenericInlining:Class1<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class1.:[nestedGenericInlining:Class1<int*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class1.:[nestedGenericInlining:Class1<int*>]*/
|
||||
Class1();
|
||||
|
||||
/*member: Class1.method:[nestedGenericInlining]*/
|
||||
|
@ -30,9 +29,8 @@ class Class1<T> {
|
|||
class Class2<T> {
|
||||
// TODO(johnniwinther): Should the type have been Class<List<int>>?
|
||||
// Similarly below.
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class2.:[nestedGenericInlining:Class2<List<Class1.T>>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class2.:[nestedGenericInlining:Class2<List<Class1.T*>*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class2.:[nestedGenericInlining:Class2<List<Class1.T*>*>]*/
|
||||
Class2();
|
||||
|
||||
/*member: Class2.method:[nestedGenericInlining]*/
|
||||
|
@ -51,9 +49,8 @@ nestedGenericInlining() {
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
class Class3a<T> implements Class3b<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class3a.:[nestedGenericFactoryInlining:Class3a<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class3a.:[nestedGenericFactoryInlining:Class3a<int*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class3a.:[nestedGenericFactoryInlining:Class3a<int*>]*/
|
||||
Class3a();
|
||||
|
||||
/*member: Class3a.method:[nestedGenericFactoryInlining]*/
|
||||
|
@ -64,18 +61,16 @@ class Class3a<T> implements Class3b<T> {
|
|||
}
|
||||
|
||||
abstract class Class3b<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class3b.:[nestedGenericFactoryInlining:Class3b<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class3b.:[nestedGenericFactoryInlining:Class3b<int*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class3b.:[nestedGenericFactoryInlining:Class3b<int*>]*/
|
||||
factory Class3b() => new Class3a<T>();
|
||||
|
||||
method();
|
||||
}
|
||||
|
||||
class Class4a<T> implements Class4b<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class4a.:[nestedGenericFactoryInlining:Class4a<Class4b.T>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class4a.:[nestedGenericFactoryInlining:Class4a<Class4b.T*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class4a.:[nestedGenericFactoryInlining:Class4a<Class4b.T*>]*/
|
||||
Class4a();
|
||||
|
||||
/*member: Class4a.method:[nestedGenericFactoryInlining]*/
|
||||
|
@ -84,9 +79,8 @@ class Class4a<T> implements Class4b<T> {
|
|||
}
|
||||
|
||||
abstract class Class4b<T> {
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class4b.:[nestedGenericFactoryInlining:Class4b<List<Class3a.T>>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class4b.:[nestedGenericFactoryInlining:Class4b<List<Class3a.T*>*>]*/
|
||||
@pragma('dart2js:tryInline')
|
||||
/*member: Class4b.:[nestedGenericFactoryInlining:Class4b<List<Class3a.T*>*>]*/
|
||||
factory Class4b() => new Class4a<T>();
|
||||
|
||||
method();
|
||||
|
|
|
@ -9,14 +9,12 @@ main() {
|
|||
inlineTypeTests();
|
||||
}
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Mixin1.:[inlineTypeTests:Mixin1<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Mixin1.:[inlineTypeTests:Mixin1<int*>]*/
|
||||
/*member: Mixin1.:[inlineTypeTests:Mixin1<int*>]*/
|
||||
class Mixin1<S> {
|
||||
var field = /*[]*/ (S s) => null;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off.member: Class1.:[inlineTypeTests:Class1<int>]*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.member: Class1.:[inlineTypeTests:Class1<int*>]*/
|
||||
/*member: Class1.:[inlineTypeTests:Class1<int*>]*/
|
||||
class Class1<T> extends Object with Mixin1<T> {}
|
||||
|
||||
/*member: _inlineTypeTests:[inlineTypeTests]*/
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/jumps/jump_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/jumps/jump_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/jumps/jump_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/jumps/jump_test.dart
|
||||
spec=pkg/compiler/test/jumps/jump_test.dart
|
||||
prod=pkg/compiler/test/jumps/jump_test.dart
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/member_usage/member_usage_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/member_usage/member_usage_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/member_usage/member_usage_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/member_usage/member_usage_test.dart
|
||||
spec=pkg/compiler/test/member_usage/member_usage_test.dart
|
||||
prod=pkg/compiler/test/member_usage/member_usage_test.dart
|
||||
|
|
|
@ -33,19 +33,9 @@ class TestData {
|
|||
final String declarations;
|
||||
|
||||
/// Tested constants.
|
||||
final List<ConstantData> constantsCommon;
|
||||
final List<ConstantData> constantsPreNnbd;
|
||||
final List<ConstantData> constantsNnbdWeak;
|
||||
List<ConstantData> get constants =>
|
||||
constantsCommon +
|
||||
(isDart2jsNnbd && constantsNnbdWeak.isNotEmpty
|
||||
? constantsNnbdWeak
|
||||
: constantsPreNnbd);
|
||||
final List<ConstantData> constants;
|
||||
|
||||
const TestData(this.name, this.declarations,
|
||||
{this.constantsCommon: const [],
|
||||
this.constantsPreNnbd: const [],
|
||||
this.constantsNnbdWeak: const []});
|
||||
const TestData(this.name, this.declarations, this.constants);
|
||||
}
|
||||
|
||||
class ConstantData {
|
||||
|
@ -65,102 +55,84 @@ class ConstantData {
|
|||
const ConstantData(this.code, this.expectedResults, {this.expectedErrors});
|
||||
}
|
||||
|
||||
const List<TestData> DATA = const [
|
||||
const TestData('simple', '', constantsCommon: const [
|
||||
const ConstantData('null', 'NullConstant'),
|
||||
const ConstantData('false', 'BoolConstant(false)'),
|
||||
const ConstantData('true', 'BoolConstant(true)'),
|
||||
const ConstantData('0', 'IntConstant(0)'),
|
||||
const ConstantData('0.0', 'IntConstant(0)'),
|
||||
const ConstantData('"foo"', 'StringConstant("foo")'),
|
||||
const ConstantData('1 + 2', 'IntConstant(3)'),
|
||||
const ConstantData('-(1)', 'IntConstant(-1)'),
|
||||
const ConstantData('1 == 2', 'BoolConstant(false)'),
|
||||
const ConstantData('1 != 2', 'BoolConstant(true)'),
|
||||
const ConstantData('1 / 0', 'DoubleConstant(Infinity)'),
|
||||
const ConstantData('0 / 0', 'DoubleConstant(NaN)'),
|
||||
const ConstantData('1 << 0', 'IntConstant(1)'),
|
||||
const ConstantData('1 >> 0', 'IntConstant(1)'),
|
||||
const ConstantData('"foo".length', 'IntConstant(3)'),
|
||||
const ConstantData('identical(0, 1)', 'BoolConstant(false)'),
|
||||
const ConstantData('"a" "b"', 'StringConstant("ab")'),
|
||||
const ConstantData(r'"${null}"', 'StringConstant("null")'),
|
||||
const ConstantData('identical', 'FunctionConstant(identical)'),
|
||||
const ConstantData('true ? 0 : 1', 'IntConstant(0)'),
|
||||
const ConstantData('proxy', 'ConstructedConstant(_Proxy())'),
|
||||
const ConstantData('const [] == null', 'BoolConstant(false)'),
|
||||
const ConstantData('proxy == null', 'BoolConstant(false)'),
|
||||
const ConstantData('proxy != null', 'BoolConstant(true)'),
|
||||
const ConstantData('null == proxy', 'BoolConstant(false)'),
|
||||
const ConstantData('null != proxy', 'BoolConstant(true)'),
|
||||
const ConstantData('true == proxy', 'BoolConstant(false)'),
|
||||
const ConstantData('true != proxy', 'BoolConstant(true)'),
|
||||
const ConstantData('0 == proxy', 'BoolConstant(false)'),
|
||||
const ConstantData('0 != proxy', 'BoolConstant(true)'),
|
||||
const ConstantData('0.5 == proxy', 'BoolConstant(false)'),
|
||||
const ConstantData('0.5 != proxy', 'BoolConstant(true)'),
|
||||
const ConstantData('"" == proxy', 'BoolConstant(false)'),
|
||||
const ConstantData('"" != proxy', 'BoolConstant(true)'),
|
||||
const ConstantData('Object', 'TypeConstant(Object)'),
|
||||
const ConstantData('null ?? 0', 'IntConstant(0)'),
|
||||
const ConstantData('const <int, int>{0: 1, 0: 2}', 'NonConstant',
|
||||
const List<TestData> DATA = [
|
||||
TestData('simple', '', [
|
||||
ConstantData('null', 'NullConstant'),
|
||||
ConstantData('false', 'BoolConstant(false)'),
|
||||
ConstantData('true', 'BoolConstant(true)'),
|
||||
ConstantData('0', 'IntConstant(0)'),
|
||||
ConstantData('0.0', 'IntConstant(0)'),
|
||||
ConstantData('"foo"', 'StringConstant("foo")'),
|
||||
ConstantData('1 + 2', 'IntConstant(3)'),
|
||||
ConstantData('-(1)', 'IntConstant(-1)'),
|
||||
ConstantData('1 == 2', 'BoolConstant(false)'),
|
||||
ConstantData('1 != 2', 'BoolConstant(true)'),
|
||||
ConstantData('1 / 0', 'DoubleConstant(Infinity)'),
|
||||
ConstantData('0 / 0', 'DoubleConstant(NaN)'),
|
||||
ConstantData('1 << 0', 'IntConstant(1)'),
|
||||
ConstantData('1 >> 0', 'IntConstant(1)'),
|
||||
ConstantData('"foo".length', 'IntConstant(3)'),
|
||||
ConstantData('identical(0, 1)', 'BoolConstant(false)'),
|
||||
ConstantData('"a" "b"', 'StringConstant("ab")'),
|
||||
ConstantData(r'"${null}"', 'StringConstant("null")'),
|
||||
ConstantData('identical', 'FunctionConstant(identical)'),
|
||||
ConstantData('true ? 0 : 1', 'IntConstant(0)'),
|
||||
ConstantData('proxy', 'ConstructedConstant(_Proxy())'),
|
||||
ConstantData('const [] == null', 'BoolConstant(false)'),
|
||||
ConstantData('proxy == null', 'BoolConstant(false)'),
|
||||
ConstantData('proxy != null', 'BoolConstant(true)'),
|
||||
ConstantData('null == proxy', 'BoolConstant(false)'),
|
||||
ConstantData('null != proxy', 'BoolConstant(true)'),
|
||||
ConstantData('true == proxy', 'BoolConstant(false)'),
|
||||
ConstantData('true != proxy', 'BoolConstant(true)'),
|
||||
ConstantData('0 == proxy', 'BoolConstant(false)'),
|
||||
ConstantData('0 != proxy', 'BoolConstant(true)'),
|
||||
ConstantData('0.5 == proxy', 'BoolConstant(false)'),
|
||||
ConstantData('0.5 != proxy', 'BoolConstant(true)'),
|
||||
ConstantData('"" == proxy', 'BoolConstant(false)'),
|
||||
ConstantData('"" != proxy', 'BoolConstant(true)'),
|
||||
ConstantData('Object', 'TypeConstant(Object)'),
|
||||
ConstantData('null ?? 0', 'IntConstant(0)'),
|
||||
ConstantData('const <int, int>{0: 1, 0: 2}', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalDuplicateKey'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const bool.fromEnvironment("foo", defaultValue: false)',
|
||||
const <Map<String, String>, String>{
|
||||
const {}: 'BoolConstant(false)',
|
||||
const {'foo': 'true'}: 'BoolConstant(true)'
|
||||
<Map<String, String>, String>{
|
||||
{}: 'BoolConstant(false)',
|
||||
{'foo': 'true'}: 'BoolConstant(true)'
|
||||
}),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const int.fromEnvironment("foo", defaultValue: 42)',
|
||||
const <Map<String, String>, String>{
|
||||
const {}: 'IntConstant(42)',
|
||||
const {'foo': '87'}: 'IntConstant(87)'
|
||||
<Map<String, String>, String>{
|
||||
{}: 'IntConstant(42)',
|
||||
{'foo': '87'}: 'IntConstant(87)'
|
||||
}),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const String.fromEnvironment("foo", defaultValue: "bar")',
|
||||
const <Map<String, String>, String>{
|
||||
const {}: 'StringConstant("bar")',
|
||||
const {'foo': 'foo'}: 'StringConstant("foo")'
|
||||
<Map<String, String>, String>{
|
||||
{}: 'StringConstant("bar")',
|
||||
{'foo': 'foo'}: 'StringConstant("foo")'
|
||||
}),
|
||||
], constantsPreNnbd: const [
|
||||
const ConstantData(
|
||||
'const [0, 1]', 'ListConstant(<int>[IntConstant(0), IntConstant(1)])'),
|
||||
const ConstantData('const <int>[0, 1]',
|
||||
'ListConstant(<int>[IntConstant(0), IntConstant(1)])'),
|
||||
const ConstantData(
|
||||
'const {0, 1}', 'SetConstant(<int>{IntConstant(0), IntConstant(1)})'),
|
||||
const ConstantData('const <int>{0, 1}',
|
||||
'SetConstant(<int>{IntConstant(0), IntConstant(1)})'),
|
||||
const ConstantData(
|
||||
'const {0: 1, 2: 3}',
|
||||
'MapConstant(<int, int>{IntConstant(0): IntConstant(1), '
|
||||
'IntConstant(2): IntConstant(3)})'),
|
||||
const ConstantData(
|
||||
'const <int, int>{0: 1, 2: 3}',
|
||||
'MapConstant(<int, int>{IntConstant(0): IntConstant(1), '
|
||||
'IntConstant(2): IntConstant(3)})'),
|
||||
], constantsNnbdWeak: const [
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const [0, 1]', 'ListConstant(<int*>[IntConstant(0), IntConstant(1)])'),
|
||||
const ConstantData('const <int>[0, 1]',
|
||||
ConstantData('const <int>[0, 1]',
|
||||
'ListConstant(<int*>[IntConstant(0), IntConstant(1)])'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const {0, 1}', 'SetConstant(<int*>{IntConstant(0), IntConstant(1)})'),
|
||||
const ConstantData('const <int>{0, 1}',
|
||||
ConstantData('const <int>{0, 1}',
|
||||
'SetConstant(<int*>{IntConstant(0), IntConstant(1)})'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const {0: 1, 2: 3}',
|
||||
'MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), '
|
||||
'IntConstant(2): IntConstant(3)})'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const <int, int>{0: 1, 2: 3}',
|
||||
'MapConstant(<int*, int*>{IntConstant(0): IntConstant(1), '
|
||||
'IntConstant(2): IntConstant(3)})'),
|
||||
]),
|
||||
const TestData('env', '''
|
||||
const a = const bool.fromEnvironment("foo", defaultValue: true);
|
||||
const b = const int.fromEnvironment("bar", defaultValue: 42);
|
||||
TestData('env', '''
|
||||
const a = bool.fromEnvironment("foo", defaultValue: true);
|
||||
const b = int.fromEnvironment("bar", defaultValue: 42);
|
||||
|
||||
class A {
|
||||
const A();
|
||||
|
@ -178,48 +150,46 @@ class D extends C {
|
|||
final field3 = 99;
|
||||
const D(a, b) : super(field2: a, field1: b);
|
||||
}
|
||||
''', constantsCommon: const [
|
||||
const ConstantData('const Object()', 'ConstructedConstant(Object())'),
|
||||
const ConstantData('const A()', 'ConstructedConstant(A())'),
|
||||
const ConstantData(
|
||||
'const B(0)', 'ConstructedConstant(B(field1=IntConstant(0)))'),
|
||||
const ConstantData('const B(const A())',
|
||||
''', [
|
||||
ConstantData('const Object()', 'ConstructedConstant(Object())'),
|
||||
ConstantData('const A()', 'ConstructedConstant(A())'),
|
||||
ConstantData('const B(0)', 'ConstructedConstant(B(field1=IntConstant(0)))'),
|
||||
ConstantData('const B(A())',
|
||||
'ConstructedConstant(B(field1=ConstructedConstant(A())))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const C()',
|
||||
'ConstructedConstant(C(field1=IntConstant(42),'
|
||||
'field2=BoolConstant(false)))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const C(field1: 87)',
|
||||
'ConstructedConstant(C(field1=IntConstant(87),'
|
||||
'field2=BoolConstant(false)))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const C(field2: true)',
|
||||
'ConstructedConstant(C(field1=IntConstant(42),'
|
||||
'field2=BoolConstant(true)))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const C.named()',
|
||||
'ConstructedConstant(C(field1=BoolConstant(false),'
|
||||
'field2=BoolConstant(false)))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const C.named(87)',
|
||||
'ConstructedConstant(C(field1=IntConstant(87),'
|
||||
'field2=IntConstant(87)))'),
|
||||
const ConstantData(
|
||||
'const C(field1: a, field2: b)', const <Map<String, String>, String>{
|
||||
const {}: 'ConstructedConstant(C(field1=BoolConstant(true),'
|
||||
ConstantData('const C(field1: a, field2: b)', <Map<String, String>, String>{
|
||||
{}: 'ConstructedConstant(C(field1=BoolConstant(true),'
|
||||
'field2=IntConstant(42)))',
|
||||
const {'foo': 'false', 'bar': '87'}:
|
||||
{'foo': 'false', 'bar': '87'}:
|
||||
'ConstructedConstant(C(field1=BoolConstant(false),'
|
||||
'field2=IntConstant(87)))',
|
||||
}),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const D(42, 87)',
|
||||
'ConstructedConstant(D(field1=IntConstant(87),'
|
||||
'field2=IntConstant(42),'
|
||||
'field3=IntConstant(99)))'),
|
||||
]),
|
||||
const TestData('redirect', '''
|
||||
TestData('redirect', '''
|
||||
class A<T> implements B<Null> {
|
||||
final field1;
|
||||
const A({this.field1:42});
|
||||
|
@ -231,39 +201,25 @@ class B<S> implements C<Null> {
|
|||
class C<U> {
|
||||
const factory C({field1}) = A<B<double>>;
|
||||
}
|
||||
''', constantsCommon: const [
|
||||
const ConstantData(
|
||||
''', [
|
||||
ConstantData(
|
||||
'const A()', 'ConstructedConstant(A<dynamic>(field1=IntConstant(42)))'),
|
||||
], constantsPreNnbd: const [
|
||||
const ConstantData('const A<int>(field1: 87)',
|
||||
'ConstructedConstant(A<int>(field1=IntConstant(87)))'),
|
||||
const ConstantData('const B()',
|
||||
'ConstructedConstant(A<B<dynamic>>(field1=IntConstant(42)))'),
|
||||
const ConstantData('const B<int>()',
|
||||
'ConstructedConstant(A<B<int>>(field1=IntConstant(42)))'),
|
||||
const ConstantData('const B<int>(field1: 87)',
|
||||
'ConstructedConstant(A<B<int>>(field1=IntConstant(87)))'),
|
||||
const ConstantData('const C<int>(field1: 87)',
|
||||
'ConstructedConstant(A<B<double>>(field1=IntConstant(87)))'),
|
||||
const ConstantData('const B<int>.named()',
|
||||
'ConstructedConstant(A<int>(field1=IntConstant(42)))'),
|
||||
], constantsNnbdWeak: const [
|
||||
const ConstantData('const A<int>(field1: 87)',
|
||||
ConstantData('const A<int>(field1: 87)',
|
||||
'ConstructedConstant(A<int*>(field1=IntConstant(87)))'),
|
||||
const ConstantData('const B()',
|
||||
ConstantData('const B()',
|
||||
'ConstructedConstant(A<B<dynamic>*>(field1=IntConstant(42)))'),
|
||||
const ConstantData('const B<int>()',
|
||||
ConstantData('const B<int>()',
|
||||
'ConstructedConstant(A<B<int*>*>(field1=IntConstant(42)))'),
|
||||
const ConstantData('const B<int>(field1: 87)',
|
||||
ConstantData('const B<int>(field1: 87)',
|
||||
'ConstructedConstant(A<B<int*>*>(field1=IntConstant(87)))'),
|
||||
const ConstantData('const C<int>(field1: 87)',
|
||||
ConstantData('const C<int>(field1: 87)',
|
||||
'ConstructedConstant(A<B<double*>*>(field1=IntConstant(87)))'),
|
||||
const ConstantData('const B<int>.named()',
|
||||
ConstantData('const B<int>.named()',
|
||||
'ConstructedConstant(A<int*>(field1=IntConstant(42)))'),
|
||||
]),
|
||||
const TestData('env2', '''
|
||||
const c = const int.fromEnvironment("foo", defaultValue: 5);
|
||||
const d = const int.fromEnvironment("bar", defaultValue: 10);
|
||||
TestData('env2', '''
|
||||
const c = int.fromEnvironment("foo", defaultValue: 5);
|
||||
const d = int.fromEnvironment("bar", defaultValue: 10);
|
||||
|
||||
class A {
|
||||
final field;
|
||||
|
@ -273,18 +229,18 @@ class A {
|
|||
class B extends A {
|
||||
const B(a) : super(a, a * 2);
|
||||
}
|
||||
''', constantsCommon: const [
|
||||
const ConstantData('const A(c, d)', const <Map<String, String>, String>{
|
||||
const {}: 'ConstructedConstant(A(field=IntConstant(15)))',
|
||||
const {'foo': '7', 'bar': '11'}:
|
||||
''', [
|
||||
ConstantData('const A(c, d)', <Map<String, String>, String>{
|
||||
{}: 'ConstructedConstant(A(field=IntConstant(15)))',
|
||||
{'foo': '7', 'bar': '11'}:
|
||||
'ConstructedConstant(A(field=IntConstant(18)))',
|
||||
}),
|
||||
const ConstantData('const B(d)', const <Map<String, String>, String>{
|
||||
const {}: 'ConstructedConstant(B(field=IntConstant(30)))',
|
||||
const {'bar': '42'}: 'ConstructedConstant(B(field=IntConstant(126)))',
|
||||
ConstantData('const B(d)', <Map<String, String>, String>{
|
||||
{}: 'ConstructedConstant(B(field=IntConstant(30)))',
|
||||
{'bar': '42'}: 'ConstructedConstant(B(field=IntConstant(126)))',
|
||||
}),
|
||||
]),
|
||||
const TestData('construct', '''
|
||||
TestData('construct', '''
|
||||
class A {
|
||||
final x;
|
||||
final y;
|
||||
|
@ -295,8 +251,8 @@ class B extends A {
|
|||
const A.named(z, this.t) : y = 400 + z, this.z = z, x = 3;
|
||||
const A.named2(t, z, y, x) : x = t, y = z, z = y, t = x;
|
||||
}
|
||||
''', constantsCommon: const [
|
||||
const ConstantData(
|
||||
''', [
|
||||
ConstantData(
|
||||
'const A.named(99, 100)',
|
||||
'ConstructedConstant(A('
|
||||
't=IntConstant(100),'
|
||||
|
@ -304,7 +260,7 @@ class B extends A {
|
|||
'x=IntConstant(3),'
|
||||
'y=IntConstant(499),'
|
||||
'z=IntConstant(99)))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const A(99, 100)',
|
||||
'ConstructedConstant(A('
|
||||
't=IntConstant(100),'
|
||||
|
@ -313,16 +269,16 @@ class B extends A {
|
|||
'y=IntConstant(499),'
|
||||
'z=IntConstant(99)))'),
|
||||
]),
|
||||
const TestData('errors', r'''
|
||||
const dynamic null_ = const bool.fromEnvironment('x') ? null : null;
|
||||
const dynamic zero = const bool.fromEnvironment('x') ? null : 0;
|
||||
const dynamic minus_one = const bool.fromEnvironment('x') ? null : -1;
|
||||
const dynamic false_ = const bool.fromEnvironment('x') ? null : false;
|
||||
const dynamic integer = const int.fromEnvironment("foo", defaultValue: 5);
|
||||
const dynamic string = const String.fromEnvironment("bar", defaultValue: "baz");
|
||||
const dynamic boolean = const bool.fromEnvironment("baz", defaultValue: false);
|
||||
TestData('errors', r'''
|
||||
const dynamic null_ = bool.fromEnvironment('x') ? null : null;
|
||||
const dynamic zero = bool.fromEnvironment('x') ? null : 0;
|
||||
const dynamic minus_one = bool.fromEnvironment('x') ? null : -1;
|
||||
const dynamic false_ = bool.fromEnvironment('x') ? null : false;
|
||||
const dynamic integer = int.fromEnvironment("foo", defaultValue: 5);
|
||||
const dynamic string = String.fromEnvironment("bar", defaultValue: "baz");
|
||||
const dynamic boolean = bool.fromEnvironment("baz", defaultValue: false);
|
||||
const dynamic not_string =
|
||||
const bool.fromEnvironment("not_string", defaultValue: false) ? '' : 0;
|
||||
bool.fromEnvironment("not_string", defaultValue: false) ? '' : 0;
|
||||
class Class1 {
|
||||
final field;
|
||||
const Class1() : field = not_string.length;
|
||||
|
@ -359,98 +315,96 @@ class B extends A {
|
|||
final int field = string;
|
||||
const Class10();
|
||||
}
|
||||
''', constantsCommon: const [
|
||||
const ConstantData(
|
||||
''', [
|
||||
ConstantData(
|
||||
r'"$integer $string $boolean"', 'StringConstant("5 baz false")'),
|
||||
const ConstantData('integer ? true : false', 'NonConstant',
|
||||
ConstantData('integer ? true : false', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData(r'"${proxy}"', 'NonConstant',
|
||||
ConstantData(r'"${proxy}"', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidStringInterpolationOperand'),
|
||||
const ConstantData('0 + string', 'NonConstant',
|
||||
ConstantData('0 + string', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('string + 0', 'NonConstant',
|
||||
ConstantData('string + 0', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidBinaryOperandType'),
|
||||
const ConstantData('boolean + string', 'NonConstant',
|
||||
ConstantData('boolean + string', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidMethodInvocation'),
|
||||
const ConstantData('boolean + false', 'NonConstant',
|
||||
ConstantData('boolean + false', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidMethodInvocation'),
|
||||
const ConstantData('0 * string', 'NonConstant',
|
||||
ConstantData('0 * string', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('0 % string', 'NonConstant',
|
||||
ConstantData('0 % string', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('0 << string', 'NonConstant',
|
||||
ConstantData('0 << string', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('1 ~/ zero', 'NonConstant',
|
||||
ConstantData('1 ~/ zero', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalZeroDivisor'),
|
||||
const ConstantData('1 % zero', 'NonConstant',
|
||||
ConstantData('1 % zero', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalZeroDivisor'),
|
||||
const ConstantData('1 << minus_one', 'NonConstant',
|
||||
ConstantData('1 << minus_one', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalNegativeShift'),
|
||||
const ConstantData('1 >> minus_one', 'NonConstant',
|
||||
ConstantData('1 >> minus_one', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalNegativeShift'),
|
||||
const ConstantData('const bool.fromEnvironment(integer)', 'NonConstant',
|
||||
ConstantData('const bool.fromEnvironment(integer)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData(
|
||||
'const bool.fromEnvironment("baz", defaultValue: integer)',
|
||||
ConstantData('const bool.fromEnvironment("baz", defaultValue: integer)',
|
||||
'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('const int.fromEnvironment(integer)', 'NonConstant',
|
||||
ConstantData('const int.fromEnvironment(integer)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const int.fromEnvironment("baz", defaultValue: string)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('const String.fromEnvironment(integer)', 'NonConstant',
|
||||
ConstantData('const String.fromEnvironment(integer)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData(
|
||||
'const String.fromEnvironment("baz", defaultValue: integer)',
|
||||
ConstantData('const String.fromEnvironment("baz", defaultValue: integer)',
|
||||
'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('false || integer', 'NonConstant',
|
||||
ConstantData('false || integer', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('integer || true', 'NonConstant',
|
||||
ConstantData('integer || true', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('integer && true', 'NonConstant',
|
||||
ConstantData('integer && true', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('!integer', 'NonConstant',
|
||||
ConstantData('!integer', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('!string', 'NonConstant',
|
||||
ConstantData('!string', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('-(string)', 'NonConstant',
|
||||
ConstantData('-(string)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidMethodInvocation'),
|
||||
const ConstantData('not_string.length', 'NonConstant',
|
||||
ConstantData('not_string.length', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidPropertyGet'),
|
||||
const ConstantData('const Class1()', 'NonConstant',
|
||||
ConstantData('const Class1()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidPropertyGet'),
|
||||
const ConstantData('const Class2()', 'NonConstant',
|
||||
ConstantData('const Class2()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalFailedAssertion'),
|
||||
const ConstantData('const Class2.redirect()', 'NonConstant',
|
||||
ConstantData('const Class2.redirect()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalFailedAssertion'),
|
||||
const ConstantData('const Class3()', 'NonConstant',
|
||||
ConstantData('const Class3()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalFailedAssertionWithMessage'),
|
||||
const ConstantData('const Class3.fact()', 'NonConstant',
|
||||
ConstantData('const Class3.fact()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalFailedAssertion'),
|
||||
const ConstantData('const Class4()', 'NonConstant',
|
||||
ConstantData('const Class4()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalFailedAssertion'),
|
||||
const ConstantData('const Class5(0)', 'NonConstant',
|
||||
ConstantData('const Class5(0)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalFailedAssertionWithMessage'),
|
||||
const ConstantData('const Class5(1)', 'ConstructedConstant(Class5())'),
|
||||
const ConstantData('const Class6(1)', 'NonConstant',
|
||||
ConstantData('const Class5(1)', 'ConstructedConstant(Class5())'),
|
||||
ConstantData('const Class6(1)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalFailedAssertionWithMessage'),
|
||||
const ConstantData('const Class6(2)', 'ConstructedConstant(Class6())'),
|
||||
const ConstantData('const Class7()', 'ConstructedConstant(Class7())'),
|
||||
const ConstantData('const Class7() == const Class7()', 'NonConstant',
|
||||
ConstantData('const Class6(2)', 'ConstructedConstant(Class6())'),
|
||||
ConstantData('const Class7()', 'ConstructedConstant(Class7())'),
|
||||
ConstantData('const Class7() == const Class7()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidEqualsOperandType'),
|
||||
const ConstantData('const Class7() != const Class7()', 'NonConstant',
|
||||
ConstantData('const Class7() != const Class7()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidEqualsOperandType'),
|
||||
const ConstantData('const Class8(not_string.length)', 'NonConstant',
|
||||
ConstantData('const Class8(not_string.length)', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidPropertyGet'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const Class9()', 'ConstructedConstant(Class9(field=NullConstant))'),
|
||||
const ConstantData('const Class10()', 'NonConstant',
|
||||
ConstantData('const Class10()', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
]),
|
||||
const TestData('assert', '''
|
||||
const true_ = const bool.fromEnvironment('x') ? null : true;
|
||||
TestData('assert', '''
|
||||
const true_ = bool.fromEnvironment('x') ? null : true;
|
||||
class A {
|
||||
const A() : assert(true);
|
||||
}
|
||||
|
@ -468,14 +422,14 @@ class B extends A {
|
|||
class E {
|
||||
const E() : assert(true_);
|
||||
}
|
||||
''', constantsCommon: const [
|
||||
const ConstantData(r'const A()', 'ConstructedConstant(A())'),
|
||||
const ConstantData(r'const B()', 'ConstructedConstant(B())'),
|
||||
const ConstantData(r'const D(0)',
|
||||
''', [
|
||||
ConstantData(r'const A()', 'ConstructedConstant(A())'),
|
||||
ConstantData(r'const B()', 'ConstructedConstant(B())'),
|
||||
ConstantData(r'const D(0)',
|
||||
'ConstructedConstant(D(a=IntConstant(1),b=IntConstant(2)))'),
|
||||
const ConstantData(r'const E()', 'ConstructedConstant(E())'),
|
||||
ConstantData(r'const E()', 'ConstructedConstant(E())'),
|
||||
]),
|
||||
const TestData('instantiations', '''
|
||||
TestData('instantiations', '''
|
||||
T identity<T>(T t) => t;
|
||||
class C<T> {
|
||||
final T defaultValue;
|
||||
|
@ -483,58 +437,39 @@ class C<T> {
|
|||
|
||||
const C(this.defaultValue, this.identityFunction);
|
||||
}
|
||||
''', constantsCommon: [
|
||||
const ConstantData('identity', 'FunctionConstant(identity)'),
|
||||
], constantsPreNnbd: const <ConstantData>[
|
||||
const ConstantData(
|
||||
'const C<int>(0, identity)',
|
||||
'ConstructedConstant(C<int>(defaultValue=IntConstant(0),'
|
||||
'identityFunction=InstantiationConstant([int],'
|
||||
'FunctionConstant(identity))))'),
|
||||
const ConstantData(
|
||||
'const C<double>(0.5, identity)',
|
||||
'ConstructedConstant(C<double>(defaultValue=DoubleConstant(0.5),'
|
||||
'identityFunction=InstantiationConstant([double],'
|
||||
'FunctionConstant(identity))))'),
|
||||
], constantsNnbdWeak: const <ConstantData>[
|
||||
const ConstantData(
|
||||
''', [
|
||||
ConstantData('identity', 'FunctionConstant(identity)'),
|
||||
ConstantData(
|
||||
'const C<int>(0, identity)',
|
||||
'ConstructedConstant(C<int*>(defaultValue=IntConstant(0),'
|
||||
'identityFunction=InstantiationConstant([int*],'
|
||||
'FunctionConstant(identity))))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const C<double>(0.5, identity)',
|
||||
'ConstructedConstant(C<double*>(defaultValue=DoubleConstant(0.5),'
|
||||
'identityFunction=InstantiationConstant([double*],'
|
||||
'FunctionConstant(identity))))'),
|
||||
]),
|
||||
const TestData('generic class', '''
|
||||
TestData('generic class', '''
|
||||
class C<T> {
|
||||
const C.generative();
|
||||
const C.redirect() : this.generative();
|
||||
}
|
||||
''', constantsPreNnbd: const <ConstantData>[
|
||||
const ConstantData(
|
||||
'const C<int>.generative()', 'ConstructedConstant(C<int>())'),
|
||||
const ConstantData(
|
||||
'const C<int>.redirect()', 'ConstructedConstant(C<int>())'),
|
||||
], constantsNnbdWeak: const <ConstantData>[
|
||||
const ConstantData(
|
||||
'const C<int>.generative()', 'ConstructedConstant(C<int*>())'),
|
||||
const ConstantData(
|
||||
'const C<int>.redirect()', 'ConstructedConstant(C<int*>())'),
|
||||
''', <ConstantData>[
|
||||
ConstantData('const C<int>.generative()', 'ConstructedConstant(C<int*>())'),
|
||||
ConstantData('const C<int>.redirect()', 'ConstructedConstant(C<int*>())'),
|
||||
]),
|
||||
const TestData('instance', '''
|
||||
const dynamic zero_ = const bool.fromEnvironment("x") ? null : 0;
|
||||
TestData('instance', '''
|
||||
const dynamic zero_ = bool.fromEnvironment("x") ? null : 0;
|
||||
class Class9 {
|
||||
final field = zero_;
|
||||
const Class9();
|
||||
}
|
||||
''', constantsCommon: const <ConstantData>[
|
||||
const ConstantData(
|
||||
''', <ConstantData>[
|
||||
ConstantData(
|
||||
'const Class9()', 'ConstructedConstant(Class9(field=IntConstant(0)))'),
|
||||
]),
|
||||
const TestData('type-variables', '''
|
||||
TestData('type-variables', '''
|
||||
class A {
|
||||
const A();
|
||||
}
|
||||
|
@ -550,22 +485,15 @@ class C2<T> {
|
|||
final T Function(T) a;
|
||||
const C2(dynamic t) : a = id; // implicit partial instantiation
|
||||
}
|
||||
''', constantsPreNnbd: const <ConstantData>[
|
||||
const ConstantData('const C1<A>(const A())',
|
||||
'ConstructedConstant(C1<A>(a=ConstructedConstant(A())))'),
|
||||
const ConstantData(
|
||||
'const C2<A>(id)',
|
||||
'ConstructedConstant(C2<A>(a='
|
||||
'InstantiationConstant([A],FunctionConstant(id))))'),
|
||||
], constantsNnbdWeak: const <ConstantData>[
|
||||
const ConstantData('const C1<A>(const A())',
|
||||
''', <ConstantData>[
|
||||
ConstantData('const C1<A>(A())',
|
||||
'ConstructedConstant(C1<A*>(a=ConstructedConstant(A())))'),
|
||||
const ConstantData(
|
||||
ConstantData(
|
||||
'const C2<A>(id)',
|
||||
'ConstructedConstant(C2<A*>(a='
|
||||
'InstantiationConstant([A*],FunctionConstant(id))))'),
|
||||
]),
|
||||
const TestData('unused-arguments', '''
|
||||
TestData('unused-arguments', '''
|
||||
class A {
|
||||
const A();
|
||||
|
||||
|
@ -589,31 +517,20 @@ class Class<T extends A> {
|
|||
class Subclass<T extends A> extends Class<T> {
|
||||
const Subclass(dynamic t) : super(t);
|
||||
}
|
||||
''', constantsCommon: [
|
||||
const ConstantData('const Class<B>.redirect(const C())', 'NonConstant',
|
||||
''', [
|
||||
ConstantData('const Class<B>.redirect(C())', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
const ConstantData('const Class<A>.method(const A())', 'NonConstant',
|
||||
ConstantData('const Class<A>.method(A())', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidMethodInvocation'),
|
||||
const ConstantData('const Subclass<B>(const C())', 'NonConstant',
|
||||
ConstantData('const Subclass<B>(C())', 'NonConstant',
|
||||
expectedErrors: 'ConstEvalInvalidType'),
|
||||
], constantsPreNnbd: const <ConstantData>[
|
||||
const ConstantData(
|
||||
'const Class<A>(const A())', 'ConstructedConstant(Class<A>())'),
|
||||
const ConstantData('const Class<B>.redirect(const B())',
|
||||
'ConstructedConstant(Class<B>())'),
|
||||
const ConstantData(
|
||||
'const Subclass<A>(const A())', 'ConstructedConstant(Subclass<A>())'),
|
||||
const ConstantData(
|
||||
'const Subclass<B>(const B())', 'ConstructedConstant(Subclass<B>())'),
|
||||
], constantsNnbdWeak: const <ConstantData>[
|
||||
const ConstantData(
|
||||
'const Class<A>(const A())', 'ConstructedConstant(Class<A*>())'),
|
||||
const ConstantData('const Class<B>.redirect(const B())',
|
||||
'ConstructedConstant(Class<B*>())'),
|
||||
const ConstantData(
|
||||
'const Subclass<A>(const A())', 'ConstructedConstant(Subclass<A*>())'),
|
||||
const ConstantData(
|
||||
'const Subclass<B>(const B())', 'ConstructedConstant(Subclass<B*>())'),
|
||||
ConstantData('const Class<A>(A())', 'ConstructedConstant(Class<A*>())'),
|
||||
ConstantData(
|
||||
'const Class<B>.redirect(B())', 'ConstructedConstant(Class<B*>())'),
|
||||
ConstantData(
|
||||
'const Subclass<A>(A())', 'ConstructedConstant(Subclass<A*>())'),
|
||||
ConstantData(
|
||||
'const Subclass<B>(B())', 'ConstructedConstant(Subclass<B*>())'),
|
||||
]),
|
||||
];
|
||||
|
||||
|
@ -636,7 +553,7 @@ Future testData(TestData data) async {
|
|||
names.add(name);
|
||||
// Encode the constants as part of a from-environment conditional to force
|
||||
// CFE to create unevaluated constants.
|
||||
sb.writeln('const $name = const bool.fromEnvironment("x") ? '
|
||||
sb.writeln('const $name = bool.fromEnvironment("x") ? '
|
||||
'null : ${constantData.code};');
|
||||
constants[name] = constantData;
|
||||
});
|
||||
|
|
|
@ -9,7 +9,6 @@ import 'package:compiler/src/commandline_options.dart';
|
|||
import 'package:compiler/src/elements/entities.dart';
|
||||
import 'package:compiler/src/elements/types.dart';
|
||||
import 'package:expect/expect.dart';
|
||||
import '../helpers/memory_compiler.dart';
|
||||
import '../helpers/type_test_helper.dart';
|
||||
|
||||
main() {
|
||||
|
@ -114,8 +113,8 @@ main() {
|
|||
futureOrT.forEachTypeVariable((t) => Expect.equals(T, t));
|
||||
|
||||
DartType returnVoid = getFunctionType('returnVoid', 'void Function()');
|
||||
DartType returnFutureNull = getFunctionType('futureOrNull',
|
||||
isDart2jsNnbd ? 'Future<Null>? Function()' : 'Future<Null> Function()');
|
||||
DartType returnFutureNull =
|
||||
getFunctionType('futureOrNull', 'Future<Null>? Function()');
|
||||
|
||||
List<DartType> all = [
|
||||
Object_,
|
||||
|
|
|
@ -59,23 +59,7 @@ main() {
|
|||
}
|
||||
''';
|
||||
|
||||
Map<String, Impact> expectedImpactMapNnbdOff = <String, Impact>{
|
||||
'method1': const Impact(),
|
||||
'method2': new Impact(implicitCasts: ['int']),
|
||||
'method3': new Impact(parameterChecks: ['int']),
|
||||
'method4': new Impact(asCasts: ['int']),
|
||||
'method5': const Impact(),
|
||||
'method6': const Impact(),
|
||||
'method7': const Impact(),
|
||||
'method8': const Impact(),
|
||||
'method9': new Impact(implicitCasts: ['int']),
|
||||
'method10': const Impact(),
|
||||
'method11': const Impact(),
|
||||
'method12': const Impact(),
|
||||
'method13': new Impact(implicitCasts: ['int'], parameterChecks: ['String']),
|
||||
};
|
||||
|
||||
Map<String, Impact> expectedImpactMapNnbdOn = <String, Impact>{
|
||||
Map<String, Impact> expectedImpactMap = <String, Impact>{
|
||||
'method1': const Impact(),
|
||||
'method2': new Impact(implicitCasts: ['int*']),
|
||||
'method3': new Impact(parameterChecks: ['int*']),
|
||||
|
@ -92,8 +76,6 @@ main() {
|
|||
new Impact(implicitCasts: ['int*'], parameterChecks: ['String*']),
|
||||
};
|
||||
|
||||
Map<String, Impact> expectedImpactMap =
|
||||
isDart2jsNnbd ? expectedImpactMapNnbdOn : expectedImpactMapNnbdOff;
|
||||
retainDataForTesting = true;
|
||||
CompilationResult result = await runCompiler(
|
||||
memorySourceFiles: {'main.dart': source},
|
||||
|
|
|
@ -54,8 +54,7 @@ class ViewCardComponent2 extends AppView<CardComponent2> {
|
|||
}
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: main:*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: main:FieldSet=[name=AppView.ctx,name=AppView.ctx]*/
|
||||
/*prod.member: main:FieldSet=[name=AppView.ctx]*/
|
||||
main() {
|
||||
var c1 = new ViewCardComponent();
|
||||
c1.ctx = new CardComponent();
|
||||
|
|
|
@ -39,8 +39,8 @@ mutableListDynamicIndex(dynamic index) {
|
|||
return list[index]; // CFE inserts an implicit cast of the index.
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: mutableDynamicListDynamicIndex:Specializer=[!Index]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: mutableDynamicListDynamicIndex:Specializer=[Index]*/
|
||||
/*spec.member: mutableDynamicListDynamicIndex:Specializer=[!Index]*/
|
||||
/*prod.member: mutableDynamicListDynamicIndex:Specializer=[Index]*/
|
||||
@pragma('dart2js:noInline')
|
||||
@pragma('dart2js:disableFinal')
|
||||
mutableDynamicListDynamicIndex(dynamic index) {
|
||||
|
|
|
@ -10,39 +10,39 @@ dynamicIndexAssign(var list) {
|
|||
list[0] = 1;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: unknownListIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: unknownListIndexAssign:Specializer=[IndexAssign]*/
|
||||
/*spec.member: unknownListIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod.member: unknownListIndexAssign:Specializer=[IndexAssign]*/
|
||||
@pragma('dart2js:noInline')
|
||||
unknownListIndexAssign(List list) {
|
||||
list[0] = 1;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: possiblyNullMutableListIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: possiblyNullMutableListIndexAssign:Specializer=[IndexAssign]*/
|
||||
/*spec.member: possiblyNullMutableListIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod.member: possiblyNullMutableListIndexAssign:Specializer=[IndexAssign]*/
|
||||
@pragma('dart2js:noInline')
|
||||
possiblyNullMutableListIndexAssign(bool b) {
|
||||
var list = b ? [0] : null;
|
||||
list[0] = 1;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: mutableListIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: mutableListIndexAssign:Specializer=[IndexAssign]*/
|
||||
/*spec.member: mutableListIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod.member: mutableListIndexAssign:Specializer=[IndexAssign]*/
|
||||
@pragma('dart2js:noInline')
|
||||
mutableListIndexAssign() {
|
||||
var list = [0];
|
||||
list[0] = 1;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: mutableListDynamicIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: mutableListDynamicIndexAssign:Specializer=[IndexAssign]*/
|
||||
/*spec.member: mutableListDynamicIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod.member: mutableListDynamicIndexAssign:Specializer=[IndexAssign]*/
|
||||
@pragma('dart2js:noInline')
|
||||
mutableListDynamicIndexAssign(dynamic index) {
|
||||
var list = [0];
|
||||
list[index] = 1;
|
||||
}
|
||||
|
||||
/*spec:nnbd-off.member: mutableListDynamicValueIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.member: mutableListDynamicValueIndexAssign:Specializer=[IndexAssign]*/
|
||||
/*spec.member: mutableListDynamicValueIndexAssign:Specializer=[!IndexAssign]*/
|
||||
/*prod.member: mutableListDynamicValueIndexAssign:Specializer=[IndexAssign]*/
|
||||
@pragma('dart2js:noInline')
|
||||
mutableListDynamicValueIndexAssign(dynamic value) {
|
||||
var list = [0];
|
||||
|
|
|
@ -1,4 +1,2 @@
|
|||
spec:nnbd-off=pkg/compiler/test/optimization/optimization_test.dart
|
||||
prod:nnbd-off=pkg/compiler/test/optimization/optimization_test.dart
|
||||
spec:nnbd-sdk=pkg/compiler/test/optimization/optimization_test.dart
|
||||
prod:nnbd-sdk=pkg/compiler/test/optimization/optimization_test.dart
|
||||
spec=pkg/compiler/test/optimization/optimization_test.dart
|
||||
prod=pkg/compiler/test/optimization/optimization_test.dart
|
||||
|
|
|
@ -14,8 +14,7 @@ class Foo<T extends num> {}
|
|||
/*class: Bar:*/
|
||||
class Bar<T extends num> {}
|
||||
|
||||
/*spec:nnbd-off|prod:nnbd-off.class: Baz:explicit=[Baz<num>],needsArgs*/
|
||||
/*spec:nnbd-sdk|prod:nnbd-sdk.class: Baz:explicit=[Baz<num*>*],needsArgs*/
|
||||
/*class: Baz:explicit=[Baz<num*>*],needsArgs*/
|
||||
class Baz<T extends num> {}
|
||||
|
||||
@pragma('dart2js:disableFinal')
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
|
||||
// @dart = 2.7
|
||||
|
||||
/*spec:nnbd-off.class: Class:direct,explicit=[Class.T],implicit=[Class.T],needsArgs*/
|
||||
/*prod:nnbd-off|prod:nnbd-sdk.class: Class:needsArgs*/
|
||||
/*spec:nnbd-sdk.class: Class:direct,explicit=[Class.T*],implicit=[Class.T],needsArgs*/
|
||||
/*spec.class: Class:direct,explicit=[Class.T*],implicit=[Class.T],needsArgs*/
|
||||
/*prod.class: Class:needsArgs*/
|
||||
class Class<T> {
|
||||
method() {
|
||||
var list = <T>[];
|
||||
|
|
|
@ -4,15 +4,14 @@
|
|||
|
||||
// @dart = 2.7
|
||||
|
||||
/*spec:nnbd-off.class: Class:direct,explicit=[Class.T],implicit=[Class.T],needsArgs*/
|
||||
/*spec:nnbd-sdk.class: Class:direct,explicit=[Class.T*],implicit=[Class.T],needsArgs*/
|
||||
/*spec.class: Class:direct,explicit=[Class.T*],implicit=[Class.T],needsArgs*/
|
||||
class Class<T> {
|
||||
method() {
|
||||
var list = <T>[];
|
||||
// If any method was `async`, this would have triggered the need for type
|
||||
// arguments on `Class`. See the 'async_foreach.dart' test.
|
||||
list.forEach(
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.needsSignature*/
|
||||
/*spec.needsSignature*/
|
||||
(x) => print(x));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,8 +4,7 @@
|
|||
|
||||
// @dart = 2.7
|
||||
|
||||
/*spec:nnbd-off.class: Class:explicit=[Class<int>],needsArgs*/
|
||||
/*spec:nnbd-sdk.class: Class:explicit=[Class<int*>*],needsArgs*/
|
||||
/*spec.class: Class:explicit=[Class<int*>*],needsArgs*/
|
||||
class Class<T> {}
|
||||
|
||||
main() async {
|
||||
|
@ -14,7 +13,7 @@ main() async {
|
|||
// `dynamic Function(dynamic, Class<int>)`, is not a potential subtype and
|
||||
// therefore doesn't need its signature.
|
||||
|
||||
/*spec:nnbd-off|spec:nnbd-sdk.needsSignature*/
|
||||
/*spec.needsSignature*/
|
||||
local(object, Class<int> stacktrace) => null;
|
||||
|
||||
return local;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue