1
0
mirror of https://github.com/dart-lang/sdk synced 2024-07-08 12:06:26 +00:00
dart-sdk/pkg
Nicholas Shahan 30b530bce7 [ddc] Handle Object members on extension types
Erase extension types when deciding to dispatch directly or to a helper
method for Object members.

Issue: https://github.com/dart-lang/sdk/issues/49735
Change-Id: I31081bf4ec64a0f667c8d40b08b94773e229ebe1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/335601
Reviewed-by: Srujan Gaddam <srujzs@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2023-11-17 22:24:37 +00:00
..
_fe_analyzer_shared Reland "Expire 3.0.0 experiment flags." 2023-11-17 13:10:01 +00:00
_js_interop_checks Remove the legacy "_2" tests. \o/ 2023-11-17 20:17:23 +00:00
analysis_server Extension type. Update nullability, remove implied interfaces. 2023-11-17 20:59:48 +00:00
analysis_server_client [pkg] remove duplicate config from the analysis options files 2023-11-14 00:37:53 +00:00
analyzer Extension type. Update nullability, remove implied interfaces. 2023-11-17 20:59:48 +00:00
analyzer_cli Remove the legacy "_2" tests. \o/ 2023-11-17 20:17:23 +00:00
analyzer_plugin analyzer: Move the Source class to be public API. 2023-11-14 17:10:37 +00:00
analyzer_utilities [pkg] remove duplicate config from the analysis options files 2023-11-14 00:37:53 +00:00
async_helper [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
bisect_dart Remove the legacy "_2" tests. \o/ 2023-11-17 20:17:23 +00:00
build_integration
compiler Reland "[dart2js] Move Dart2js const conditional simplifier to phase 0b, the CFE linker." 2023-11-17 21:46:02 +00:00
dap [dds/dap] Use super-params in generated code 2023-09-26 20:31:43 +00:00
dart_internal
dart_service_protocol_shared Improve DSPS Readme and remove todos. 2023-11-16 21:00:29 +00:00
dart2js_info [dart2js] Add 'main-only' option to dump info diff tool. 2023-10-30 22:49:09 +00:00
dart2js_runtime_metrics [ddc] Update for extra null safety checks in RTI 2023-10-19 21:32:15 +00:00
dart2js_tools [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
dart2native [pkg] remove duplicate config from the analysis options files 2023-11-14 00:37:53 +00:00
dart2wasm [dart2wasm] Avoid using _Closure as a type 2023-11-16 15:04:58 +00:00
dartdev Reland "Expire 3.0.0 experiment flags." 2023-11-17 13:10:01 +00:00
dds Reland "Expire 3.0.0 experiment flags." 2023-11-17 13:10:01 +00:00
dds_service_extensions Split package:vm_service into package:vm_service and package:vm_service_interface 2023-10-23 17:00:10 +00:00
dev_compiler [ddc] Handle Object members on extension types 2023-11-17 22:24:37 +00:00
expect [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
front_end [cfe] Ensure nullable result type for ??= for effect 2023-11-17 14:06:50 +00:00
frontend_server [pkg] remove duplicate config from the analysis options files 2023-11-14 00:37:53 +00:00
heap_snapshot [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
js [pkg] remove duplicate config from the analysis options files 2023-11-14 00:37:53 +00:00
js_ast [dart2js] Manually add braces for dangling else. 2023-11-17 20:48:27 +00:00
js_runtime [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
js_shared [dart2js][ddc] Make rti universe field names const 2023-10-09 21:12:48 +00:00
kernel [cfe] Make extension type non-nullable only if it implements Object 2023-11-15 14:02:35 +00:00
language_versioning_2_7_test
linter Final todo updated format fixes 2023-11-16 20:18:32 +00:00
meta + flutter_style_todos 2023-11-13 00:14:09 +00:00
mmap [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
modular_test [deps] roll package:lints to the latest 2023-10-05 03:36:59 +00:00
native_stack_traces Bump package:lints to the latest; address instances of new lints. 2023-09-25 21:15:15 +00:00
nnbd_migration analyzer: Move the Source class to be public API. 2023-11-14 17:10:37 +00:00
scrape [VM] Remove observatory_2 directory and all references to it. 2023-10-16 17:45:46 +00:00
smith Remove the legacy "_2" tests. \o/ 2023-11-17 20:17:23 +00:00
sourcemap_testing [pkg] remove duplicate config from the analysis options files 2023-11-14 00:37:53 +00:00
status_file [test] Remove ARM64-specific status entries. 2023-10-09 19:30:29 +00:00
telemetry
test_runner Remove the legacy "_2" tests. \o/ 2023-11-17 20:17:23 +00:00
testing Fix incorrect file reference in license headers 2023-09-18 06:44:08 +00:00
vm Reland "Expire 3.0.0 experiment flags." 2023-11-17 13:10:01 +00:00
vm_service Reland "Expire 3.0.0 experiment flags." 2023-11-17 13:10:01 +00:00
vm_service_interface [ package:vm_service ] Cleanup for 13.0.0 release 2023-10-25 14:02:42 +00:00
vm_service_protos [deps] rev package:protobuf 2023-10-23 21:21:30 +00:00
vm_snapshot_analysis [pkg] remove duplicate config from the analysis options files 2023-11-14 00:37:53 +00:00
wasm_builder [wasm_builder] Remove duplicate LICENSE file 2023-10-23 12:16:14 +00:00
.gitignore
analysis_options.yaml [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
BUILD.gn
OWNERS
pkg.dart [pkg] switches the default linting for pkg/ packages to dart_flutter_team_lints 2023-11-11 01:52:16 +00:00
pkg.status Rename service_extension_router to dart_service_protocol_shared 2023-11-14 21:34:28 +00:00
README.md

Package validation

The packages in pkg/ are automatically validated on the LUCI CI bots. The validation is largely done by the tools/package_deps package; it can be tested locally via:

dart tools/package_deps/bin/package_deps.dart

Packages which are published

There are several packages developed in pkg/ which are published to pub. Validation of these packages is particularly important because the pub tools are not used for these packages during development; we get our dependency versions from the DEPS file. Its very easy for the dependencies specified in a package's pubspec file to get out of date wrt the packages and versions actually used.

In order to better ensure we're publishing correct packages, we validate some properties of the pubspec files on our CI system. These validations include:

  • that the dependencies listed in the pubspec are used in the package
  • that all the packages used by the source are listed in the pubspec
  • that we don't use relative path deps to pkg/ or third_party/ packages

Packages which are not published

For packages in pkg/ which we do not intend to be published, we put the following comment in the pubspec.yaml file:

# This package is not intended for consumption on pub.dev. DO NOT publish.
publish_to: none

These pubspecs are still validated by the package validation tool. The contents are more informational as the pubspecs for these packages are not consumed by the pub tool or ecosystem.

We validate:

  • that the dependencies listed in the pubspec are used in the package
  • that all the packages used by the source are listed in the pubspec
  • that a reference to a pkg/ package is done via a relative path dependency