public open override [ResolvedTo(BODY_RESOLVE)] fun foo([ResolvedTo(BODY_RESOLVE)] x: R|kotlin/String|): R|kotlin/Unit| {
    ^foo Q|kotlin/Unit|
}

public open override [ResolvedTo(STATUS)] [IntersectionOverrideOriginalKey=second/B.foo, SubstitutedOverrideOriginalKey=second/B.foo] fun foo([ResolvedTo(STATUS)] x: R|@R|second/Anno|(str = <strcat>(String(super ), R|second/constant|))  kotlin/String|): R|kotlin/Unit|

public open override [ResolvedTo(STATUS)] [IntersectionOverrideOriginalKey=second/B.foo, SubstitutedOverrideOriginalKey=second/C.foo] fun foo([ResolvedTo(STATUS)] x: R|T|): R|kotlin/Unit|

public open override [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/C.foo] fun foo([ResolvedTo(STATUS)] x: R|T|): R|kotlin/Unit|

public open [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] x: R|T|): R|kotlin/Unit| { LAZY_BLOCK }

public open override [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/D.foo] fun foo([ResolvedTo(STATUS)] x: R|T|): R|kotlin/Unit|

public open [ResolvedTo(STATUS)] fun foo([ResolvedTo(STATUS)] x: R|F|): R|kotlin/Unit| { LAZY_BLOCK }

public abstract override [ResolvedTo(STATUS)] [IntersectionOverrideOriginalKey=second/B.bar, SubstitutedOverrideOriginalKey=second/B.bar] var bar: R|@R|second/Anno|(str = <strcat>(String(super ), R|second/constant|))  kotlin/String|



public abstract override [ResolvedTo(STATUS)] [IntersectionOverrideOriginalKey=second/B.bar, SubstitutedOverrideOriginalKey=second/C.bar] var bar: R|T|



public abstract override [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/C.bar] var bar: R|T|
    public [ResolvedTo(STATUS)] [ContainingClassKey=B] get(): R|T|
    public [ResolvedTo(STATUS)] [ContainingClassKey=B] set([ResolvedTo(STATUS)] value: R|T|): R|kotlin/Unit|

public abstract [ResolvedTo(STATUS)] var bar: R|T|
    public [ResolvedTo(STATUS)] [ContainingClassKey=C] get(): R|T|
    public [ResolvedTo(STATUS)] [ContainingClassKey=C] set([ResolvedTo(STATUS)] value: R|T|): R|kotlin/Unit|

@R|second/Anno|[Types](LAZY_EXPRESSION) public abstract override [ResolvedTo(STATUS)] [SubstitutedOverrideOriginalKey=second/D.bar] var bar: R|T|
    @PROPERTY_GETTER:R|second/Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=B] get(): R|T|
    @PROPERTY_SETTER:R|second/Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=B] set([ResolvedTo(STATUS)] value: R|T|): R|kotlin/Unit|

@R|second/Anno|[Types](LAZY_EXPRESSION) public abstract [ResolvedTo(STATUS)] var bar: R|F|
    @PROPERTY_GETTER:R|second/Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=D] get(): R|F|
    @PROPERTY_SETTER:R|second/Anno|[Types](LAZY_EXPRESSION) public [ResolvedTo(STATUS)] [ContainingClassKey=D] set([ResolvedTo(STATUS)] @SETTER_PARAMETER:R|second/Anno|[Types](LAZY_EXPRESSION) value: R|F|): R|kotlin/Unit|

public open operator [ResolvedTo(BODY_RESOLVE)] fun equals([ResolvedTo(BODY_RESOLVE)] other: R|kotlin/Any?|): R|kotlin/Boolean|

public open [ResolvedTo(BODY_RESOLVE)] fun hashCode(): R|kotlin/Int|

public open [ResolvedTo(BODY_RESOLVE)] fun toString(): R|kotlin/String|
