tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(1,5): error TS2300: Duplicate identifier 'v'.
tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(3,14): error TS2300: Duplicate identifier 'v'.
tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(6,10): error TS2300: Duplicate identifier 'w'.
tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(8,9): error TS2300: Duplicate identifier 'w'.
tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(12,9): error TS2300: Duplicate identifier 'x'.
tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(13,14): error TS2300: Duplicate identifier 'x'.
tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(16,9): error TS2403: Subsequent variable declarations must have the same type.  Variable 'p' must be of type 'string', but here has type 'number'.


==== tests/cases/compiler/duplicateIdentifierInCatchBlock.ts (7 errors) ====
    var v;
        ~
!!! error TS2300: Duplicate identifier 'v'.
    try { } catch (e) {
        function v() { }
                 ~
!!! error TS2300: Duplicate identifier 'v'.
    }
    
    function w() { }
             ~
!!! error TS2300: Duplicate identifier 'w'.
    try { } catch (e) {
        var w;
            ~
!!! error TS2300: Duplicate identifier 'w'.
    }
    
    try { } catch (e) {
        var x;
            ~
!!! error TS2300: Duplicate identifier 'x'.
        function x() { } // error
                 ~
!!! error TS2300: Duplicate identifier 'x'.
        function e() { } // error
        var p: string;
        var p: number; // error
            ~
!!! error TS2403: Subsequent variable declarations must have the same type.  Variable 'p' must be of type 'string', but here has type 'number'.
    }