0615d3a467
Closes https://github.com/dart-lang/sdk/issues/62573 isA<JSExportedDartFunction>() used to just check if the object was a function, leading to a possible runtime error if `toDart` is called. Fixes that by introducing some helpers and moving around some functions in the JS compilers to other internal libraries (public members can't be added to js_allow_interop_patch.dart). Also fixes a minor issue in dart2js where `allowInterop`ed functions could successfully invoke `JSExportedDartFunction.toDart`. CoreLibraryReviewExempt: Documentation change. Change-Id: I5a9d7c31d3143eb3fb6ebd3273a4bf06ca329479 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/482967 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Srujan Gaddam <srujzs@google.com> Reviewed-by: Nate Biggs <natebiggs@google.com>
Front end for Dart
This package provides a low-level API for use by compiler back ends that wish to implement the Dart language. It is intended for eventual use by dev_compiler, dart2js, and the Dart VM. In addition, it will share implementation details with the analyzer package--this will be accomplished by having the analyzer package import (and re-export) parts of this package's private implementation.
End-users should use the dart analyze
command-line tool to analyze their Dart code.
Integrators that want to write tools that analyze Dart code should use the analyzer package.
Note: A previous version of this package was published on pub.dev. It has now been marked DISCONTINUED as it is not intended for direct consumption, as per the notes above.