=== tests/cases/compiler/accessors_spec_section-4.5_inference.ts ===
class A { }
>A : A

class B extends A { }
>B : B
>A : A

class LanguageSpec_section_4_5_inference {
>LanguageSpec_section_4_5_inference : LanguageSpec_section_4_5_inference

    public set InferredGetterFromSetterAnnotation(a: A) { }
>InferredGetterFromSetterAnnotation : A
>a : A

    public get InferredGetterFromSetterAnnotation() { return new B(); }
>InferredGetterFromSetterAnnotation : A
>new B() : B
>B : typeof B

    public get InferredGetterFromSetterAnnotation_GetterFirst() { return new B(); }
>InferredGetterFromSetterAnnotation_GetterFirst : A
>new B() : B
>B : typeof B

    public set InferredGetterFromSetterAnnotation_GetterFirst(a: A) { }
>InferredGetterFromSetterAnnotation_GetterFirst : A
>a : A
    

    public get InferredFromGetter() { return new B(); }
>InferredFromGetter : B
>new B() : B
>B : typeof B

    public set InferredFromGetter(a) { }
>InferredFromGetter : B
>a : B

    public set InferredFromGetter_SetterFirst(a) { }
>InferredFromGetter_SetterFirst : B
>a : B

    public get InferredFromGetter_SetterFirst() { return new B(); }
>InferredFromGetter_SetterFirst : B
>new B() : B
>B : typeof B

    public set InferredSetterFromGetterAnnotation(a) { }
>InferredSetterFromGetterAnnotation : A
>a : A

    public get InferredSetterFromGetterAnnotation() : A { return new B(); }
>InferredSetterFromGetterAnnotation : A
>new B() : B
>B : typeof B

    public get InferredSetterFromGetterAnnotation_GetterFirst() : A { return new B(); }
>InferredSetterFromGetterAnnotation_GetterFirst : A
>new B() : B
>B : typeof B

    public set InferredSetterFromGetterAnnotation_GetterFirst(a) { }
>InferredSetterFromGetterAnnotation_GetterFirst : A
>a : A
}
