Revert "Revert^2 "Allow structural redefinition on non-final classes.""

This reverts commit f1b809ce611e943f926fff97cefe0930226ffcc2.

Reason for revert: Tests still fail

Bug: 134162467
Bug: 144168550
Change-Id: Icdebc826b8630920b716afbfd6f338a29669fcc2
47 files changed