8d0677eca5
After recursive types are gone, finalization of types can be simplified: types can be finalized with a simple recursive traversal and they no longer need to track "being finalized" state. Also, finalization doesn't need to write back finalized types because type finalization without canonicalization is always performed in place and doesn't result in a new type (or type arguments vector). TEST=ci Change-Id: Ifc0a4e12aa410eb2be18c4a475c2f486cfa9ebf2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/299300 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com>