/// /////** This is comment for c1*/ ////class c/*1*/1 { //// /** p1 is property of c1*/ //// public p/*2*/1: number; //// /** sum with property*/ //// public p/*3*/2(/** number to add*/b: number) { //// return this./*4*/p1 + /*5*/b; //// } //// /** getter property 1*/ //// public get p/*6*/3() { //// return this./*7*/p/*8q*/2(/*8*/this./*9*/p1); //// } //// /** setter property 1*/ //// public set p/*10*/3(/** this is value*/value: number) { //// this./*11*/p1 = this./*12*/p/*13q*/2(/*13*/value); //// } //// /** pp1 is property of c1*/ //// private p/*14*/p1: number; //// /** sum with property*/ //// private p/*15*/p2(/** number to add*/b: number) { //// return this./*16*/p1 + /*17*/b; //// } //// /** getter property 2*/ //// private get p/*18*/p3() { //// return this./*19*/p/*20q*/p2(/*20*/this./*21*/pp1); //// } //// /** setter property 2*/ //// private set p/*22*/p3( /** this is value*/value: number) { //// this./*23*/pp1 = this./*24*/p/*25q*/p2(/*25*/value); //// } //// /** Constructor method*/ //// constru/*26*/ctor() { //// } //// /** s1 is static property of c1*/ //// static s/*27*/1: number; //// /** static sum with property*/ //// static s/*28*/2(/** number to add*/b: number) { //// return /*29*/c1./*30*/s1 + /*31*/b; //// } //// /** static getter property*/ //// static get s/*32*/3() { //// return /*33*/c1./*34*/s/*35q*/2(/*35*/c1./*36*/s1); //// } //// /** setter property 3*/ //// static set s/*37*/3( /** this is value*/value: number) { //// /*38*/c1./*39*/s1 = /*40*/c1./*41*/s/*42q*/2(/*42*/value); //// } //// public nc_/*43*/p1: number; //// public nc_/*44*/p2(b: number) { //// return this.nc_p1 + /*45*/b; //// } //// public get nc_/*46*/p3() { //// return this.nc/*47q*/_p2(/*47*/this.nc_p1); //// } //// public set nc/*48*/_p3(value: number) { //// this.nc_p1 = this.nc/*49q*/_p2(/*49*/value); //// } //// private nc/*50*/_pp1: number; //// private nc_/*51*/pp2(b: number) { //// return this.nc_pp1 + /*52*/b; //// } //// private get nc/*53*/_pp3() { //// return this.nc_/*54q*/pp2(/*54*/this.nc_pp1); //// } //// private set nc_p/*55*/p3(value: number) { //// this.nc_pp1 = this./*56q*/nc_pp2(/*56*/value); //// } //// static nc/*57*/_s1: number; //// static nc/*58*/_s2(b: number) { //// return c1.nc_s1 + /*59*/b; //// } //// static get nc/*60*/_s3() { //// return c1.nc/*61q*/_s2(/*61*/c1.nc_s1); //// } //// static set nc/*62*/_s3(value: number) { //// c1.nc_s1 = c1.nc_/*63q*/s2(/*63*/value); //// } ////} ////var i/*64*/1 = new c/*65q*/1(/*65*/); ////var i1/*66*/_p = i1./*67*/p1; ////var i1/*68*/_f = i1.p/*69*/2; ////var i1/*70*/_r = i1.p/*71q*/2(/*71*/20); ////var i1_p/*72*/rop = i1./*73*/p3; ////i1./*74*/p3 = i1_/*75*/prop; ////var i1_/*76*/nc_p = i1.n/*77*/c_p1; ////var i1/*78*/_ncf = i1.nc_/*79*/p2; ////var i1_/*80*/ncr = i1.nc/*81q*/_p2(/*81*/20); ////var i1_n/*82*/cprop = i1.n/*83*/c_p3; ////i1.nc/*84*/_p3 = i1_/*85*/ncprop; ////var i1_/*86*/s_p = /*87*/c1./*88*/s1; ////var i1_s/*89*/_f = c1./*90*/s2; ////var i1_/*91*/s_r = c1.s/*92q*/2(/*92*/20); ////var i1_s/*93*/_prop = c1.s/*94*/3; ////c1.s/*95*/3 = i1_s/*96*/_prop; ////var i1_s/*97*/_nc_p = c1.n/*98*/c_s1; ////var i1_s_/*99*/ncf = c1.nc/*100*/_s2; ////var i1_s_/*101*/ncr = c1.n/*102q*/c_s2(/*102*/20); ////var i1_s_n/*103*/cprop = c1.nc/*104*/_s3; ////c1.nc/*105*/_s3 = i1_s_nc/*106*/prop; ////var i1/*107*/_c = c/*108*/1; /////*109*/ ////class cProperties { //// private val: number; //// /** getter only property*/ //// public get p1() { //// return this.val; //// } //// public get nc_p1() { //// return this.val; //// } //// /**setter only property*/ //// public set p2(value: number) { //// this.val = value; //// } //// public set nc_p2(value: number) { //// this.val = value; //// } ////} ////var cProperties_i = new cProperties(); ////cProperties_i./*110*/p2 = cProperties_i.p/*111*/1; ////cProperties_i.nc/*112*/_p2 = cProperties_i.nc/*113*/_p1; ////class cWithConstructorProperty { //// /** //// * this is class cWithConstructorProperty's constructor //// * @param a this is first parameter a //// */ //// /*119*/constructor(/**more info about a*/public a: number) { //// var b/*118*/bbb = 10; //// th/*116*/is./*114*/a = /*115*/a + 2 + bb/*117*/bb; //// } ////} const publicProperties: ReadonlyArray = [ { name: "p1", text: "(property) c1.p1: number", documentation: "p1 is property of c1" }, { name: "p2", text: "(method) c1.p2(b: number): number", documentation: "sum with property" }, { name: "p3", text: "(property) c1.p3: number", documentation: "getter property 1\nsetter property 1" }, ]; const publicNcProperties: ReadonlyArray = [ { name: "nc_p1", text: "(property) c1.nc_p1: number" }, { name: "nc_p2", text: "(method) c1.nc_p2(b: number): number" }, { name: "nc_p3", text: "(property) c1.nc_p3: number" }, ]; const locals: ReadonlyArray = [ { name: "c1", text: "class c1", documentation: "This is comment for c1" }, { name: "i1", text: "var i1: c1" }, { name: "i1_p", text: "var i1_p: number" }, { name: "i1_f", text: "var i1_f: (b: number) => number" }, { name: "i1_r", text: "var i1_r: number" }, { name: "i1_prop", text: "var i1_prop: number" }, { name: "i1_nc_p", text: "var i1_nc_p: number" }, { name: "i1_ncf", text: "var i1_ncf: (b: number) => number" }, { name: "i1_ncr", text: "var i1_ncr: number" }, { name: "i1_ncprop", text: "var i1_ncprop: number" }, { name: "i1_s_p", text: "var i1_s_p: number" }, { name: "i1_s_f", text: "var i1_s_f: (b: number) => number" }, { name: "i1_s_r", text: "var i1_s_r: number" }, { name: "i1_s_prop", text: "var i1_s_prop: number" }, { name: "i1_s_nc_p", text: "var i1_s_nc_p: number" }, { name: "i1_s_ncf", text: "var i1_s_ncf: (b: number) => number" }, { name: "i1_s_ncr", text: "var i1_s_ncr: number" }, { name: "i1_s_ncprop", text: "var i1_s_ncprop: number" }, { name: "i1_c", text: "var i1_c: typeof c1" }, ]; verify.completions( { marker: ["4", "7", "9", "11", "12", "16", "19", "21", "23", "24"], exact: [ ...publicProperties, { name: "pp1", text: "(property) c1.pp1: number", documentation: "pp1 is property of c1" }, { name: "pp2", text: "(method) c1.pp2(b: number): number", documentation: "sum with property" }, { name: "pp3", text: "(property) c1.pp3: number", documentation: "getter property 2\nsetter property 2" }, ...publicNcProperties, { name: "nc_pp1", text: "(property) c1.nc_pp1: number" }, { name: "nc_pp2", text: "(method) c1.nc_pp2(b: number): number" }, { name: "nc_pp3", text: "(property) c1.nc_pp3: number" }, ], }, { marker: ["5", "17"], includes: { name: "b", text: "(parameter) b: number", documentation: "number to add" }, }, { marker: ["13", "25"], includes: [{ name: "value", text: "(parameter) value: number", documentation: "this is value" }], isNewIdentifierLocation: true, }, { marker: ["30", "34", "36", "39", "41", "88"], exact: [ { name: "prototype", sortText: completion.SortText.LocationPriority }, { name: "s1", text: "(property) c1.s1: number", documentation: "s1 is static property of c1", sortText: completion.SortText.LocalDeclarationPriority }, { name: "s2", text: "(method) c1.s2(b: number): number", documentation: "static sum with property", sortText: completion.SortText.LocalDeclarationPriority }, { name: "s3", text: "(property) c1.s3: number", documentation: "static getter property\nsetter property 3", sortText: completion.SortText.LocalDeclarationPriority }, { name: "nc_s1", text: "(property) c1.nc_s1: number", sortText: completion.SortText.LocalDeclarationPriority }, { name: "nc_s2", text: "(method) c1.nc_s2(b: number): number", sortText: completion.SortText.LocalDeclarationPriority }, { name: "nc_s3", text: "(property) c1.nc_s3: number", sortText: completion.SortText.LocalDeclarationPriority }, ...completion.functionMembers, ], }, { marker: ["29", "33", "38", "109"], includes: locals }, { marker: ["35", "40", "87"], includes: locals, isNewIdentifierLocation: true }, { marker: "31", includes: { name: "b", text: "(parameter) b: number", documentation: "number to add" } }, { marker: "42", includes: { name: "value", text: "(parameter) value: number", documentation: "this is value" }, isNewIdentifierLocation: true }, { marker: ["45", "52", "59"], includes: { name: "b", text: "(parameter) b: number" } }, { marker: ["49", "56", "63"], includes: { name: "value", text: "(parameter) value: number" }, isNewIdentifierLocation: true }, { marker: "67", exact: [...publicProperties, ...publicNcProperties] }, { marker: "110", includes: [ { name: "p1", text: "(property) cProperties.p1: number", documentation: "getter only property" }, { name: "p2", text: "(property) cProperties.p2: number", documentation: "setter only property" }, { name: "nc_p1", text: "(property) cProperties.nc_p1: number" }, { name: "nc_p2", text: "(property) cProperties.nc_p2: number" }, ], }, { marker: "114", includes: { name: "a", text: "(property) cWithConstructorProperty.a: number", documentation: "more info about a\nthis is first parameter a", tags: [{ name: "param", text: "a this is first parameter a" }], }, }, { marker: "115", includes: { name: "a", text: "(parameter) a: number", documentation: "more info about a\nthis is first parameter a", tags: [{ name: "param", text: "a this is first parameter a" }], }, isNewIdentifierLocation: true, }, ); verify.signatureHelp( { marker: ["8", "13", "20", "25", "71"], docComment: "sum with property", parameterDocComment: "number to add" }, { marker: ["35", "42", "92"], docComment: "static sum with property", parameterDocComment: "number to add" }, { marker: ["47", "49", "54", "56", "61", "63", "81", "102"], docComment: "" }, { marker: "65", docComment: "Constructor method" }, ); verify.quickInfos({ 1: ["class c1", "This is comment for c1"], 2: ["(property) c1.p1: number", "p1 is property of c1"], 3: ["(method) c1.p2(b: number): number", "sum with property"], 6: ["(property) c1.p3: number", "getter property 1"], "8q": ["(method) c1.p2(b: number): number", "sum with property"], 10: ["(property) c1.p3: number", "setter property 1"], "13q": ["(method) c1.p2(b: number): number", "sum with property"], 14: ["(property) c1.pp1: number", "pp1 is property of c1"], 15: ["(method) c1.pp2(b: number): number", "sum with property"], 18: ["(property) c1.pp3: number", "getter property 2"], "20q": ["(method) c1.pp2(b: number): number", "sum with property"], 22: ["(property) c1.pp3: number", "setter property 2"], "25q": ["(method) c1.pp2(b: number): number", "sum with property"], 26: ["constructor c1(): c1", "Constructor method"], 27: ["(property) c1.s1: number", "s1 is static property of c1"], 28: ["(method) c1.s2(b: number): number", "static sum with property"], 32: ["(property) c1.s3: number", "static getter property"], "35q": ["(method) c1.s2(b: number): number", "static sum with property"], 37: ["(property) c1.s3: number", "setter property 3"], "42q": ["(method) c1.s2(b: number): number", "static sum with property"], 43: "(property) c1.nc_p1: number", 44: "(method) c1.nc_p2(b: number): number", 46: "(property) c1.nc_p3: number", "47q": "(method) c1.nc_p2(b: number): number", 48: "(property) c1.nc_p3: number", "49q": "(method) c1.nc_p2(b: number): number", 50: "(property) c1.nc_pp1: number", 51: "(method) c1.nc_pp2(b: number): number", 53: "(property) c1.nc_pp3: number", "54q": "(method) c1.nc_pp2(b: number): number", 55: "(property) c1.nc_pp3: number", "56q": "(method) c1.nc_pp2(b: number): number", 57: "(property) c1.nc_s1: number", 58: "(method) c1.nc_s2(b: number): number", 60: "(property) c1.nc_s3: number", "61q": "(method) c1.nc_s2(b: number): number", 62: "(property) c1.nc_s3: number", "63q": "(method) c1.nc_s2(b: number): number", 64: "var i1: c1", "65q": ["constructor c1(): c1", "Constructor method"], 66: "var i1_p: number", 68: "var i1_f: (b: number) => number", 69: ["(method) c1.p2(b: number): number", "sum with property"], 70: "var i1_r: number", "71q": ["(method) c1.p2(b: number): number", "sum with property"], 72: "var i1_prop: number", 73: ["(property) c1.p3: number", "getter property 1\nsetter property 1"], 74: ["(property) c1.p3: number", "getter property 1\nsetter property 1"], 75: "var i1_prop: number", 76: "var i1_nc_p: number", 77: "(property) c1.nc_p1: number", 78: "var i1_ncf: (b: number) => number", 79: "(method) c1.nc_p2(b: number): number", 80: "var i1_ncr: number", "81q": "(method) c1.nc_p2(b: number): number", 82: "var i1_ncprop: number", 83: "(property) c1.nc_p3: number", 84: "(property) c1.nc_p3: number", 85: "var i1_ncprop: number", 86: "var i1_s_p: number", 87: ["class c1", "This is comment for c1"], 89: "var i1_s_f: (b: number) => number", 90: ["(method) c1.s2(b: number): number", "static sum with property"], 91: "var i1_s_r: number", "92q": ["(method) c1.s2(b: number): number", "static sum with property"], 93: "var i1_s_prop: number", 94: ["(property) c1.s3: number", "static getter property\nsetter property 3"], 95: ["(property) c1.s3: number", "static getter property\nsetter property 3"], 96: "var i1_s_prop: number", 97: "var i1_s_nc_p: number", 98: "(property) c1.nc_s1: number", 99: "var i1_s_ncf: (b: number) => number", 100: "(method) c1.nc_s2(b: number): number", 101: "var i1_s_ncr: number", "102q": "(method) c1.nc_s2(b: number): number", 103: "var i1_s_ncprop: number", 104: "(property) c1.nc_s3: number", 105: "(property) c1.nc_s3: number", 106: "var i1_s_ncprop: number", 107: "var i1_c: typeof c1", 108: ["class c1", "This is comment for c1"], 110: ["(property) cProperties.p2: number", "setter only property"], 111: ["(property) cProperties.p1: number", "getter only property"], 112: "(property) cProperties.nc_p2: number", 113: "(property) cProperties.nc_p1: number", 114: ["(property) cWithConstructorProperty.a: number", "more info about a\nthis is first parameter a"], 115: ["(parameter) a: number", "more info about a\nthis is first parameter a"], 116: "this: this", 117: "(local var) bbbb: number", 118: "(local var) bbbb: number", 119: [ "constructor cWithConstructorProperty(a: number): cWithConstructorProperty", "this is class cWithConstructorProperty's constructor" ], });