==== tests/cases/compiler/giant.ts (227 errors) ==== /* Prefixes p -> public r -> private i -> import e -> export a -> ambient t -> static s -> set g -> get MAX DEPTH 3 LEVELS */ var V; function F() { }; class C { constructor () { } public pV; private rV; public pF() { } private rF() { } public pgF() { } public get pgF() ~~~ !!! Duplicate identifier 'pgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. public psF(param:any) { } ~~~~~~ !!! '{' expected. public set psF(param:any) ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~~~~~~~ !!! '{' expected. private get rgF() ~~~ !!! Duplicate identifier 'rgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. private rsF(param:any) { } ~~~~~~~ !!! '{' expected. private set rsF(param:any) ~~~ !!! Duplicate identifier 'rsF'. static tV; ~~~~~~ !!! '{' expected. static tF() { } static tsF(param:any) { } static set tsF(param:any) ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~~~~~~ !!! '{' expected. static get tgF() ~~~ !!! Duplicate identifier 'tgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. } ~ !!! '{' expected. interface I { //Call Signature (); (): number; (p); (p1: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } module M { var V; function F() { }; class C { constructor () { } public pV; private rV; public pF() { } private rF() { } public pgF() { } public get pgF() ~~~ !!! Duplicate identifier 'pgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. public psF(param:any) { } ~~~~~~ !!! '{' expected. public set psF(param:any) ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~~~~~~~ !!! '{' expected. private get rgF() ~~~ !!! Duplicate identifier 'rgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. private rsF(param:any) { } ~~~~~~~ !!! '{' expected. private set rsF(param:any) ~~~ !!! Duplicate identifier 'rsF'. static tV; ~~~~~~ !!! '{' expected. static tF() { } static tsF(param:any) { } static set tsF(param:any) ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~~~~~~ !!! '{' expected. static get tgF() ~~~ !!! Duplicate identifier 'tgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. } ~ !!! '{' expected. interface I { //Call Signature (); (): number; (p); (p1: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } module M { var V; function F() { }; class C { }; interface I { }; module M { }; export var eV; export function eF() { }; export class eC { }; export interface eI { }; export module eM { }; export declare var eaV; export declare function eaF() { }; ~ !!! A function implementation cannot be declared in an ambient context. export declare class eaC { }; export declare module eaM { }; } export var eV; export function eF() { }; export class eC { constructor () { } public pV; private rV; public pF() { } private rF() { } public pgF() { } public get pgF() ~~~ !!! Duplicate identifier 'pgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. public psF(param:any) { } ~~~~~~ !!! '{' expected. public set psF(param:any) ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~~~~~~~ !!! '{' expected. private get rgF() ~~~ !!! Duplicate identifier 'rgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. private rsF(param:any) { } ~~~~~~~ !!! '{' expected. private set rsF(param:any) ~~~ !!! Duplicate identifier 'rsF'. static tV; ~~~~~~ !!! '{' expected. static tF() { } static tsF(param:any) { } static set tsF(param:any) ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~~~~~~ !!! '{' expected. static get tgF() ~~~ !!! Duplicate identifier 'tgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. } ~ !!! '{' expected. export interface eI { //Call Signature (); (): number; (p); (p1: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } export module eM { var V; function F() { }; class C { }; interface I { }; module M { }; export var eV; export function eF() { }; export class eC { }; export interface eI { }; export module eM { }; export declare var eaV; export declare function eaF() { }; ~ !!! A function implementation cannot be declared in an ambient context. export declare class eaC { }; export declare module eaM { }; } export declare var eaV; export declare function eaF() { }; ~ !!! A function implementation cannot be declared in an ambient context. export declare class eaC { constructor () { } ~ !!! A constructor implementation cannot be declared in an ambient context. public pV; private rV; public pF() { } ~ !!! A function implementation cannot be declared in an ambient context. private rF() { } ~ !!! A function implementation cannot be declared in an ambient context. public pgF() { } ~ !!! A function implementation cannot be declared in an ambient context. public get pgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'pgF'. public psF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. public set psF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~ !!! A function implementation cannot be declared in an ambient context. private get rgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'rgF'. private rsF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. private set rsF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'rsF'. static tV; static tF() { } ~ !!! A function implementation cannot be declared in an ambient context. static tsF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. static set tsF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~ !!! A function implementation cannot be declared in an ambient context. static get tgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'tgF'. } export declare module eaM { var V; function F() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. class C { } interface I { } module M { } export var eV; export function eF() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. export class eC { } export interface eI { } export module eM { } } } export var eV; export function eF() { }; export class eC { constructor () { } public pV; private rV; public pF() { } private rF() { } public pgF() { } public get pgF() ~~~ !!! Duplicate identifier 'pgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. public psF(param:any) { } ~~~~~~ !!! '{' expected. public set psF(param:any) ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~~~~~~~ !!! '{' expected. private get rgF() ~~~ !!! Duplicate identifier 'rgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. private rsF(param:any) { } ~~~~~~~ !!! '{' expected. private set rsF(param:any) ~~~ !!! Duplicate identifier 'rsF'. static tV; ~~~~~~ !!! '{' expected. static tF() { } static tsF(param:any) { } static set tsF(param:any) ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~~~~~~ !!! '{' expected. static get tgF() ~~~ !!! Duplicate identifier 'tgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. } ~ !!! '{' expected. export interface eI { //Call Signature (); (): number; (p); (p1: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } export module eM { var V; function F() { }; class C { constructor () { } public pV; private rV; public pF() { } private rF() { } public pgF() { } public get pgF() ~~~ !!! Duplicate identifier 'pgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. public psF(param:any) { } ~~~~~~ !!! '{' expected. public set psF(param:any) ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~~~~~~~ !!! '{' expected. private get rgF() ~~~ !!! Duplicate identifier 'rgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. private rsF(param:any) { } ~~~~~~~ !!! '{' expected. private set rsF(param:any) ~~~ !!! Duplicate identifier 'rsF'. static tV; ~~~~~~ !!! '{' expected. static tF() { } static tsF(param:any) { } static set tsF(param:any) ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~~~~~~ !!! '{' expected. static get tgF() ~~~ !!! Duplicate identifier 'tgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. } ~ !!! '{' expected. interface I { //Call Signature (); (): number; (p); (p1: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } module M { var V; function F() { }; class C { }; interface I { }; module M { }; export var eV; export function eF() { }; export class eC { }; export interface eI { }; export module eM { }; export declare var eaV; export declare function eaF() { }; ~ !!! A function implementation cannot be declared in an ambient context. export declare class eaC { }; export declare module eaM { }; } export var eV; export function eF() { }; export class eC { constructor () { } public pV; private rV; public pF() { } private rF() { } public pgF() { } public get pgF() ~~~ !!! Duplicate identifier 'pgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. public psF(param:any) { } ~~~~~~ !!! '{' expected. public set psF(param:any) ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~~~~~~~ !!! '{' expected. private get rgF() ~~~ !!! Duplicate identifier 'rgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. private rsF(param:any) { } ~~~~~~~ !!! '{' expected. private set rsF(param:any) ~~~ !!! Duplicate identifier 'rsF'. static tV; ~~~~~~ !!! '{' expected. static tF() { } static tsF(param:any) { } static set tsF(param:any) ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~~~~~~ !!! '{' expected. static get tgF() ~~~ !!! Duplicate identifier 'tgF'. ~~~ !!! A 'get' accessor must return a value or consist of a single 'throw' statement. } ~ !!! '{' expected. export interface eI { //Call Signature (); (): number; (p); (p1: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } export module eM { var V; function F() { }; class C { }; interface I { }; module M { }; export var eV; export function eF() { }; export class eC { }; export interface eI { }; export module eM { }; export declare var eaV; export declare function eaF() { }; ~ !!! A function implementation cannot be declared in an ambient context. export declare class eaC { }; export declare module eaM { }; } export declare var eaV; export declare function eaF() { }; ~ !!! A function implementation cannot be declared in an ambient context. export declare class eaC { constructor () { } ~ !!! A constructor implementation cannot be declared in an ambient context. public pV; private rV; public pF() { } ~ !!! A function implementation cannot be declared in an ambient context. private rF() { } ~ !!! A function implementation cannot be declared in an ambient context. public pgF() { } ~ !!! A function implementation cannot be declared in an ambient context. public get pgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'pgF'. public psF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. public set psF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~ !!! A function implementation cannot be declared in an ambient context. private get rgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'rgF'. private rsF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. private set rsF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'rsF'. static tV; static tF() { } ~ !!! A function implementation cannot be declared in an ambient context. static tsF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. static set tsF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~ !!! A function implementation cannot be declared in an ambient context. static get tgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'tgF'. } export declare module eaM { var V; function F() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. class C { } interface I { } module M { } export var eV; export function eF() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. export class eC { } export interface eI { } export module eM { } } } export declare var eaV; export declare function eaF() { }; ~ !!! A function implementation cannot be declared in an ambient context. export declare class eaC { constructor () { } ~ !!! A constructor implementation cannot be declared in an ambient context. public pV; private rV; public pF() { } ~ !!! A function implementation cannot be declared in an ambient context. private rF() { } ~ !!! A function implementation cannot be declared in an ambient context. public pgF() { } ~ !!! A function implementation cannot be declared in an ambient context. public get pgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'pgF'. public psF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. public set psF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'psF'. private rgF() { } ~ !!! A function implementation cannot be declared in an ambient context. private get rgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'rgF'. private rsF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. private set rsF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'rsF'. static tV; static tF() { } ~ !!! A function implementation cannot be declared in an ambient context. static tsF(param:any) { } ~ !!! A function implementation cannot be declared in an ambient context. static set tsF(param:any) ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'tsF'. static tgF() { } ~ !!! A function implementation cannot be declared in an ambient context. static get tgF() ~~~ !!! Accessors are only available when targeting ECMAScript 5 and higher. ~~~ !!! Duplicate identifier 'tgF'. } export declare module eaM { var V; function F() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. class C { constructor () { } ~ !!! A constructor implementation cannot be declared in an ambient context. public pV; private rV; public pF() { } ~ !!! A function implementation cannot be declared in an ambient context. static tV; static tF() { } ~ !!! A function implementation cannot be declared in an ambient context. } interface I { //Call Signature (); (): number; (p: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } module M { var V; function F() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. class C { } interface I { } module M { } export var eV; export function eF() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. export class eC { } export interface eI { } export module eM { } export declare var eaV ~~~~~~~ !!! A 'declare' modifier cannot be used in an already ambient context. export declare function eaF() { }; ~~~~~~~ !!! A 'declare' modifier cannot be used in an already ambient context. ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. export declare class eaC { } ~~~~~~~ !!! A 'declare' modifier cannot be used in an already ambient context. export declare module eaM { } ~~~~~~~ !!! A 'declare' modifier cannot be used in an already ambient context. } export var eV; export function eF() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. export class eC { constructor () { } ~ !!! A constructor implementation cannot be declared in an ambient context. public pV; private rV; public pF() { } ~ !!! A function implementation cannot be declared in an ambient context. static tV static tF() { } ~ !!! A function implementation cannot be declared in an ambient context. } export interface eI { //Call Signature (); (): number; (p); (p1: string); (p2?: string); (...p3: any[]); (p4: string, p5?: string); (p6: string, ...p7: any[]); //(p8?: string, ...p9: any[]); //(p10:string, p8?: string, ...p9: any[]); //Construct Signature new (); new (): number; new (p: string); new (p2?: string); new (...p3: any[]); new (p4: string, p5?: string); new (p6: string, ...p7: any[]); //Index Signature [p]; ~ !!! An index signature parameter must have a type annotation. [p1: string]; ~~~~~~~~~~~~ !!! An index signature must have a type annotation. [p2: string, p3: number]; ~~ !!! An index signature must have exactly one parameter. //Property Signature p; p1?; p2?: string; //Function Signature p3(); p4? (); p5? (): void; p6(pa1): void; p7(pa1, pa2): void; p7? (pa1, pa2): void; ~~ !!! Overload signatures must all be optional or required. } export module eM { var V; function F() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. class C { } module M { } export var eV; export function eF() { }; ~ !!! A function implementation cannot be declared in an ambient context. ~ !!! Statements are not allowed in ambient contexts. export class eC { } export interface eI { } export module eM { } } }