354b0f8606
This CL adds a new `can-be-used-as-type` section in the dynamic interface to expose the type of a class or extension type, without making them callable or exposing their members. Details: * add the new section to the documentation * add support in the TFA transformation to annotate kernel nodes * add support to the validator to check for proper usage from dynamic modules * add CFE, transformation, and end2end tests. The CL ignores DDC and Dart2wasm at the moment and we intend to approve any failures. It's possible that DDC works due to its modular nature. BUG=b/488343137 TEST=cfe, annotator, and e2e tests Change-Id: I900b22b85950f8ac379eabaa2ef58f075e18519c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/486340 Commit-Queue: Sigmund Cherem <sigmund@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com>