9eb648a124
Move class-related flags off fragments and compute them directly on `ClassElementImpl`. This reduces coupling to fragments and avoids duplicated logic. Changes: - Compute `isConstructable` as `!isSealed && !isAbstract` instead of delegating to `_firstFragment`. - Compute `isExhaustive` as `isSealed`. - Remove `hasGenerativeConstConstructor`, `isConstructable`, and `isExhaustive` getters from `ClassFragmentImpl`. - In constant verifier, resolve the enclosing class via `container.declaredFragment!.element` and check `ClassElementImpl` rather than fragment types. Why: - Centralizes flag computation on the element, making semantics clearer. - Decreases fragment dependencies and maintenance surface. Change-Id: I4b7153a4a55037e6dc12e18a32161a3472902eeb Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/446008 Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>