tests/cases/conformance/jsdoc/declarations/index.js(4,16): error TS8004: Type parameter declarations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(5,12): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(8,16): error TS8004: Type parameter declarations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(8,29): error TS8011: Type arguments can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(9,12): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(13,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(19,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(23,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(27,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(28,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(32,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(39,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(43,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(47,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(48,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(52,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(53,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(59,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(63,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(67,11): error TS8010: Type annotations can only be used in TypeScript files.
tests/cases/conformance/jsdoc/declarations/index.js(68,11): error TS8010: Type annotations can only be used in TypeScript files.


==== tests/cases/conformance/jsdoc/declarations/index.js (21 errors) ====
    // Pretty much all of this should be an error, (since index signatures and generics are forbidden in js),
    // but we should be able to synthesize declarations from the symbols regardless
    
    export class M<T> {
                   ~
!!! error TS8004: Type parameter declarations can only be used in TypeScript files.
        field: T;
               ~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class N<U> extends M<U> {
                   ~
!!! error TS8004: Type parameter declarations can only be used in TypeScript files.
                                ~
!!! error TS8011: Type arguments can only be used in TypeScript files.
        other: U;
               ~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class O {
        [idx: string]: string;
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class P extends O {}
    
    export class Q extends O {
        [idx: string]: "ok";
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class R extends O {
        [idx: number]: "ok";
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class S extends O {
        [idx: string]: "ok";
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
        [idx: number]: never;
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class T {
        [idx: number]: string;
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class U extends T {}
    
    
    export class V extends T {
        [idx: string]: string;
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class W extends T {
        [idx: number]: "ok";
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class X extends T {
        [idx: string]: string;
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
        [idx: number]: "ok";
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class Y {
        [idx: string]: {x: number};
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
        [idx: number]: {x: number, y: number};
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class Z extends Y {}
    
    export class AA extends Y {
        [idx: string]: {x: number, y: number};
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class BB extends Y {
        [idx: number]: {x: 0, y: 0};
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    
    export class CC extends Y {
        [idx: string]: {x: number, y: number};
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
        [idx: number]: {x: 0, y: 0};
              ~~~~~~
!!! error TS8010: Type annotations can only be used in TypeScript files.
    }
    