| // Copyright (c) 2023, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| // Tests that field promotion logic properly handles cascades. |
| |
| class C { |
| final Object? _field; |
| C(this._field); |
| } |
| |
| void cascadedPropertyAccess(C c) { |
| c._field as int; |
| c.._field.toString(); |
| } |
| |
| void cascadedNullAwarePropertyAccess(C? c) { |
| c?.._field!.toString().._field.toString(); |
| c?._field; |
| } |
| |
| void cascadedInvocation(C c) { |
| c._field as int Function(); |
| c.._field().toString(); |
| } |
| |
| main() {} |