2284e74d7e
Dart protobufs allow users to specify a mixin class that will get applied to a GeneratedMessage subclass's class hierarchy. Internal programs use these mixins for various purposes. But these classes can still benefit from tree shaking. This is controlled by a separate flag because it is technically unsafe to introduce this treeshaking to a new set of classes. The user must opt-in to verify these new classes are safe to tree-shake. We already have an analagous flag for tree shaking in dart2js (and some customers have turned it on). TEST=Treeshaker test and testcases updated. Change-Id: Id613078699af38b7ca36420fb2b41945d645b6a1 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/462180 Reviewed-by: Jens Johansen <jensj@google.com> Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Nate Biggs <natebiggs@google.com>