| // Minimized test case from InitializationVisitor. |
| |
| class IATF< |
| Value extends CFAV<Value>, |
| Store extends IS<Value, Store>, |
| Transfer extends IT<Value, Transfer, Store>, |
| Flow extends CFAA<Value, Store, Transfer>> |
| extends GATF<Value, Store, Transfer, Flow> {} |
| |
| class CFAV<V extends CFAV<V>> {} |
| |
| class IS<V extends CFAV<V>, S extends IS<V, S>> extends CFAS<V, S> {} |
| |
| class IT<V extends CFAV<V>, T extends IT<V, T, S>, S extends IS<V, S>> extends CFAT<V, S, T> {} |
| |
| class CFAA<V extends CFAV<V>, S extends CFAS<V, S>, T extends CFAT<V, S, T>> {} |
| |
| class CFAT<V extends CFAV<V>, S extends CFAS<V, S>, T extends CFAT<V, S, T>> {} |
| |
| class CFAS<V extends CFAV<V>, S extends CFAS<V, S>> {} |
| |
| class GATF< |
| Value extends CFAV<Value>, |
| Store extends CFAS<Value, Store>, |
| TransferFunction extends CFAT<Value, Store, TransferFunction>, |
| FlowAnalysis extends CFAA<Value, Store, TransferFunction>> {} |
| |
| class BTV<Factory extends GATF<?, ?, ?, ?>> {} |
| |
| class IV< |
| Factory extends IATF<Value, Store, ?, ?>, |
| Value extends CFAV<Value>, |
| Store extends IS<Value, Store>> |
| extends BTV<Factory> {} |