b9a0c0dfba
This change adds toString transformation to gen_kernel and frontend_server tools in Dart SDK. The implementation and tests are derived from pkg/frontend_server/lib/src/to_string_transformer.dart and https://github.com/flutter/engine/tree/master/flutter_frontend_server/test. In addition to _KeepToString in dart:ui, toString transformation now supports @pragma('flutter:keep-to-string') to exclude certain toString methods from the transformation without depending on dart:ui. pkg/frontend_server/lib/src/to_string_transformer.dart is not cleaned up in this change yet as it is still used by Flutter engine. Cleanup will be done after Flutter engine is cleaned up, after it is switched to the implementation of toString transformer added in this change. This is also a step towards a unified kernel compiler (https://github.com/dart-lang/sdk/issues/39126). TEST=pkg/vm/test/transformations/to_string_transformer_test.dart Issue: https://github.com/dart-lang/sdk/issues/46022 Issue: https://github.com/dart-lang/sdk/issues/39126 Change-Id: Icbfd3fa193d54f1fc6b2d7fa0bace82b3704f91f Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/200525 Reviewed-by: Dan Field <dnfield@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@google.com> Commit-Queue: Alexander Markov <alexmarkov@google.com>