/// ////// DEFAULT INTERFACES ////interface IFoo { //// n: number; //// s: string; //// f(i: number, s: string): string; //// a: number[]; ////} ////interface IBar { //// foo: IFoo; ////} ////// CONTEXT: Class property declaration ////class C1T5 { //// /*1*/foo: (i: number, s: string) => number = function(/*2*/i) { //// return /*3*/i; //// } ////} ////// CONTEXT: Module property declaration ////module C2T5 { //// export var /*4*/foo: (i: number, s: string) => number = function(/*5*/i) { //// return /*6*/i; //// } ////} ////// CONTEXT: Variable declaration ////var /*7*/c3t1: (s: string) => string = (function(/*8*/s) { return /*9*/s }); ////var /*10*/c3t2 = ({ //// n: 1 ////}) ////var /*11*/c3t3: number[] = []; ////var /*12*/c3t4: () => IFoo = function() { return ({}) }; ////var /*13*/c3t5: (n: number) => IFoo = function(/*14*/n) { return ({}) }; ////var /*15*/c3t6: (n: number, s: string) => IFoo = function(/*16*/n, /*17*/s) { return ({}) }; ////var /*18*/c3t7: { //// (n: number): number; //// (s1: string): number; ////}; ////var /*20*/c3t8: (n: number, s: string) => number = function(/*21*/n) { return n; }; ////var /*22*/c3t9: number[][] = [[],[]]; ////var /*23*/c3t10: IFoo[] = [({}),({})]; ////var /*24*/c3t11: {(n: number, s: string): string;}[] = [function(/*25*/n, /*26*/s) { return s; }]; ////var /*27*/c3t12: IBar = { //// /*28*/foo: ({}) ////} ////var /*29*/c3t13 = ({ //// /*30*/f: function(/*31*/i, /*32*/s) { return s; } ////}) ////var /*33*/c3t14 = ({ //// /*34*/a: [] ////}) ////// CONTEXT: Class property assignment ////class C4T5 { //// /*35*/foo: (i: number, s: string) => string; //// constructor() { //// this.foo = function(/*36*/i, /*37*/s) { //// return s; //// } //// } ////} ////// CONTEXT: Module property assignment ////module C5T5 { //// export var /*38*/foo: (i: number, s: string) => string; //// foo = function(/*39*/i, /*40*/s) { //// return s; //// } ////} ////// CONTEXT: Variable assignment ////var /*41*/c6t5: (n: number) => IFoo; ////c6t5 = <(n: number) => IFoo>function(/*42*/n) { return ({}) }; ////// CONTEXT: Array index assignment ////var /*43*/c7t2: IFoo[]; /////*44*/c7t2[0] = ({n: 1}); ////// CONTEXT: Object property assignment ////interface IPlaceHolder { //// t1: (s: string) => string; //// t2: IFoo; //// t3: number[]; //// t4: () => IFoo; //// t5: (n: number) => IFoo; //// t6: (n: number, s: string) => IFoo; //// t7: { //// (n: number, s: string): number; //// //(s1: string, s2: string): number; //// }; //// t8: (n: number, s: string) => number; //// t9: number[][]; //// t10: IFoo[]; //// t11: {(n: number, s: string): string;}[]; //// t12: IBar; //// t13: IFoo; //// t14: IFoo; //// } ////var objc8: { //// t1: (s: string) => string; //// t2: IFoo; //// t3: number[]; //// t4: () => IFoo; //// t5: (n: number) => IFoo; //// t6: (n: number, s: string) => IFoo; //// t7: { //// (n: number, s: string): number; //// //(s1: string, s2: string): number; //// }; //// t8: (n: number, s: string) => number; //// t9: number[][]; //// t10: IFoo[]; //// t11: {(n: number, s: string): string;}[]; //// t12: IBar; //// t13: IFoo; //// t14: IFoo; ////} = ({}); ////objc8./*45*/t1 = (function(/*46*/s) { return s }); ////objc8./*47*/t2 = ({ //// n: 1 ////}); ////objc8./*48*/t3 = []; ////objc8./*49*/t4 = function() { return ({}) }; ////objc8./*50*/t5 = function(/*51*/n) { return ({}) }; ////objc8./*52*/t6 = function(/*53*/n, /*54*/s) { return ({}) }; ////objc8./*55*/t7 = function(n: number) { return n }; ////objc8./*56*/t8 = function(/*57*/n) { return n; }; ////objc8./*58*/t9 = [[],[]]; ////objc8./*59*/t10 = [({}),({})]; ////objc8./*60*/t11 = [function (/*61*/n, /*62*/s) { return s; }]; ////objc8./*63*/t12 = { //// /*64*/foo: ({}) ////} ////objc8./*65*/t13 = ({ //// /*66*/f: function(/*67*/i, /*68*/s) { return s; } ////}) ////objc8./*69*/t14 = ({ //// /*70*/a: [] ////}) ////// CONTEXT: Function call ////function c9t5(f: (n: number) => IFoo) {}; ////c9t5(function(/*71*/n) { //// return ({}); ////}); ////// CONTEXT: Return statement ////var /*72*/c10t5: () => (n: number) => IFoo = function() { return function(/*73*/n) { return ({}) } }; ////// CONTEXT: Newing a class ////class C11t5 { constructor(f: (n: number) => IFoo) { } }; ////var i = new C11t5(function(/*74*/n) { return ({}) }); ////// CONTEXT: Type annotated expression ////var /*75*/c12t1 = <(s: string) => string> (function (/*76*/s) { return s }); ////var /*77*/c12t2 = ({ //// n: 1 ////}); ////var /*78*/c12t3 = []; ////var /*79*/c12t4 = <() => IFoo> function() { return ({}) }; ////var /*80*/c12t5 = <(n: number) => IFoo> function(/*81*/n) { return ({}) }; ////var /*82*/c12t6 = <(n: number, s: string) => IFoo> function(/*83*/n, /*84*/s) { return ({}) }; ////var /*85*/c12t7 = <{ //// (n: number, s: string): number; //// //(s1: string, s2: string): number; ////}> function(n:number) { return n }; ////var /*86*/c12t8 = <(n: number, s: string) => number> function (/*87*/n) { return n; }; ////var /*88*/c12t9 = [[],[]]; ////var /*89*/c12t10 = [({}),({})]; ////var /*90*/c12t11 = <{ (n: number, s: string): string; }[]>[function (/*91*/n, /*92*/s) { return s; }]; ////var /*93*/c12t12 = { //// /*94*/foo: ({}) ////} ////var /*95*/c12t13 = ({ //// /*96*/f: function(/*97*/i, /*98*/s) { return s; } ////}) ////var /*99*/c12t14 = ({ //// /*100*/a: [] ////}) ////// CONTEXT: Contextual typing declarations ////// contextually typing function declarations ////function EF1(a: number, b:number):number; ////function /*101*/EF1(/*102*/a,/*103*/b) { return a+b; } ////var efv = EF1(1,2); ////// contextually typing from ambient class declarations ////declare class Point ////{ //// constructor(x: number, y: number); //// x: number; //// y: number; //// add(dx: number, dy: number): Point; //// static origin: Point; ////} ////Point./*110*/origin = new /*111*/Point(0, 0); ////Point.prototype./*112*/add = function (/*113*/dx, /*114*/dy) { //// return new Point(this.x + dx, this.y + dy); ////}; ////Point.prototype = { //// x: 0, //// y: 0, //// /*115*/add: function (/*116*/dx, /*117*/dy) { //// return new Point(this.x + dx, this.y + dy); //// } ////}; verify.quickInfos({ 1: "(property) C1T5.foo: (i: number, s: string) => number", 2: "(parameter) i: number", 3: "(parameter) i: number", 4: "var C2T5.foo: (i: number, s: string) => number", 5: "(parameter) i: number", 6: "(parameter) i: number", 7: "var c3t1: (s: string) => string", 8: "(parameter) s: string", 9: "(parameter) s: string", 10: "var c3t2: IFoo", 11: "var c3t3: number[]", 12: "var c3t4: () => IFoo", 13: "var c3t5: (n: number) => IFoo", 14: "(parameter) n: number", 15: "var c3t6: (n: number, s: string) => IFoo", 16: "(parameter) n: number", 17: "(parameter) s: string", 18: "var c3t7: {\n (n: number): number;\n (s1: string): number;\n}", 20: "var c3t8: (n: number, s: string) => number", 21: "(parameter) n: number", 22: "var c3t9: number[][]", 23: "var c3t10: IFoo[]", 24: "var c3t11: ((n: number, s: string) => string)[]", 25: "(parameter) n: number", 26: "(parameter) s: string", 27: "var c3t12: IBar", 28: "(property) IBar.foo: IFoo", 29: "var c3t13: IFoo", 30: "(method) IFoo.f(i: number, s: string): string", 31: "(parameter) i: number", 32: "(parameter) s: string", 33: "var c3t14: IFoo", 34: "(property) IFoo.a: number[]", 35: "(property) C4T5.foo: (i: number, s: string) => string", 36: "(parameter) i: number", 37: "(parameter) s: string", 38: "var C5T5.foo: (i: number, s: string) => string", 39: "(parameter) i: number", 40: "(parameter) s: string", 41: "var c6t5: (n: number) => IFoo", 42: "(parameter) n: number", 43: "var c7t2: IFoo[]", 44: "var c7t2: IFoo[]", 45: "(property) t1: (s: string) => string", 46: "(parameter) s: string", 47: "(property) t2: IFoo", 48: "(property) t3: number[]", 49: "(property) t4: () => IFoo", 50: "(property) t5: (n: number) => IFoo", 51: "(parameter) n: number", 52: "(property) t6: (n: number, s: string) => IFoo", 53: "(parameter) n: number", 54: "(parameter) s: string", 55: "(property) t7: (n: number, s: string) => number", 56: "(property) t8: (n: number, s: string) => number", 57: "(parameter) n: number", 58: "(property) t9: number[][]", 59: "(property) t10: IFoo[]", 60: "(property) t11: ((n: number, s: string) => string)[]", 61: "(parameter) n: number", 62: "(parameter) s: string", 63: "(property) t12: IBar", 64: "(property) IBar.foo: IFoo", 65: "(property) t13: IFoo", 66: "(method) IFoo.f(i: number, s: string): string", 67: "(parameter) i: number", 68: "(parameter) s: string", 69: "(property) t14: IFoo", 70: "(property) IFoo.a: number[]", 71: "(parameter) n: number", 72: "var c10t5: () => (n: number) => IFoo", 73: "(parameter) n: number", 74: "(parameter) n: number", 75: "var c12t1: (s: string) => string", 76: "(parameter) s: string", 77: "var c12t2: IFoo", 78: "var c12t3: number[]", 79: "var c12t4: () => IFoo", 80: "var c12t5: (n: number) => IFoo", 81: "(parameter) n: number", 82: "var c12t6: (n: number, s: string) => IFoo", 83: "(parameter) n: number", 84: "(parameter) s: string", 85: "var c12t7: (n: number, s: string) => number", 86: "var c12t8: (n: number, s: string) => number", 87: "(parameter) n: number", 88: "var c12t9: number[][]", 89: "var c12t10: IFoo[]", 90: "var c12t11: ((n: number, s: string) => string)[]", 91: "(parameter) n: number", 92: "(parameter) s: string", 93: "var c12t12: IBar", 94: "(property) IBar.foo: IFoo", 95: "var c12t13: IFoo", 96: "(method) IFoo.f(i: number, s: string): string", 97: "(parameter) i: number", 98: "(parameter) s: string", 99: "var c12t14: IFoo", 100: "(property) IFoo.a: number[]", 101: "function EF1(a: number, b: number): number", 102: "(parameter) a: any", 103: "(parameter) b: any", 110: "(property) Point.origin: Point", 111: "constructor Point(x: number, y: number): Point", 112: "(method) Point.add(dx: number, dy: number): Point", 113: "(parameter) dx: number", 114: "(parameter) dy: number", 115: "(method) Point.add(dx: number, dy: number): Point", 116: "(parameter) dx: number", 117: "(parameter) dy: number" });