unionTypePropertyAccessibility.ts(2,5): error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
unionTypePropertyAccessibility.ts(6,12): error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
unionTypePropertyAccessibility.ts(10,15): error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
unionTypePropertyAccessibility.ts(14,13): error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
unionTypePropertyAccessibility.ts(35,4): error TS2445: Property 'member' is protected and only accessible within class 'Protected' and its subclasses.
unionTypePropertyAccessibility.ts(36,4): error TS2341: Property 'member' is private and only accessible within class 'Private'.
unionTypePropertyAccessibility.ts(38,4): error TS2339: Property 'member' does not exist on type 'Default | Protected'.
unionTypePropertyAccessibility.ts(39,4): error TS2339: Property 'member' does not exist on type 'Default | Private'.
unionTypePropertyAccessibility.ts(40,4): error TS2339: Property 'member' does not exist on type 'Public | Protected'.
unionTypePropertyAccessibility.ts(41,4): error TS2339: Property 'member' does not exist on type 'Public | Private'.
unionTypePropertyAccessibility.ts(42,5): error TS2339: Property 'member' does not exist on type 'Protected | Private'.
unionTypePropertyAccessibility.ts(43,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Protected'.
unionTypePropertyAccessibility.ts(44,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Private'.
unionTypePropertyAccessibility.ts(45,5): error TS2339: Property 'member' does not exist on type 'Default | Protected | Private'.
unionTypePropertyAccessibility.ts(46,5): error TS2339: Property 'member' does not exist on type 'Public | Protected | Private'.
unionTypePropertyAccessibility.ts(47,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Protected | Private'.


==== unionTypePropertyAccessibility.ts (16 errors) ====
    class Default {
        member: string;
        ~~~~~~
!!! error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
    }
    
    class Public {
        public member: string;
               ~~~~~~
!!! error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
    }
    
    class Protected {
        protected member: string;
                  ~~~~~~
!!! error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
    }
    
    class Private {
        private member: number;
                ~~~~~~
!!! error TS2564: Property 'member' has no initializer and is not definitely assigned in the constructor.
    }
    
    declare var v1: Default;
    declare var v2: Public;
    declare var v3: Protected;
    declare var v4: Private;
    declare var v5: Default | Public;
    declare var v6: Default | Protected;
    declare var v7: Default | Private;
    declare var v8: Public | Protected;
    declare var v9: Public | Private;
    declare var v10: Protected | Private;
    declare var v11: Default | Public | Protected;
    declare var v12: Default | Public | Private;
    declare var v13: Default | Protected | Private;
    declare var v14: Public | Private | Protected;
    declare var v15: Default | Public | Private | Protected;
    
    v1.member;
    v2.member;
    v3.member;
       ~~~~~~
!!! error TS2445: Property 'member' is protected and only accessible within class 'Protected' and its subclasses.
    v4.member;
       ~~~~~~
!!! error TS2341: Property 'member' is private and only accessible within class 'Private'.
    v5.member;
    v6.member;
       ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Default | Protected'.
    v7.member;
       ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Default | Private'.
    v8.member;
       ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Public | Protected'.
    v9.member;
       ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Public | Private'.
    v10.member;
        ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Protected | Private'.
    v11.member;
        ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Protected'.
    v12.member;
        ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Private'.
    v13.member;
        ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Default | Protected | Private'.
    v14.member;
        ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Public | Protected | Private'.
    v15.member;
        ~~~~~~
!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Protected | Private'.
    