mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 04:06:59 +00:00
d5e2fcb430
This CL adds the work done at https://github.com/dart-lang/reify to SDK. The commit that is used for the merge is a2066a68374d49de92ff75f5e1ffc36335fd9451 (Nov 23, 2016). The code is adjusted to respect the changes of the kernel package in SDK since that commit. The reify transformation is run by specifying 'vmreify' target to 'dartk'. The transformation requires its runtime library to present in the program being transformed. The library is found in its default location in SDK checkout if 'dartk' is run from its default location in SDK checkout. To preserve the library in the output, TreeShaker is disabled in 'vmreify' target. The "golden" set of tests is also copied from 'dart-lang/reify' repository, and the appropriate test suite is defined for it. The bash script 'bin/reified_dart' from 'dart-lang/reify' is rewritten as Dart script 'pkg/kernel/bin/reified_dart.dart'. It requires path to 'dartk' and path to SDK. Those are taken from their default locations in SDK if 'reified_dart.dart' is run from its default location in SDK. The added files were formatted using 'dartfmt' with default settings. Additionally, the files were checked with 'dartanalyzer --strong'. The necessary changes were made to fix the error messages. There are some 'hint' and 'error' messages left for some .dart files from the added test cases, but they reflect intentional errors or conventions in those files. R=asgerf@google.com, karlklose@google.com Review-Url: https://codereview.chromium.org/2697873007 .
605 B
605 B
Runtime Support for Reified Generic Types
This subdirectory contains files used at runtime by the code generated by [../reify_transformer.dart].
The files in this directory can be imported by anyone, but files in this directory should be frugal about importing anything themselves. This is because this library is used by all programs that are tranformed and contributes to code size.