xref: /aosp_15_r20/external/skia/resources/sksl/shared/ScopedSymbol.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed;
2*c8dee2aaSAndroid Build Coastguard Workerint glob;
3*c8dee2aaSAndroid Build Coastguard Worker
4*c8dee2aaSAndroid Build Coastguard Workerbool block_variable_hides_local_variable() {
5*c8dee2aaSAndroid Build Coastguard Worker    bool var = true;
6*c8dee2aaSAndroid Build Coastguard Worker    {
7*c8dee2aaSAndroid Build Coastguard Worker        bool var = false;
8*c8dee2aaSAndroid Build Coastguard Worker    }
9*c8dee2aaSAndroid Build Coastguard Worker    return var;
10*c8dee2aaSAndroid Build Coastguard Worker}
11*c8dee2aaSAndroid Build Coastguard Worker
12*c8dee2aaSAndroid Build Coastguard Workerbool block_variable_hides_global_variable() {
13*c8dee2aaSAndroid Build Coastguard Worker    {
14*c8dee2aaSAndroid Build Coastguard Worker        int glob = 1;
15*c8dee2aaSAndroid Build Coastguard Worker    }
16*c8dee2aaSAndroid Build Coastguard Worker    return glob == 2;
17*c8dee2aaSAndroid Build Coastguard Worker}
18*c8dee2aaSAndroid Build Coastguard Worker
19*c8dee2aaSAndroid Build Coastguard Workerstruct S {
20*c8dee2aaSAndroid Build Coastguard Worker    int i;
21*c8dee2aaSAndroid Build Coastguard Worker};
22*c8dee2aaSAndroid Build Coastguard Worker
23*c8dee2aaSAndroid Build Coastguard Workerbool local_variable_hides_struct() {
24*c8dee2aaSAndroid Build Coastguard Worker    bool S = true;
25*c8dee2aaSAndroid Build Coastguard Worker    return S;
26*c8dee2aaSAndroid Build Coastguard Worker}
27*c8dee2aaSAndroid Build Coastguard Worker
28*c8dee2aaSAndroid Build Coastguard Workerbool local_struct_variable_hides_struct_type() {
29*c8dee2aaSAndroid Build Coastguard Worker    S S = S(1);
30*c8dee2aaSAndroid Build Coastguard Worker    return S.i == 1;
31*c8dee2aaSAndroid Build Coastguard Worker}
32*c8dee2aaSAndroid Build Coastguard Worker
33*c8dee2aaSAndroid Build Coastguard Workerbool local_variable_hides_global_variable() {
34*c8dee2aaSAndroid Build Coastguard Worker    int glob = 1;
35*c8dee2aaSAndroid Build Coastguard Worker    return glob == 1;
36*c8dee2aaSAndroid Build Coastguard Worker}
37*c8dee2aaSAndroid Build Coastguard Worker
38*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) {
39*c8dee2aaSAndroid Build Coastguard Worker    glob = 2;
40*c8dee2aaSAndroid Build Coastguard Worker    return (block_variable_hides_local_variable() &&
41*c8dee2aaSAndroid Build Coastguard Worker            block_variable_hides_global_variable() &&
42*c8dee2aaSAndroid Build Coastguard Worker            local_variable_hides_struct() &&
43*c8dee2aaSAndroid Build Coastguard Worker            local_struct_variable_hides_struct_type() &&
44*c8dee2aaSAndroid Build Coastguard Worker            local_variable_hides_global_variable()) ? colorGreen : colorRed;
45*c8dee2aaSAndroid Build Coastguard Worker}
46