| // Copyright (c) 2024, 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. |
| |
| class A { |
| const A(); |
| const factory A.redir() = B; |
| const factory A.redir2() = B; |
| const A.named(); |
| const A.named2(); |
| const factory A.selfRedir() = A.named; |
| const factory A.selfRedir2() = A.named2; |
| } |
| |
| class B extends A { |
| const B(); |
| } |
| |
| typedef TA = A; |
| |
| test(@TA.redir() int x, @TA.named() int x2, @A.redir() int x3, |
| @A.selfRedir() int x4) { |
| @TA.redir2() |
| int localVariable = 0; |
| |
| @TA.redir2() |
| void localFunction() {} |
| |
| @TA.named2() |
| int localVariable2 = 0; |
| |
| @TA.named2() |
| void localFunction2() {} |
| |
| @A.redir2() |
| int localVariable3 = 0; |
| |
| @A.redir2() |
| void localFunction3() {} |
| |
| @A.selfRedir2() |
| int localVariable4 = 0; |
| |
| @A.selfRedir2() |
| void localFunction4() {} |
| } |
| |
| class Test { |
| test(@TA.redir() int x, @TA.named() int x2, @A.redir() int x3, |
| @A.selfRedir() int x4) { |
| @TA.redir2() |
| int localVariable = 0; |
| |
| @TA.redir2() |
| void localFunction() {} |
| |
| @TA.named2() |
| int localVariable2 = 0; |
| |
| @TA.named2() |
| void localFunction2() {} |
| |
| @A.redir2() |
| int localVariable3 = 0; |
| |
| @A.redir2() |
| void localFunction3() {} |
| |
| @A.selfRedir2() |
| int localVariable4 = 0; |
| |
| @A.selfRedir2() |
| void localFunction4() {} |
| } |
| } |