blob: c574139e712a47309fd21a155c3eee113f548e14 [file] [log] [blame]
// 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> {}