import 'bloc.dart'; /// The other half of the shared-name pair, deliberately in a file that the UI /// files do NOT import. /// /// UI matching is by UNQUALIFIED name, so if mention tracking were project-wide, /// `AlphaView` matching `DuplicatedName` for AlphaState would silently mark this /// BetaState variant as rendered too. Scoping mentions per union - a file only /// counts for a union it also names the type or owner of - is what keeps this /// one reported. class BetaEvent {} sealed class BetaState { const BetaState(); } class DuplicatedName extends BetaState { const DuplicatedName(); } class BetaBloc extends Bloc { BetaBloc() : super(const DuplicatedName()); void go() => emit(const DuplicatedName()); }