Enable test cases for comments/type name format validation

This commit is contained in:
Sheetal Nandi
2014-09-29 17:41:07 -07:00
parent c0138d1fdc
commit 3294c2b2db
18 changed files with 2077 additions and 2073 deletions

View File

@@ -249,14 +249,14 @@ module ts {
getDocumentationComment(): SymbolDisplayPart[] {
if (this.documentationComment === undefined) {
this.documentationComment = getJsDocCommentsFromDeclarations(this.declarations, this.name);
this.documentationComment = getJsDocCommentsFromDeclarations(this.declarations, this.name, !(this.flags & SymbolFlags.Property));
}
return this.documentationComment;
}
}
function getJsDocCommentsFromDeclarations(declarations: Declaration[], name: string) {
function getJsDocCommentsFromDeclarations(declarations: Declaration[], name: string, canUseParsedParamTagComments: boolean) {
var documentationComment = <SymbolDisplayPart[]>[];
var docComments = getJsDocCommentsSeparatedByNewLines();
ts.forEach(docComments, docComment => {
@@ -275,7 +275,7 @@ module ts {
ts.forEach(declarations, declaration => {
var sourceFileOfDeclaration = getSourceFileOfNode(declaration);
// If it is parameter - try and get the jsDoc comment with @param tag from function declaration's jsDoc comments
if (declaration.kind === SyntaxKind.Parameter) {
if (canUseParsedParamTagComments && declaration.kind === SyntaxKind.Parameter) {
ts.forEach(getJsDocCommentTextRange(declaration.parent, sourceFileOfDeclaration), jsDocCommentTextRange => {
var cleanedParamJsDocComment = getCleanedParamJsDocComment(jsDocCommentTextRange.pos, jsDocCommentTextRange.end, sourceFileOfDeclaration);
if (cleanedParamJsDocComment) {
@@ -613,7 +613,10 @@ module ts {
getDocumentationComment(): SymbolDisplayPart[] {
if (this.documentationComment === undefined) {
this.documentationComment = this.declaration ? getJsDocCommentsFromDeclarations([this.declaration], this.declaration.name ? this.declaration.name.text : "") : [];
this.documentationComment = this.declaration ? getJsDocCommentsFromDeclarations(
[this.declaration],
this.declaration.name ? this.declaration.name.text : "",
/*canUseParsedParamTagComments*/ false) : [];
}
return this.documentationComment;
@@ -2689,9 +2692,7 @@ module ts {
if (symbolKind !== ScriptElementKind.unknown || symbolFlags & SymbolFlags.Signature || symbolFlags & SymbolFlags.Class) {
// If it is accessor they are allowed only if location is at name of the accessor
if (symbolKind === ScriptElementKind.memberGetAccessorElement || symbolKind === ScriptElementKind.memberSetAccessorElement) {
if (!isNameOfFunctionDeclaration(location) || ts.contains(symbol.getDeclarations(), location.parent)) {
symbolKind = ScriptElementKind.memberVariableElement;
}
symbolKind = ScriptElementKind.memberVariableElement;
}
var type = typeResolver.getTypeOfSymbol(symbol);
@@ -2750,7 +2751,7 @@ module ts {
hasAddedSymbolInfo = true;
}
}
else if (isNameOfFunctionDeclaration(location) || // name of function declaration
else if ((isNameOfFunctionDeclaration(location) && !(symbol.flags & SymbolFlags.Accessor)) || // name of function declaration
(location.kind === SyntaxKind.ConstructorKeyword && location.parent.kind === SyntaxKind.Constructor)) { // At constructor keyword of constructor declaration
// get the signature from the declaration and write it
var signature: Signature;

View File

@@ -0,0 +1,176 @@
/// <reference path='fourslash.ts' />
/////** This is class c2 without constuctor*/
////class c/*1*/2 {
////}
////var i/*2*/2 = new c/*28*/2(/*3*/);
////var i2/*4*/_c = c/*5*/2;
////class c/*6*/3 {
//// /** Constructor comment*/
//// constructor() {
//// }
////}
////var i/*7*/3 = new c/*29*/3(/*8*/);
////var i3/*9*/_c = c/*10*/3;
/////** Class comment*/
////class c/*11*/4 {
//// /** Constructor comment*/
//// constructor() {
//// }
////}
////var i/*12*/4 = new c/*30*/4(/*13*/);
////var i4/*14*/_c = c/*15*/4;
/////** Class with statics*/
////class c/*16*/5 {
//// static s1: number;
////}
////var i/*17*/5 = new c/*31*/5(/*18*/);
////var i5_/*19*/c = c/*20*/5;
/////** class with statics and constructor*/
////class c/*21*/6 {
//// /** s1 comment*/
//// static s1: number;
//// /** constructor comment*/
//// constructor() {
//// }
////}
////var i/*22*/6 = new c/*32*/6(/*23*/);
////var i6/*24*/_c = c/*25*/6;
/////*26*/
////class a {
//// /**
//// constructor for a
//// @param a this is my a
//// */
//// constructor(a: string) {
//// }
////}
////new a(/*27*/"Hello");
////module m {
//// export module m2 {
//// /** class comment */
//// export class c1 {
//// /** constructor comment*/
//// constructor() {
//// }
//// }
//// }
////}
////var myVar = new m.m2.c/*33*/1();
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
edit.insert('');
goTo.marker('1');
verify.quickInfoIs("class c2", "This is class c2 without constuctor");
goTo.marker('2');
verify.quickInfoIs("(var) i2: c2", "");
goTo.marker('3');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('4');
verify.quickInfoIs("(var) i2_c: typeof c2", "");
goTo.marker('5');
verify.quickInfoIs("class c2", "This is class c2 without constuctor");
goTo.marker('6');
verify.quickInfoIs("class c3", "");
goTo.marker('7');
verify.quickInfoIs("(var) i3: c3", "");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("Constructor comment");
goTo.marker('9');
verify.quickInfoIs("(var) i3_c: typeof c3", "");
goTo.marker('10');
verify.quickInfoIs("class c3", "");
goTo.marker('11');
verify.quickInfoIs("class c4", "Class comment");
goTo.marker('12');
verify.quickInfoIs("(var) i4: c4", "");
goTo.marker('13');
verify.currentSignatureHelpDocCommentIs("Constructor comment");
goTo.marker('14');
verify.quickInfoIs("(var) i4_c: typeof c4", "");
goTo.marker('15');
verify.quickInfoIs("class c4", "Class comment");
goTo.marker('16');
verify.quickInfoIs("class c5", "Class with statics");
goTo.marker('17');
verify.quickInfoIs("(var) i5: c5", "");
goTo.marker('18');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('19');
verify.quickInfoIs("(var) i5_c: typeof c5", "");
goTo.marker('20');
verify.quickInfoIs("class c5", "Class with statics");
goTo.marker('21');
verify.quickInfoIs("class c6", "class with statics and constructor");
goTo.marker('22');
verify.quickInfoIs("(var) i6: c6", "");
goTo.marker('23');
verify.currentSignatureHelpDocCommentIs("constructor comment");
goTo.marker('24');
verify.quickInfoIs("(var) i6_c: typeof c6", "");
goTo.marker('25');
verify.quickInfoIs("class c6", "class with statics and constructor");
goTo.marker('26');
verify.completionListContains("c2", "class c2", "This is class c2 without constuctor");
verify.completionListContains("i2", "(var) i2: c2", "");
verify.completionListContains("i2_c", "(var) i2_c: typeof c2", "");
verify.completionListContains("c3", "class c3", "");
verify.completionListContains("i3", "(var) i3: c3", "");
verify.completionListContains("i3_c", "(var) i3_c: typeof c3", "");
verify.completionListContains("c4", "class c4", "Class comment");
verify.completionListContains("i4", "(var) i4: c4", "");
verify.completionListContains("i4_c", "(var) i4_c: typeof c4", "");
verify.completionListContains("c5", "class c5", "Class with statics");
verify.completionListContains("i5", "(var) i5: c5", "");
verify.completionListContains("i5_c", "(var) i5_c: typeof c5");
verify.completionListContains("c6", "class c6", "class with statics and constructor");
verify.completionListContains("i6", "(var) i6: c6", "");
verify.completionListContains("i6_c", "(var) i6_c: typeof c6", "");
goTo.marker('27');
verify.currentSignatureHelpDocCommentIs("constructor for a");
verify.currentParameterHelpArgumentDocCommentIs("this is my a");
goTo.marker('28');
verify.quickInfoIs("(constructor) c2(): c2", "");
goTo.marker('29');
verify.quickInfoIs("(constructor) c3(): c3", "Constructor comment");
goTo.marker('30');
verify.quickInfoIs("(constructor) c4(): c4", "Constructor comment");
goTo.marker('31');
verify.quickInfoIs("(constructor) c5(): c5", "");
goTo.marker('32');
verify.quickInfoIs("(constructor) c6(): c6", "constructor comment");
goTo.marker('33');
verify.quickInfoIs("(constructor) m.m2.c1(): m.m2.c1", "constructor comment");

View File

@@ -0,0 +1,706 @@
/// <reference path='fourslash.ts' />
/////** 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*/
//// public get p/*6*/3() {
//// return this./*7*/p/*8q*/2(/*8*/this./*9*/p1);
//// }
//// /** setter property*/
//// 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*/
//// private get p/*18*/p3() {
//// return this./*19*/p/*20q*/p2(/*20*/this./*21*/pp1);
//// }
//// /** setter property*/
//// 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*/
//// 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;
//// }
////}
goTo.marker('1');
verify.quickInfoIs("class c1", "This is comment for c1");
goTo.marker('2');
verify.quickInfoIs("(property) c1.p1: number", "p1 is property of c1");
goTo.marker('3');
verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property");
goTo.marker('4');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('5');
verify.completionListContains("b", "(parameter) b: number", "number to add");
goTo.marker('6');
verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property");
goTo.marker('7');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('8q');
verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property");
goTo.marker('9');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('10');
verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property");
goTo.marker('11');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('12');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('13');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("value", "(parameter) value: number", "this is value");
goTo.marker('13q');
verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property");
goTo.marker('14');
verify.quickInfoIs("(property) c1.pp1: number", "pp1 is property of c1");
goTo.marker('15');
verify.quickInfoIs("(method) c1.pp2(b: number): number", "sum with property");
goTo.marker('16');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('17');
verify.completionListContains("b", "(parameter) b: number", "number to add");
goTo.marker('18');
verify.quickInfoIs("(property) c1.pp3: number", "getter property\nsetter property");
goTo.marker('19');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('20');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('20q');
verify.quickInfoIs("(method) c1.pp2(b: number): number", "sum with property");
goTo.marker('21');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('22');
verify.quickInfoIs("(property) c1.pp3: number", "getter property\nsetter property");
goTo.marker('23');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('24');
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("pp1", "(property) c1.pp1: number", "pp1 is property of c1");
verify.memberListContains("pp2", "(method) c1.pp2(b: number): number", "sum with property");
verify.memberListContains("pp3", "(property) c1.pp3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
verify.memberListContains("nc_pp1", "(property) c1.nc_pp1: number", "");
verify.memberListContains("nc_pp2", "(method) c1.nc_pp2(b: number): number", "");
verify.memberListContains("nc_pp3", "(property) c1.nc_pp3: number", "");
goTo.marker('25');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("value", "(parameter) value: number", "this is value");
goTo.marker('25q');
verify.quickInfoIs("(method) c1.pp2(b: number): number", "sum with property");
goTo.marker('26');
verify.quickInfoIs("(constructor) c1(): c1", "Constructor method");
goTo.marker('27');
verify.quickInfoIs("(property) c1.s1: number", "s1 is static property of c1");
goTo.marker('28');
verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property");
goTo.marker('29');
verify.completionListContains("c1", "class c1", "This is comment for c1");
goTo.marker('30');
verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1");
verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property");
verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property");
verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", "");
verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", "");
verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", "");
goTo.marker('31');
verify.completionListContains("b", "(parameter) b: number", "number to add");
goTo.marker('32');
verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property");
goTo.marker('33');
verify.completionListContains("c1", "class c1", "This is comment for c1");
goTo.marker('34');
verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1");
verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property");
verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property");
verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", "");
verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", "");
verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", "");
goTo.marker('35');
verify.currentSignatureHelpDocCommentIs("static sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("c1", "class c1", "This is comment for c1");
goTo.marker('35q');
verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property");
goTo.marker('36');
verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1");
verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property");
verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property");
verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", "");
verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", "");
verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", "");
goTo.marker('37');
verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property");
goTo.marker('38');
verify.completionListContains("c1", "class c1", "This is comment for c1");
goTo.marker('39');
verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1");
verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property");
verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property");
verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", "");
verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", "");
verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", "");
goTo.marker('40');
verify.completionListContains("c1", "class c1", "This is comment for c1");
goTo.marker('41');
verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1");
verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property");
verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property");
verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", "");
verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", "");
verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", "");
goTo.marker('42');
verify.currentSignatureHelpDocCommentIs("static sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("value", "(parameter) value: number", "this is value");
goTo.marker('42q');
verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property");
goTo.marker('43');
verify.quickInfoIs("(property) c1.nc_p1: number", "");
goTo.marker('44');
verify.quickInfoIs("(method) c1.nc_p2(b: number): number", "");
goTo.marker('45');
verify.completionListContains("b", "(parameter) b: number", "");
goTo.marker('46');
verify.quickInfoIs("(property) c1.nc_p3: number", "");
goTo.marker('47');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('47q');
verify.quickInfoIs("(method) c1.nc_p2(b: number): number", "");
goTo.marker('48');
verify.quickInfoIs("(property) c1.nc_p3: number", "");
goTo.marker('49');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
verify.completionListContains("value", "(parameter) value: number", "");
goTo.marker('49q');
verify.quickInfoIs("(method) c1.nc_p2(b: number): number", "");
goTo.marker('50');
verify.quickInfoIs("(property) c1.nc_pp1: number", "");
goTo.marker('51');
verify.quickInfoIs("(method) c1.nc_pp2(b: number): number", "");
goTo.marker('52');
verify.completionListContains("b", "(parameter) b: number", "");
goTo.marker('53');
verify.quickInfoIs("(property) c1.nc_pp3: number", "");
goTo.marker('54');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('54q');
verify.quickInfoIs("(method) c1.nc_pp2(b: number): number", "");
goTo.marker('55');
verify.quickInfoIs("(property) c1.nc_pp3: number", "");
goTo.marker('56');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
verify.completionListContains("value", "(parameter) value: number", "");
goTo.marker('56q');
verify.quickInfoIs("(method) c1.nc_pp2(b: number): number", "");
goTo.marker('57');
verify.quickInfoIs("(property) c1.nc_s1: number", "");
goTo.marker('58');
verify.quickInfoIs("(method) c1.nc_s2(b: number): number", "");
goTo.marker('59');
verify.completionListContains("b", "(parameter) b: number", "");
goTo.marker('60');
verify.quickInfoIs("(property) c1.nc_s3: number", "");
goTo.marker('61');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('61q');
verify.quickInfoIs("(method) c1.nc_s2(b: number): number", "");
goTo.marker('62');
verify.quickInfoIs("(property) c1.nc_s3: number", "");
goTo.marker('63');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
verify.completionListContains("value", "(parameter) value: number", "");
goTo.marker('63q');
verify.quickInfoIs("(method) c1.nc_s2(b: number): number", "");
goTo.marker('64');
verify.quickInfoIs("(var) i1: c1", "");
goTo.marker('65');
verify.currentSignatureHelpDocCommentIs("Constructor method");
goTo.marker('65q');
verify.quickInfoIs("(constructor) c1(): c1", "Constructor method");
goTo.marker('66');
verify.quickInfoIs("(var) i1_p: number", "");
goTo.marker('67');
verify.quickInfoIs("(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p1", "(property) c1.p1: number", "p1 is property of c1");
verify.memberListContains("p2", "(method) c1.p2(b: number): number", "sum with property");
verify.memberListContains("p3", "(property) c1.p3: number", "getter property\nsetter property");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "");
verify.memberListContains("nc_p2", "(method) c1.nc_p2(b: number): number", "");
verify.memberListContains("nc_p3", "(property) c1.nc_p3: number", "");
goTo.marker('68');
verify.quickInfoIs("(var) i1_f: (b: number) => number", "");
goTo.marker('69');
verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property");
goTo.marker('70');
verify.quickInfoIs("(var) i1_r: number", "");
goTo.marker('71');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('71q');
verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property");
goTo.marker('72');
verify.quickInfoIs("(var) i1_prop: number", "");
goTo.marker('73');
verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property");
goTo.marker('74');
verify.quickInfoIs("(property) c1.p3: number", "getter property\nsetter property");
goTo.marker('75');
verify.quickInfoIs("(var) i1_prop: number", "");
goTo.marker('76');
verify.quickInfoIs("(var) i1_nc_p: number", "");
goTo.marker('77');
verify.quickInfoIs("(property) c1.nc_p1: number", "");
goTo.marker('78');
verify.quickInfoIs("(var) i1_ncf: (b: number) => number", "");
goTo.marker('79');
verify.quickInfoIs("(method) c1.nc_p2(b: number): number", "");
goTo.marker('80');
verify.quickInfoIs("(var) i1_ncr: number", "");
goTo.marker('81');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('81q');
verify.quickInfoIs("(method) c1.nc_p2(b: number): number", "");
goTo.marker('82');
verify.quickInfoIs("(var) i1_ncprop: number", "");
goTo.marker('83');
verify.quickInfoIs("(property) c1.nc_p3: number", "");
goTo.marker('84');
verify.quickInfoIs("(property) c1.nc_p3: number", "");
goTo.marker('85');
verify.quickInfoIs("(var) i1_ncprop: number", "");
goTo.marker('86');
verify.quickInfoIs("(var) i1_s_p: number", "");
goTo.marker('87');
verify.quickInfoIs("class c1", "This is comment for c1");
verify.completionListContains("c1", "class c1", "This is comment for c1");
goTo.marker('88');
verify.quickInfoIs("(property) c1.s1: number", "s1 is static property of c1");
verify.memberListContains("s1", "(property) c1.s1: number", "s1 is static property of c1");
verify.memberListContains("s2", "(method) c1.s2(b: number): number", "static sum with property");
verify.memberListContains("s3", "(property) c1.s3: number", "static getter property\nsetter property");
verify.memberListContains("nc_s1", "(property) c1.nc_s1: number", "");
verify.memberListContains("nc_s2", "(method) c1.nc_s2(b: number): number", "");
verify.memberListContains("nc_s3", "(property) c1.nc_s3: number", "");
goTo.marker('89');
verify.quickInfoIs("(var) i1_s_f: (b: number) => number", "");
goTo.marker('90');
verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property");
goTo.marker('91');
verify.quickInfoIs("(var) i1_s_r: number", "");
goTo.marker('92');
verify.currentSignatureHelpDocCommentIs("static sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('92q');
verify.quickInfoIs("(method) c1.s2(b: number): number", "static sum with property");
goTo.marker('93');
verify.quickInfoIs("(var) i1_s_prop: number", "");
goTo.marker('94');
verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property");
goTo.marker('95');
verify.quickInfoIs("(property) c1.s3: number", "static getter property\nsetter property");
goTo.marker('96');
verify.quickInfoIs("(var) i1_s_prop: number", "");
goTo.marker('97');
verify.quickInfoIs("(var) i1_s_nc_p: number", "");
goTo.marker('98');
verify.quickInfoIs("(property) c1.nc_s1: number", "");
goTo.marker('99');
verify.quickInfoIs("(var) i1_s_ncf: (b: number) => number", "");
goTo.marker('100');
verify.quickInfoIs("(method) c1.nc_s2(b: number): number", "");
goTo.marker('101');
verify.quickInfoIs("(var) i1_s_ncr: number", "");
goTo.marker('102');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('102q');
verify.quickInfoIs("(method) c1.nc_s2(b: number): number", "");
goTo.marker('103');
verify.quickInfoIs("(var) i1_s_ncprop: number", "");
goTo.marker('104');
verify.quickInfoIs("(property) c1.nc_s3: number", "");
goTo.marker('105');
verify.quickInfoIs("(property) c1.nc_s3: number", "");
goTo.marker('106');
verify.quickInfoIs("(var) i1_s_ncprop: number", "");
goTo.marker('107');
verify.quickInfoIs("(var) i1_c: typeof c1", "");
goTo.marker('108');
verify.quickInfoIs("class c1", "This is comment for c1");
goTo.marker('109');
verify.completionListContains("c1", "class c1", "This is comment for c1");
verify.completionListContains("i1", "(var) i1: c1", "");
verify.completionListContains("i1_p", "(var) i1_p: number", "");
verify.completionListContains("i1_f", "(var) i1_f: (b: number) => number", "");
verify.completionListContains("i1_r", "(var) i1_r: number", "");
verify.completionListContains("i1_prop", "(var) i1_prop: number", "");
verify.completionListContains("i1_nc_p", "(var) i1_nc_p: number", "");
verify.completionListContains("i1_ncf", "(var) i1_ncf: (b: number) => number", "");
verify.completionListContains("i1_ncr", "(var) i1_ncr: number", "");
verify.completionListContains("i1_ncprop", "(var) i1_ncprop: number", "");
verify.completionListContains("i1_s_p", "(var) i1_s_p: number", "");
verify.completionListContains("i1_s_f", "(var) i1_s_f: (b: number) => number", "");
verify.completionListContains("i1_s_r", "(var) i1_s_r: number", "");
verify.completionListContains("i1_s_prop", "(var) i1_s_prop: number", "");
verify.completionListContains("i1_s_nc_p", "(var) i1_s_nc_p: number", "");
verify.completionListContains("i1_s_ncf", "(var) i1_s_ncf: (b: number) => number", "");
verify.completionListContains("i1_s_ncr", "(var) i1_s_ncr: number", "");
verify.completionListContains("i1_s_ncprop", "(var) i1_s_ncprop: number", "");
verify.completionListContains("i1_c", "(var) i1_c: typeof c1", "");
goTo.marker('110');
verify.quickInfoIs("(property) cProperties.p2: number", "setter only property");
verify.memberListContains("p1", "(property) cProperties.p1: number", "getter only property");
verify.memberListContains("p2", "(property) cProperties.p2: number", "setter only property");
verify.memberListContains("nc_p1", "(property) cProperties.nc_p1: number", "");
verify.memberListContains("nc_p2", "(property) cProperties.nc_p2: number", "");
goTo.marker('111');
verify.quickInfoIs("(property) cProperties.p1: number", "getter only property");
goTo.marker('112');
verify.quickInfoIs("(property) cProperties.nc_p2: number", "");
goTo.marker('113');
verify.quickInfoIs("(property) cProperties.nc_p1: number", "");
goTo.marker('114');
verify.memberListContains("a", "(property) cWithConstructorProperty.a: number", "more info about a");
verify.quickInfoIs("(property) cWithConstructorProperty.a: number", "more info about a");
goTo.marker('115');
verify.completionListContains("a", "(parameter) a: number", "this is first parameter a\nmore info about a");
verify.quickInfoIs("(parameter) a: number", "this is first parameter a\nmore info about a");
goTo.marker('116');
verify.quickInfoIs("class cWithConstructorProperty", "");
goTo.marker('117');
verify.quickInfoIs("(local var) bbbb: number", "");
goTo.marker('118');
verify.quickInfoIs("(local var) bbbb: number", "");
goTo.marker('119');
verify.quickInfoIs("(constructor) cWithConstructorProperty(a: number): cWithConstructorProperty", "this is class cWithConstructorProperty's constructor");

View File

@@ -0,0 +1,37 @@
/// <reference path='fourslash.ts' />
/////** Enum of colors*/
////enum /*1*/Colors {
//// /** Fancy name for 'blue'*/
//// /*2*/Cornflower,
//// /** Fancy name for 'pink'*/
//// /*3*/FancyPink
////}
////var /*4*/x = /*5*/Colors./*6*/Cornflower;
////x = Colors./*7*/FancyPink;
goTo.marker('1');
verify.quickInfoIs("enum Colors", "Enum of colors");
goTo.marker('2');
verify.quickInfoIs("(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'");
goTo.marker('3');
verify.quickInfoIs("(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'");
goTo.marker('4');
verify.quickInfoIs("(var) x: Colors", "");
goTo.marker('5');
verify.completionListContains("Colors", "enum Colors", "Enum of colors");
verify.quickInfoIs("enum Colors", "Enum of colors");
goTo.marker('6');
verify.memberListContains("Cornflower", "(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'");
verify.memberListContains("FancyPink", "(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'");
verify.quickInfoIs("(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'");
goTo.marker('7');
verify.memberListContains("Cornflower", "(enum member) Colors.Cornflower = 0", "Fancy name for 'blue'");
verify.memberListContains("FancyPink", "(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'");
verify.quickInfoIs("(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'");

View File

@@ -46,36 +46,36 @@ verify.currentSignatureHelpDocCommentIs("This is comment for function signature"
verify.currentParameterHelpArgumentDocCommentIs("this is comment for b");
goTo.marker('4');
verify.completionListContains('foo', '(): void', 'This comment should appear for foo', "foo", "function");
verify.completionListContains('foo', '(function) foo(): void', 'This comment should appear for foo');
goTo.marker('5');
verify.completionListContains('fooWithParameters', '(a: string, b: number): void', 'This is comment for function signature', "fooWithParameters", "function");
verify.completionListContains('fooWithParameters', '(function) fooWithParameters(a: string, b: number): void', 'This is comment for function signature');
goTo.marker('6');
verify.quickInfoIs("(): void", "This comment should appear for foo", "foo", "function");
verify.quickInfoIs("(function) foo(): void", "This comment should appear for foo");
goTo.marker('7');
verify.quickInfoIs("(): void", "This comment should appear for foo", "foo", "function");
verify.quickInfoIs("(function) foo(): void", "This comment should appear for foo");
goTo.marker('8');
verify.quickInfoIs("(a: string, b: number): void", "This is comment for function signature", "fooWithParameters", "function");
verify.quickInfoIs("(function) fooWithParameters(a: string, b: number): void", "This is comment for function signature");
goTo.marker('9');
verify.quickInfoIs("(a: string, b: number): void", "This is comment for function signature", "fooWithParameters", "function");
verify.quickInfoIs("(function) fooWithParameters(a: string, b: number): void", "This is comment for function signature");
goTo.marker('10');
verify.completionListContains('a', 'string', 'this is comment about a', "a", "parameter");
verify.completionListContains('b', 'number', 'this is comment for b', "b", "parameter");
verify.completionListContains('a', '(parameter) a: string', 'this is comment about a');
verify.completionListContains('b', '(parameter) b: number', 'this is comment for b');
goTo.marker('11');
verify.quickInfoIs("(a: number, b: number) => number", "lamdaFoo var comment", "lambdaFoo", "var");
verify.quickInfoIs("(var) lambdaFoo: (a: number, b: number) => number", "lamdaFoo var comment");
goTo.marker('12');
verify.quickInfoIs("(a: number, b: number) => number", "", "lambddaNoVarComment", "var");
verify.quickInfoIs("(var) lambddaNoVarComment: (a: number, b: number) => number", "");
goTo.marker('13');
verify.completionListContains('lambdaFoo', '(a: number, b: number) => number', 'lamdaFoo var comment', "lambdaFoo", "var");
verify.completionListContains('lambddaNoVarComment', '(a: number, b: number) => number', '', "lambddaNoVarComment", "var");
verify.completionListContains('lambdaFoo', '(var) lambdaFoo: (a: number, b: number) => number', 'lamdaFoo var comment');
verify.completionListContains('lambddaNoVarComment', '(var) lambddaNoVarComment: (a: number, b: number) => number', '');
goTo.marker('14');
verify.currentParameterHelpArgumentDocCommentIs("param a");
@@ -90,42 +90,42 @@ goTo.marker('17');
verify.currentParameterHelpArgumentDocCommentIs("param b");
goTo.marker('18');
verify.completionListContains('a', 'number', 'param a', "a", "parameter");
verify.completionListContains('b', 'number', 'param b', "b", "parameter");
verify.completionListContains('a', '(parameter) a: number', 'param a');
verify.completionListContains('b', '(parameter) b: number', 'param b');
goTo.marker('19');
verify.currentSignatureHelpDocCommentIs("Does something");
verify.currentParameterHelpArgumentDocCommentIs("a string");
goTo.marker('20');
verify.quickInfoIs('string', '', 'd', "local var");
verify.quickInfoIs('(local var) d: string', '');
goTo.marker('20a');
verify.quickInfoIs('(a: number) => number', '', 'lambdaAnotherFunc', "var");
verify.quickInfoIs('(var) lambdaAnotherFunc: (a: number) => number', '');
goTo.marker('21');
verify.quickInfoIs('number', '', 'a', "parameter");
verify.quickInfoIs('(parameter) a: number', '');
goTo.marker('22');
verify.quickInfoIs('number', '', 'bbbb', "local var");
verify.quickInfoIs('(local var) bbbb: number', '');
goTo.marker('23');
verify.quickInfoIs('number', '', 'bbbb', "local var");
verify.quickInfoIs('(local var) bbbb: number', '');
goTo.marker('24');
verify.quickInfoIs('number', '', 'a', "parameter");
verify.quickInfoIs('(parameter) a: number', '');
goTo.marker('25');
verify.quickInfoIs('(a: number): string', '', 'anotherFunc', "function");
verify.quickInfoIs('(function) anotherFunc(a: number): string', '');
goTo.marker('26');
verify.quickInfoIs('number', '', 'a', "parameter");
verify.quickInfoIs('(parameter) a: number', '');
goTo.marker('27a');
verify.quickInfoIs('(b: string) => string', '', 'lambdaVar', "local var");
verify.quickInfoIs('(local var) lambdaVar: (b: string) => string', '');
goTo.marker('27');
verify.quickInfoIs('string', '', 'b', "parameter");
verify.quickInfoIs('(parameter) b: string', '');
goTo.marker('28');
verify.quickInfoIs('string', '', 'localVar', "local var");
verify.quickInfoIs('(local var) localVar: string', '');
goTo.marker('29');
verify.quickInfoIs('string', '', 'localVar', "local var");
verify.quickInfoIs('(local var) localVar: string', '');
goTo.marker('30');
verify.quickInfoIs('string', '', 'b', "parameter");
verify.quickInfoIs('(parameter) b: string', '');
goTo.marker('31');
verify.quickInfoIs('(b: string) => string', '', 'lambdaVar', "local var");
verify.quickInfoIs('(local function) lambdaVar(b: string): string', '');
goTo.marker('32');
verify.quickInfoIs('number', '', 'a', "parameter");
verify.quickInfoIs('(parameter) a: number', '');

View File

@@ -0,0 +1,672 @@
/// <reference path='fourslash.ts' />
/////** i1 is interface with properties*/
////interface i1 {
//// /** i1_p1*/
//// i1_p1: number;
//// /** i1_f1*/
//// i1_f1(): void;
//// /** i1_l1*/
//// i1_l1: () => void;
//// i1_nc_p1: number;
//// i1_nc_f1(): void;
//// i1_nc_l1: () => void;
//// p1: number;
//// f1(): void;
//// l1: () => void;
//// nc_p1: number;
//// nc_f1(): void;
//// nc_l1: () => void;
////}
////class c1 implements i1 {
//// public i1_p1: number;
//// public i1_f1() {
//// }
//// public i1_l1: () => void;
//// public i1_nc_p1: number;
//// public i1_nc_f1() {
//// }
//// public i1_nc_l1: () => void;
//// /** c1_p1*/
//// public p1: number;
//// /** c1_f1*/
//// public f1() {
//// }
//// /** c1_l1*/
//// public l1: () => void;
//// /** c1_nc_p1*/
//// public nc_p1: number;
//// /** c1_nc_f1*/
//// public nc_f1() {
//// }
//// /** c1_nc_l1*/
//// public nc_l1: () => void;
////}
////var i1/*1iq*/_i: i1;
////i1_i./*1*/i/*2q*/1_f1(/*2*/);
////i1_i.i1_n/*3q*/c_f1(/*3*/);
////i1_i.f/*4q*/1(/*4*/);
////i1_i.nc/*5q*/_f1(/*5*/);
////i1_i.i1/*l2q*/_l1(/*l2*/);
////i1_i.i1_/*l3q*/nc_l1(/*l3*/);
////i1_i.l/*l4q*/1(/*l4*/);
////i1_i.nc/*l5q*/_l1(/*l5*/);
////var c1/*6iq*/_i = new c1();
////c1_i./*6*/i1/*7q*/_f1(/*7*/);
////c1_i.i1_nc/*8q*/_f1(/*8*/);
////c1_i.f/*9q*/1(/*9*/);
////c1_i.nc/*10q*/_f1(/*10*/);
////c1_i.i1/*l7q*/_l1(/*l7*/);
////c1_i.i1_n/*l8q*/c_l1(/*l8*/);
////c1_i.l/*l9q*/1(/*l9*/);
////c1_i.nc/*l10q*/_l1(/*l10*/);
////// assign to interface
////i1_i = c1_i;
////i1_i./*11*/i1/*12q*/_f1(/*12*/);
////i1_i.i1_nc/*13q*/_f1(/*13*/);
////i1_i.f/*14q*/1(/*14*/);
////i1_i.nc/*15q*/_f1(/*15*/);
////i1_i.i1/*l12q*/_l1(/*l12*/);
////i1_i.i1/*l13q*/_nc_l1(/*l13*/);
////i1_i.l/*l14q*/1(/*l14*/);
////i1_i.nc/*l15q*/_l1(/*l15*/);
/////*16*/
////class c2 {
//// /** c2 c2_p1*/
//// public c2_p1: number;
//// /** c2 c2_f1*/
//// public c2_f1() {
//// }
//// /** c2 c2_prop*/
//// public get c2_prop() {
//// return 10;
//// }
//// public c2_nc_p1: number;
//// public c2_nc_f1() {
//// }
//// public get c2_nc_prop() {
//// return 10;
//// }
//// /** c2 p1*/
//// public p1: number;
//// /** c2 f1*/
//// public f1() {
//// }
//// /** c2 prop*/
//// public get prop() {
//// return 10;
//// }
//// public nc_p1: number;
//// public nc_f1() {
//// }
//// public get nc_prop() {
//// return 10;
//// }
//// /** c2 constructor*/
//// constr/*55*/uctor(a: number) {
//// this.c2_p1 = a;
//// }
////}
////class c3 extends c2 {
//// cons/*56*/tructor() {
//// su/*18sq*/per(10);
//// this.p1 = s/*18spropq*/uper./*18spropProp*/c2_p1;
//// }
//// /** c3 p1*/
//// public p1: number;
//// /** c3 f1*/
//// public f1() {
//// }
//// /** c3 prop*/
//// public get prop() {
//// return 10;
//// }
//// public nc_p1: number;
//// public nc_f1() {
//// }
//// public get nc_prop() {
//// return 10;
//// }
////}
////var c/*17iq*/2_i = new c/*17q*/2(/*17*/10);
////var c/*18iq*/3_i = new c/*18q*/3(/*18*/);
////c2_i./*19*/c2/*20q*/_f1(/*20*/);
////c2_i.c2_nc/*21q*/_f1(/*21*/);
////c2_i.f/*22q*/1(/*22*/);
////c2_i.nc/*23q*/_f1(/*23*/);
////c3_i./*24*/c2/*25q*/_f1(/*25*/);
////c3_i.c2_nc/*26q*/_f1(/*26*/);
////c3_i.f/*27q*/1(/*27*/);
////c3_i.nc/*28q*/_f1(/*28*/);
////// assign
////c2_i = c3_i;
////c2_i./*29*/c2/*30q*/_f1(/*30*/);
////c2_i.c2_nc_/*31q*/f1(/*31*/);
////c2_i.f/*32q*/1(/*32*/);
////c2_i.nc/*33q*/_f1(/*33*/);
////class c4 extends c2 {
////}
////var c4/*34iq*/_i = new c/*34q*/4(/*34*/10);
/////*35*/
////interface i2 {
//// /** i2_p1*/
//// i2_p1: number;
//// /** i2_f1*/
//// i2_f1(): void;
//// /** i2_l1*/
//// i2_l1: () => void;
//// i2_nc_p1: number;
//// i2_nc_f1(): void;
//// i2_nc_l1: () => void;
//// /** i2 p1*/
//// p1: number;
//// /** i2 f1*/
//// f1(): void;
//// /** i2 l1*/
//// l1: () => void;
//// nc_p1: number;
//// nc_f1(): void;
//// nc_l1: () => void;
////}
////interface i3 extends i2 {
//// /** i3 p1*/
//// p1: number;
//// /** i3 f1*/
//// f1(): void;
//// /** i3 l1*/
//// l1: () => void;
//// nc_p1: number;
//// nc_f1(): void;
//// nc_l1: () => void;
////}
////var i2/*36iq*/_i: i2;
////var i3/*37iq*/_i: i3;
////i2_i./*36*/i2/*37q*/_f1(/*37*/);
////i2_i.i2_n/*38q*/c_f1(/*38*/);
////i2_i.f/*39q*/1(/*39*/);
////i2_i.nc/*40q*/_f1(/*40*/);
////i2_i.i2_/*l37q*/l1(/*l37*/);
////i2_i.i2_nc/*l38q*/_l1(/*l38*/);
////i2_i.l/*l39q*/1(/*l39*/);
////i2_i.nc_/*l40q*/l1(/*l40*/);
////i3_i./*41*/i2_/*42q*/f1(/*42*/);
////i3_i.i2_nc/*43q*/_f1(/*43*/);
////i3_i.f/*44q*/1(/*44*/);
////i3_i.nc_/*45q*/f1(/*45*/);
////i3_i.i2_/*l42q*/l1(/*l42*/);
////i3_i.i2_nc/*l43q*/_l1(/*l43*/);
////i3_i.l/*l44q*/1(/*l44*/);
////i3_i.nc_/*l45q*/l1(/*l45*/);
////// assign to interface
////i2_i = i3_i;
////i2_i./*46*/i2/*47q*/_f1(/*47*/);
////i2_i.i2_nc_/*48q*/f1(/*48*/);
////i2_i.f/*49q*/1(/*49*/);
////i2_i.nc/*50q*/_f1(/*50*/);
////i2_i.i2_/*l47q*/l1(/*l47*/);
////i2_i.i2_nc/*l48q*/_l1(/*l48*/);
////i2_i.l/*l49q*/1(/*l49*/);
////i2_i.nc_/*l50q*/l1(/*l50*/);
/////*51*/
/////**c5 class*/
////class c5 {
//// public b: number;
////}
////class c6 extends c5 {
//// public d;
//// const/*57*/ructor() {
//// /*52*/super();
//// this.d = /*53*/super./*54*/b;
//// }
////}
goTo.marker('1');
verify.memberListContains("i1_p1", "(property) i1.i1_p1: number", "i1_p1");
verify.memberListContains("i1_f1", "(method) i1.i1_f1(): void", "i1_f1");
verify.memberListContains("i1_l1", "(property) i1.i1_l1: () => void", "i1_l1");
verify.memberListContains("i1_nc_p1", "(property) i1.i1_nc_p1: number", "");
verify.memberListContains("i1_nc_f1", "(method) i1.i1_nc_f1(): void", "");
verify.memberListContains("i1_nc_l1", "(property) i1.i1_nc_l1: () => void", "");
verify.memberListContains("p1", "(property) i1.p1: number", "");
verify.memberListContains("f1", "(method) i1.f1(): void", "");
verify.memberListContains("l1", "(property) i1.l1: () => void", "");
verify.memberListContains("nc_p1", "(property) i1.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) i1.nc_f1(): void", "");
verify.memberListContains("nc_l1", "(property) i1.nc_l1: () => void", "");
goTo.marker('2');
verify.currentSignatureHelpDocCommentIs("i1_f1");
goTo.marker('3');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('4');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('5');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l2');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l3');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l4');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l5');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('1iq');
verify.quickInfoIs("(var) i1_i: i1", "");
goTo.marker('2q');
verify.quickInfoIs("(method) i1.i1_f1(): void", "i1_f1");
goTo.marker('3q');
verify.quickInfoIs("(method) i1.i1_nc_f1(): void", "");
goTo.marker('4q');
verify.quickInfoIs("(method) i1.f1(): void", "");
goTo.marker('5q');
verify.quickInfoIs("(method) i1.nc_f1(): void", "");
goTo.marker('l2q');
verify.quickInfoIs("(method) i1.i1_l1(): void", "");
goTo.marker('l3q');
verify.quickInfoIs("(method) i1.i1_nc_l1(): void", "");
goTo.marker('l4q');
verify.quickInfoIs("(method) i1.l1(): void", "");
goTo.marker('l5q');
verify.quickInfoIs("(method) i1.nc_l1(): void", "");
goTo.marker('6');
verify.memberListContains("i1_p1", "(property) c1.i1_p1: number", "");
verify.memberListContains("i1_f1", "(method) c1.i1_f1(): void", "");
verify.memberListContains("i1_l1", "(property) c1.i1_l1: () => void", "");
verify.memberListContains("i1_nc_p1", "(property) c1.i1_nc_p1: number", "");
verify.memberListContains("i1_nc_f1", "(method) c1.i1_nc_f1(): void", "");
verify.memberListContains("i1_nc_l1", "(property) c1.i1_nc_l1: () => void", "");
verify.memberListContains("p1", "(property) c1.p1: number", "c1_p1");
verify.memberListContains("f1", "(method) c1.f1(): void", "c1_f1");
verify.memberListContains("l1", "(property) c1.l1: () => void", "c1_l1");
verify.memberListContains("nc_p1", "(property) c1.nc_p1: number", "c1_nc_p1");
verify.memberListContains("nc_f1", "(method) c1.nc_f1(): void", "c1_nc_f1");
verify.memberListContains("nc_l1", "(property) c1.nc_l1: () => void", "c1_nc_l1");
goTo.marker('7');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('9');
verify.currentSignatureHelpDocCommentIs("c1_f1");
goTo.marker('10');
verify.currentSignatureHelpDocCommentIs("c1_nc_f1");
goTo.marker('l7');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l8');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l9');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l10');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('6iq');
verify.quickInfoIs("(var) c1_i: c1", "");
goTo.marker('7q');
verify.quickInfoIs("(method) c1.i1_f1(): void", "");
goTo.marker('8q');
verify.quickInfoIs("(method) c1.i1_nc_f1(): void", "");
goTo.marker('9q');
verify.quickInfoIs("(method) c1.f1(): void", "c1_f1");
goTo.marker('10q');
verify.quickInfoIs("(method) c1.nc_f1(): void", "c1_nc_f1");
goTo.marker('l7q');
verify.quickInfoIs("(method) c1.i1_l1(): void", "");
goTo.marker('l8q');
verify.quickInfoIs("(method) c1.i1_nc_l1(): void", "");
goTo.marker('l9q');
verify.quickInfoIs("(method) c1.l1(): void", "");
goTo.marker('l10q');
verify.quickInfoIs("(method) c1.nc_l1(): void", "");
goTo.marker('11');
verify.memberListContains("i1_p1", "(property) i1.i1_p1: number", "i1_p1");
verify.memberListContains("i1_f1", "(method) i1.i1_f1(): void", "i1_f1");
verify.memberListContains("i1_l1", "(property) i1.i1_l1: () => void", "i1_l1");
verify.memberListContains("i1_nc_p1", "(property) i1.i1_nc_p1: number", "");
verify.memberListContains("i1_nc_f1", "(method) i1.i1_nc_f1(): void", "");
verify.memberListContains("i1_nc_l1", "(property) i1.i1_nc_l1: () => void", "");
verify.memberListContains("p1", "(property) i1.p1: number", "");
verify.memberListContains("f1", "(method) i1.f1(): void", "");
verify.memberListContains("l1", "(property) i1.l1: () => void", "");
verify.memberListContains("nc_p1", "(property) i1.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) i1.nc_f1(): void", "");
verify.memberListContains("nc_l1", "(property) i1.nc_l1: () => void", "");
goTo.marker('12');
verify.currentSignatureHelpDocCommentIs("i1_f1");
goTo.marker('13');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('14');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('15');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l12');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l13');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l14');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l15');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('12q');
verify.quickInfoIs("(method) i1.i1_f1(): void", "i1_f1");
goTo.marker('13q');
verify.quickInfoIs("(method) i1.i1_nc_f1(): void", "");
goTo.marker('14q');
verify.quickInfoIs("(method) i1.f1(): void", "");
goTo.marker('15q');
verify.quickInfoIs("(method) i1.nc_f1(): void", "");
goTo.marker('l12q');
verify.quickInfoIs("(method) i1.i1_l1(): void", "");
goTo.marker('l13q');
verify.quickInfoIs("(method) i1.i1_nc_l1(): void", "");
goTo.marker('l14q');
verify.quickInfoIs("(method) i1.l1(): void", "");
goTo.marker('l15q');
verify.quickInfoIs("(method) i1.nc_l1(): void", "");
goTo.marker('16');
verify.completionListContains("i1", "interface i1", "i1 is interface with properties");
verify.completionListContains("i1_i", "(var) i1_i: i1", "");
verify.completionListContains("c1", "class c1", "");
verify.completionListContains("c1_i", "(var) c1_i: c1", "");
goTo.marker('17iq');
verify.quickInfoIs("(var) c2_i: c2", "");
goTo.marker('18iq');
verify.quickInfoIs("(var) c3_i: c3", "");
goTo.marker('17');
verify.currentSignatureHelpDocCommentIs("c2 constructor");
goTo.marker('18');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('18sq');
verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor");
goTo.marker('18spropq');
verify.quickInfoIs("class c2", "");
goTo.marker('18spropProp');
verify.quickInfoIs("(property) c2.c2_p1: number", "c2 c2_p1");
goTo.marker('17q');
verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor");
goTo.marker('18q');
verify.quickInfoIs("(constructor) c3(): c3", "");
goTo.marker('19');
verify.memberListContains("c2_p1", "(property) c2.c2_p1: number", "c2 c2_p1");
verify.memberListContains("c2_f1", "(method) c2.c2_f1(): void", "c2 c2_f1");
verify.memberListContains("c2_prop", "(property) c2.c2_prop: number", "c2 c2_prop");
verify.memberListContains("c2_nc_p1", "(property) c2.c2_nc_p1: number", "");
verify.memberListContains("c2_nc_f1", "(method) c2.c2_nc_f1(): void", "");
verify.memberListContains("c2_nc_prop", "(property) c2.c2_nc_prop: number", "");
verify.memberListContains("p1", "(property) c2.p1: number", "c2 p1");
verify.memberListContains("f1", "(method) c2.f1(): void", "c2 f1");
verify.memberListContains("prop", "(property) c2.prop: number", "c2 prop");
verify.memberListContains("nc_p1", "(property) c2.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) c2.nc_f1(): void", "");
verify.memberListContains("nc_prop", "(property) c2.nc_prop: number", "");
goTo.marker('20');
verify.currentSignatureHelpDocCommentIs("c2 c2_f1");
goTo.marker('21');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('22');
verify.currentSignatureHelpDocCommentIs("c2 f1");
goTo.marker('23');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('20q');
verify.quickInfoIs("(method) c2.c2_f1(): void", "c2 c2_f1");
goTo.marker('21q');
verify.quickInfoIs("(method) c2.c2_nc_f1(): void", "");
goTo.marker('22q');
verify.quickInfoIs("(method) c2.f1(): void", "c2 f1");
goTo.marker('23q');
verify.quickInfoIs("(method) c2.nc_f1(): void", "");
goTo.marker('24');
verify.memberListContains("c2_p1", "(property) c2.c2_p1: number", "c2 c2_p1");
verify.memberListContains("c2_f1", "(method) c2.c2_f1(): void", "c2 c2_f1");
verify.memberListContains("c2_prop", "(property) c2.c2_prop: number", "c2 c2_prop");
verify.memberListContains("c2_nc_p1", "(property) c2.c2_nc_p1: number", "");
verify.memberListContains("c2_nc_f1", "(method) c2.c2_nc_f1(): void", "");
verify.memberListContains("c2_nc_prop", "(property) c2.c2_nc_prop: number", "");
verify.memberListContains("p1", "(property) c3.p1: number", "c3 p1");
verify.memberListContains("f1", "(method) c3.f1(): void", "c3 f1");
verify.memberListContains("prop", "(property) c3.prop: number", "c3 prop");
verify.memberListContains("nc_p1", "(property) c3.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) c3.nc_f1(): void", "");
verify.memberListContains("nc_prop", "(property) c3.nc_prop: number", "");
goTo.marker('25');
verify.currentSignatureHelpDocCommentIs("c2 c2_f1");
goTo.marker('26');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('27');
verify.currentSignatureHelpDocCommentIs("c3 f1");
goTo.marker('28');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('25q');
verify.quickInfoIs("(method) c2.c2_f1(): void", "c2 c2_f1");
goTo.marker('26q');
verify.quickInfoIs("(method) c2.c2_nc_f1(): void", "");
goTo.marker('27q');
verify.quickInfoIs("(method) c3.f1(): void", "c3 f1");
goTo.marker('28q');
verify.quickInfoIs("(method) c3.nc_f1(): void", "");
goTo.marker('29');
verify.memberListContains("c2_p1", "(property) c2.c2_p1: number", "c2 c2_p1");
verify.memberListContains("c2_f1", "(method) c2.c2_f1(): void", "c2 c2_f1");
verify.memberListContains("c2_prop", "(property) c2.c2_prop: number", "c2 c2_prop");
verify.memberListContains("c2_nc_p1", "(property) c2.c2_nc_p1: number", "");
verify.memberListContains("c2_nc_f1", "(method) c2.c2_nc_f1(): void", "");
verify.memberListContains("c2_nc_prop", "(property) c2.c2_nc_prop: number");
verify.memberListContains("p1", "(property) c2.p1: number", "c2 p1");
verify.memberListContains("f1", "(method) c2.f1(): void", "c2 f1");
verify.memberListContains("prop", "(property) c2.prop: number", "c2 prop");
verify.memberListContains("nc_p1", "(property) c2.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) c2.nc_f1(): void", "");
verify.memberListContains("nc_prop", "(property) c2.nc_prop: number", "");
goTo.marker('30');
verify.currentSignatureHelpDocCommentIs("c2 c2_f1");
goTo.marker('31');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('32');
verify.currentSignatureHelpDocCommentIs("c2 f1");
goTo.marker('33');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('30q');
verify.quickInfoIs("(method) c2.c2_f1(): void", "c2 c2_f1");
goTo.marker('31q');
verify.quickInfoIs("(method) c2.c2_nc_f1(): void", "");
goTo.marker('32q');
verify.quickInfoIs("(method) c2.f1(): void", "c2 f1");
goTo.marker('33q');
verify.quickInfoIs("(method) c2.nc_f1(): void", "");
goTo.marker('34');
verify.currentSignatureHelpDocCommentIs("c2 constructor");
goTo.marker('34iq');
verify.quickInfoIs("(var) c4_i: c4", "");
goTo.marker('34q');
verify.quickInfoIs("(constructor) c4(a: number): c4", "c2 constructor");
goTo.marker('35');
verify.completionListContains("c2", "class c2", "");
verify.completionListContains("c2_i", "(var) c2_i: c2", "");
verify.completionListContains("c3", "class c3", "");
verify.completionListContains("c3_i", "(var) c3_i: c3", "");
verify.completionListContains("c4", "class c4", "");
verify.completionListContains("c4_i", "(var) c4_i: c4", "");
goTo.marker('36');
verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1");
verify.memberListContains("i2_f1", "(method) i2.i2_f1(): void", "i2_f1");
verify.memberListContains("i2_l1", "(property) i2.i2_l1: () => void", "i2_l1");
verify.memberListContains("i2_nc_p1", "(property) i2.i2_nc_p1: number", "");
verify.memberListContains("i2_nc_f1", "(method) i2.i2_nc_f1(): void", "");
verify.memberListContains("i2_nc_l1", "(property) i2.i2_nc_l1: () => void", "");
verify.memberListContains("p1", "(property) i2.p1: number", "i2 p1");
verify.memberListContains("f1", "(method) i2.f1(): void", "i2 f1");
verify.memberListContains("l1", "(property) i2.l1: () => void", "i2 l1");
verify.memberListContains("nc_p1", "(property) i2.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) i2.nc_f1(): void", "");
verify.memberListContains("nc_l1", "(property) i2.nc_l1: () => void", "");
goTo.marker('37');
verify.currentSignatureHelpDocCommentIs("i2_f1");
goTo.marker('38');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('39');
verify.currentSignatureHelpDocCommentIs("i2 f1");
goTo.marker('40');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l37');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l38');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l39');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l40');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('36iq');
verify.quickInfoIs("(var) i2_i: i2", "");
goTo.marker('37iq');
verify.quickInfoIs("(var) i3_i: i3", "");
goTo.marker('37q');
verify.quickInfoIs("(method) i2.i2_f1(): void", "i2_f1");
goTo.marker('38q');
verify.quickInfoIs("(method) i2.i2_nc_f1(): void", "");
goTo.marker('39q');
verify.quickInfoIs("(method) i2.f1(): void", "i2 f1");
goTo.marker('40q');
verify.quickInfoIs("(method) i2.nc_f1(): void", "");
goTo.marker('l37q');
verify.quickInfoIs("(method) i2.i2_l1(): void", "");
goTo.marker('l38q');
verify.quickInfoIs("(method) i2.i2_nc_l1(): void", "");
goTo.marker('l39q');
verify.quickInfoIs("(method) i2.l1(): void", "");
goTo.marker('l40q');
verify.quickInfoIs("(method) i2.nc_l1(): void", "");
goTo.marker('41');
verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1");
verify.memberListContains("i2_f1", "(method) i2.i2_f1(): void", "i2_f1");
verify.memberListContains("i2_l1", "(property) i2.i2_l1: () => void", "i2_l1");
verify.memberListContains("i2_nc_p1", "(property) i2.i2_nc_p1: number", "");
verify.memberListContains("i2_nc_f1", "(method) i2.i2_nc_f1(): void", "");
verify.memberListContains("i2_nc_l1", "(property) i2.i2_nc_l1: () => void", "");
verify.memberListContains("p1", "(property) i3.p1: number", "i3 p1");
verify.memberListContains("f1", "(method) i3.f1(): void", "i3 f1");
verify.memberListContains("l1", "(property) i3.l1: () => void", "i3 l1");
verify.memberListContains("nc_p1", "(property) i3.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) i3.nc_f1(): void", "");
verify.memberListContains("nc_l1", "(property) i3.nc_l1: () => void", "");
goTo.marker('42');
verify.currentSignatureHelpDocCommentIs("i2_f1");
goTo.marker('43');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('44');
verify.currentSignatureHelpDocCommentIs("i3 f1");
goTo.marker('45');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l42');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l43');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l44');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l45');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('42q');
verify.quickInfoIs("(method) i2.i2_f1(): void", "i2_f1");
goTo.marker('43q');
verify.quickInfoIs("(method) i2.i2_nc_f1(): void", "");
goTo.marker('44q');
verify.quickInfoIs("(method) i3.f1(): void", "i3 f1");
goTo.marker('45q');
verify.quickInfoIs("(method) i3.nc_f1(): void", "");
goTo.marker('l42q');
verify.quickInfoIs("(method) i2.i2_l1(): void", "");
goTo.marker('l43q');
verify.quickInfoIs("(method) i2.i2_nc_l1(): void", "");
goTo.marker('l44q');
verify.quickInfoIs("(method) i3.l1(): void", "");
goTo.marker('l45q');
verify.quickInfoIs("(method) i3.nc_l1(): void", "");
goTo.marker('46');
verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1");
verify.memberListContains("i2_f1", "(method) i2.i2_f1(): void", "i2_f1");
verify.memberListContains("i2_l1", "(property) i2.i2_l1: () => void", "i2_l1");
verify.memberListContains("i2_nc_p1", "(property) i2.i2_nc_p1: number", "");
verify.memberListContains("i2_nc_f1", "(method) i2.i2_nc_f1(): void", "");
verify.memberListContains("i2_nc_l1", "(property) i2.i2_nc_l1: () => void", "");
verify.memberListContains("p1", "(property) i2.p1: number", "i2 p1");
verify.memberListContains("f1", "(method) i2.f1(): void", "i2 f1");
verify.memberListContains("l1", "(property) i2.l1: () => void", "i2 l1");
verify.memberListContains("nc_p1", "(property) i2.nc_p1: number", "");
verify.memberListContains("nc_f1", "(method) i2.nc_f1(): void", "");
verify.memberListContains("nc_l1", "(property) i2.nc_l1: () => void", "");
goTo.marker('47');
verify.currentSignatureHelpDocCommentIs("i2_f1");
goTo.marker('48');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('49');
verify.currentSignatureHelpDocCommentIs("i2 f1");
goTo.marker('50');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l47');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l48');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l49');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l50');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('47q');
verify.quickInfoIs("(method) i2.i2_f1(): void", "i2_f1");
goTo.marker('48q');
verify.quickInfoIs("(method) i2.i2_nc_f1(): void", "");
goTo.marker('49q');
verify.quickInfoIs("(method) i2.f1(): void", "i2 f1");
goTo.marker('50q');
verify.quickInfoIs("(method) i2.nc_f1(): void", "");
goTo.marker('l47q');
verify.quickInfoIs("(method) i2.i2_l1(): void", "");
goTo.marker('l48q');
verify.quickInfoIs("(method) i2.i2_nc_l1(): void", "");
goTo.marker('l49q');
verify.quickInfoIs("(method) i2.l1(): void", "");
goTo.marker('l50q');
verify.quickInfoIs("(method) i2.nc_l1(): void", "");
goTo.marker('51');
verify.completionListContains("i2", "interface i2", "");
verify.completionListContains("i2_i", "(var) i2_i: i2", "");
verify.completionListContains("i3", "interface i3", "");
verify.completionListContains("i3_i", "(var) i3_i: i3", "");
goTo.marker('52');
verify.quickInfoIs("(constructor) c5(): c5", "");
goTo.marker('53');
verify.quickInfoIs("class c5", "c5 class");
goTo.marker('54');
verify.quickInfoIs("(property) c5.b: number", "");
goTo.marker('55');
verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor");
goTo.marker('56');
verify.quickInfoIs("(constructor) c3(): c3", "");
goTo.marker('57');
verify.quickInfoIs("(constructor) c6(): c6", "");

View File

@@ -0,0 +1,259 @@
/// <reference path='fourslash.ts' />
/////** this is interface 1*/
////interface i/*1*/1 {
////}
////var i1/*2*/_i: i1;
////interface nc_/*3*/i1 {
////}
////var nc_/*4*/i1_i: nc_i1;
/////** this is interface 2 with memebers*/
////interface i/*5*/2 {
//// /** this is x*/
//// x: number;
//// /** this is foo*/
//// foo: (/**param help*/b: number) => string;
//// /** this is indexer*/
//// [/**string param*/i: string]: number;
//// /**new method*/
//// new (/** param*/i: i1);
//// nc_x: number;
//// nc_foo: (b: number) => string;
//// [i: number]: number;
//// /** this is call signature*/
//// (/**paramhelp a*/a: number,/**paramhelp b*/ b: number) : number;
//// /** this is fnfoo*/
//// fnfoo(/**param help*/b: number): string;
//// nc_fnfoo(b: number): string;
////}
////var i2/*6*/_i: i2;
////var i2_i/*7*/_x = i2_i./*8*/x;
////var i2_i/*9*/_foo = i2_i.f/*10*/oo;
////var i2_i_f/*11*/oo_r = i2_i.f/*12q*/oo(/*12*/30);
////var i2_i_i2_/*13*/si = i2/*13q*/_i["hello"];
////var i2_i_i2/*14*/_ii = i2/*14q*/_i[30];
////var i2_/*15*/i_n = new i2/*16q*/_i(/*16*/i1_i);
////var i2_i/*17*/_nc_x = i2_i.n/*18*/c_x;
////var i2_i_/*19*/nc_foo = i2_i.n/*20*/c_foo;
////var i2_i_nc_f/*21*/oo_r = i2_i.nc/*22q*/_foo(/*22*/30);
////var i2/*23*/_i_r = i2/*24q*/_i(/*24*/10, /*25*/20);
////var i2_i/*26*/_fnfoo = i2_i.fn/*27*/foo;
////var i2_i_/*28*/fnfoo_r = i2_i.fn/*29q*/foo(/*29*/10);
////var i2_i/*30*/_nc_fnfoo = i2_i.nc_fn/*31*/foo;
////var i2_i_nc_/*32*/fnfoo_r = i2_i.nc/*33q*/_fnfoo(/*33*/10);
/////*34*/
////interface i3 {
//// /** Comment i3 x*/
//// x: number;
//// /** Function i3 f*/
//// f(/**number parameter*/a: number): string;
//// /** i3 l*/
//// l: (/**comment i3 l b*/b: number) => string;
//// nc_x: number;
//// nc_f(a: number): string;
//// nc_l: (b: number) => string;
////}
////var i3_i: i3;
////i3_i = {
//// /*35*/f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + /*36*/a,
//// l: this./*37*/f,
//// /** own x*/
//// x: this.f(/*38*/10),
//// nc_x: this.l(/*39*/this.x),
//// nc_f: this.f,
//// nc_l: this.l
////};
/////*40*/i/*40q*/3_i./*41*/f(/*42*/10);
////i3_i./*43q*/l(/*43*/10);
////i3_i.nc_/*44q*/f(/*44*/10);
////i3_i.nc/*45q*/_l(/*45*/10);
goTo.marker('1');
verify.quickInfoIs("interface i1", "this is interface 1");
goTo.marker('2');
verify.quickInfoIs("(var) i1_i: i1", "");
goTo.marker('3');
verify.quickInfoIs("interface nc_i1", "");
goTo.marker('4');
verify.quickInfoIs("(var) nc_i1_i: nc_i1", "");
goTo.marker('5');
verify.quickInfoIs("interface i2", "this is interface 2 with memebers");
goTo.marker('6');
verify.quickInfoIs("(var) i2_i: i2", "");
goTo.marker('7');
verify.quickInfoIs("(var) i2_i_x: number", "");
goTo.marker('8');
verify.quickInfoIs("(property) i2.x: number", "this is x");
verify.memberListContains("x", "(property) i2.x: number", "this is x");
verify.memberListContains("foo", "(property) i2.foo: (b: number) => string", "this is foo");
verify.memberListContains("nc_x", "(property) i2.nc_x: number", "");
verify.memberListContains("nc_foo", "(property) i2.nc_foo: (b: number) => string", "");
verify.memberListContains("fnfoo", "(method) i2.fnfoo(b: number): string", "this is fnfoo");
verify.memberListContains("nc_fnfoo", "(method) i2.nc_fnfoo(b: number): string", "");
goTo.marker('9');
verify.quickInfoIs("(var) i2_i_foo: (b: number) => string", "");
goTo.marker('10');
verify.quickInfoIs("(property) i2.foo: (b: number) => string", "this is foo");
goTo.marker('11');
verify.quickInfoIs("(var) i2_i_foo_r: string", "");
goTo.marker('12');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("param help");
goTo.marker('12q');
verify.quickInfoIs("(method) i2.foo(b: number): string", "");
goTo.marker('13');
verify.quickInfoIs("(var) i2_i_i2_si: number", "");
goTo.marker('13q');
verify.quickInfoIs("(var) i2_i: i2", "");
goTo.marker('14');
verify.quickInfoIs("(var) i2_i_i2_ii: number", "");
goTo.marker('14q');
verify.quickInfoIs("(var) i2_i: i2", "");
goTo.marker('15');
verify.quickInfoIs("(var) i2_i_n: any", "");
goTo.marker('16');
verify.currentSignatureHelpDocCommentIs("new method");
verify.currentParameterHelpArgumentDocCommentIs("param");
goTo.marker('16q');
verify.quickInfoIs("(constructor) i2(i: i1): any", "new method");
goTo.marker('17');
verify.quickInfoIs("(var) i2_i_nc_x: number", "");
goTo.marker('18');
verify.quickInfoIs("(property) i2.nc_x: number", "");
goTo.marker('19');
verify.quickInfoIs("(var) i2_i_nc_foo: (b: number) => string", "");
goTo.marker('20');
verify.quickInfoIs("(property) i2.nc_foo: (b: number) => string", "");
goTo.marker('21');
verify.quickInfoIs("(var) i2_i_nc_foo_r: string", "");
goTo.marker('22');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('22q');
verify.quickInfoIs("(method) i2.nc_foo(b: number): string", "");
goTo.marker('23');
verify.quickInfoIs("(var) i2_i_r: number", "");
goTo.marker('24');
verify.currentSignatureHelpDocCommentIs("this is call signature");
verify.currentParameterHelpArgumentDocCommentIs("paramhelp a");
goTo.marker('24q');
verify.quickInfoIs("(function) i2(a: number, b: number): number", "this is call signature");
goTo.marker('25');
verify.currentSignatureHelpDocCommentIs("this is call signature");
verify.currentParameterHelpArgumentDocCommentIs("paramhelp b");
goTo.marker('26');
verify.quickInfoIs("(var) i2_i_fnfoo: (b: number) => string", "");
goTo.marker('27');
verify.quickInfoIs("(method) i2.fnfoo(b: number): string", "this is fnfoo");
goTo.marker('28');
verify.quickInfoIs("(var) i2_i_fnfoo_r: string", "");
goTo.marker('29');
verify.currentSignatureHelpDocCommentIs("this is fnfoo");
verify.currentParameterHelpArgumentDocCommentIs("param help");
goTo.marker('29q');
verify.quickInfoIs("(method) i2.fnfoo(b: number): string", "this is fnfoo");
goTo.marker('30');
verify.quickInfoIs("(var) i2_i_nc_fnfoo: (b: number) => string", "");
goTo.marker('31');
verify.quickInfoIs("(method) i2.nc_fnfoo(b: number): string", "");
goTo.marker('32');
verify.quickInfoIs("(var) i2_i_nc_fnfoo_r: string", "");
goTo.marker('33');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('33q');
verify.quickInfoIs("(method) i2.nc_fnfoo(b: number): string", "");
goTo.marker('34');
verify.completionListContains("i1", "interface i1", "this is interface 1");
verify.completionListContains("i1_i", "(var) i1_i: i1", "");
verify.completionListContains("nc_i1", "interface nc_i1", "");
verify.completionListContains("nc_i1_i", "(var) nc_i1_i: nc_i1", "");
verify.completionListContains("i2", "interface i2", "this is interface 2 with memebers");
verify.completionListContains("i2_i", "(var) i2_i: i2", "");
verify.completionListContains("i2_i_x", "(var) i2_i_x: number", "");
verify.completionListContains("i2_i_foo", "(var) i2_i_foo: (b: number) => string", "");
verify.completionListContains("i2_i_foo_r", "(var) i2_i_foo_r: string", "");
verify.completionListContains("i2_i_i2_si", "(var) i2_i_i2_si: number", "");
verify.completionListContains("i2_i_i2_ii", "(var) i2_i_i2_ii: number", "");
verify.completionListContains("i2_i_n", "(var) i2_i_n: any", "");
verify.completionListContains("i2_i_nc_x", "(var) i2_i_nc_x: number", "");
verify.completionListContains("i2_i_nc_foo", "(var) i2_i_nc_foo: (b: number) => string", "");
verify.completionListContains("i2_i_nc_foo_r", "(var) i2_i_nc_foo_r: string", "");
verify.completionListContains("i2_i_r", "(var) i2_i_r: number", "");
verify.completionListContains("i2_i_fnfoo", "(var) i2_i_fnfoo: (b: number) => string", "");
verify.completionListContains("i2_i_fnfoo_r", "(var) i2_i_fnfoo_r: string", "");
verify.completionListContains("i2_i_nc_fnfoo", "(var) i2_i_nc_fnfoo: (b: number) => string", "");
verify.completionListContains("i2_i_nc_fnfoo_r", "(var) i2_i_nc_fnfoo_r: string", "");
goTo.marker('36');
verify.completionListContains("a", "(parameter) a: number", "i3_i a");
goTo.marker('40q');
verify.quickInfoIs("(var) i3_i: i3", "");
goTo.marker('40');
verify.completionListContains("i3", "interface i3", "");
verify.completionListContains("i3_i", "(var) i3_i: i3", "");
goTo.marker('41');
verify.quickInfoIs("(method) i3.f(a: number): string", "Function i3 f");
verify.memberListContains("f", "(method) i3.f(a: number): string", "Function i3 f");
verify.memberListContains("l", "(property) i3.l: (b: number) => string", "i3 l");
verify.memberListContains("x", "(property) i3.x: number", "Comment i3 x");
verify.memberListContains("nc_f", "(method) i3.nc_f(a: number): string", "");
verify.memberListContains("nc_l", "(property) i3.nc_l: (b: number) => string", "");
verify.memberListContains("nc_x", "(property) i3.nc_x: number", "");
goTo.marker('42');
verify.currentSignatureHelpDocCommentIs("Function i3 f");
verify.currentParameterHelpArgumentDocCommentIs("number parameter");
goTo.marker('43');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("comment i3 l b");
goTo.marker('43q');
verify.quickInfoIs("(method) i3.l(b: number): string", "");
goTo.marker('44');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('44q');
verify.quickInfoIs("(method) i3.nc_f(a: number): string", "");
goTo.marker('45');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('45q');
verify.quickInfoIs("(method) i3.nc_l(b: number): string", "");

View File

@@ -0,0 +1,54 @@
/// <reference path='fourslash.ts' />
// @Filename: commentsMultiModuleMultiFile_0.ts
/////** this is multi declare module*/
////module mult/*3*/iM {
//// /** class b*/
//// export class b {
//// }
////}
/////** thi is multi module 2*/
////module mu/*2*/ltiM {
//// /** class c comment*/
//// export class c {
//// }
////}
////
////new /*1*/mu/*4*/ltiM.b();
////new mu/*5*/ltiM.c();
// @Filename: commentsMultiModuleMultiFile_1.ts
/////** this is multi module 3 comment*/
////module mu/*6*/ltiM {
//// /** class d comment*/
//// export class d {
//// }
////}
////new /*7*/mu/*8*/ltiM.d();
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
edit.insert('');
goTo.marker('1');
verify.completionListContains("multiM", "module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");
goTo.marker('2');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");
goTo.marker('3');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");
goTo.marker('4');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");
goTo.marker('5');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");
goTo.marker('6');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");
goTo.marker('7');
verify.completionListContains("multiM", "module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");
goTo.marker('8');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment");

View File

@@ -0,0 +1,35 @@
/// <reference path='fourslash.ts' />
/////** this is multi declare module*/
////module mult/*3*/iM {
//// /** class b*/
//// export class b {
//// }
////}
/////** thi is multi module 2*/
////module mu/*2*/ltiM {
//// /** class c comment*/
//// export class c {
//// }
////}
////
////new /*1*/mu/*4*/ltiM.b();
////new mu/*5*/ltiM.c();
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
edit.insert('');
goTo.marker('1');
verify.completionListContains("multiM", "module multiM", "this is multi declare module\nthi is multi module 2");
goTo.marker('2');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2");
goTo.marker('3');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2");
goTo.marker('4');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2");
goTo.marker('5');
verify.quickInfoIs("module multiM", "this is multi declare module\nthi is multi module 2");

View File

@@ -0,0 +1,100 @@
/// <reference path='fourslash.ts' />
/////** This is my variable*/
////var myV/*1*/ariable = 10;
/////*2*/
/////** d variable*/
////var d = 10;
////myVariable = d;
/////*3*/
/////** foos comment*/
////function foo() {
////}
/////** fooVar comment*/
////var foo/*12*/Var: () => void;
/////*4*/
////f/*5q*/oo(/*5*/);
////fo/*6q*/oVar(/*6*/);
////fo/*13*/oVar = f/*14*/oo;
/////*7*/
////f/*8q*/oo(/*8*/);
////foo/*9q*/Var(/*9*/);
////var fooVarVar = /*9aq*/fooVar;
/////**class comment*/
////class c {
//// /** constructor comment*/
//// constructor() {
//// }
////}
/////**instance comment*/
////var i = new c();
/////*10*/
/////** interface comments*/
////interface i1 {
////}
/////**interface instance comments*/
////var i1_i: i1;
/////*11*/
////function foo2(a: number): void;
////function foo2(b: string): void;
////function foo2(aOrb) {
////}
////var x = fo/*15*/o2;
goTo.marker('1');
verify.quickInfoIs("(var) myVariable: number", "This is my variable");
goTo.marker('2');
verify.completionListContains("myVariable", "(var) myVariable: number", "This is my variable");
goTo.marker('3');
verify.completionListContains("myVariable", "(var) myVariable: number", "This is my variable");
verify.completionListContains("d", "(var) d: number", "d variable");
goTo.marker('4');
verify.completionListContains("foo", "(function) foo(): void", "foos comment");
verify.completionListContains("fooVar", "(var) fooVar: () => void", "fooVar comment");
goTo.marker('5');
verify.currentSignatureHelpDocCommentIs("foos comment");
goTo.marker('5q');
verify.quickInfoIs("(function) foo(): void", "foos comment");
goTo.marker('6');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('6q');
verify.quickInfoIs("(function) fooVar(): void", "");
goTo.marker('7');
verify.completionListContains("foo", "(function) foo(): void", "foos comment");
verify.completionListContains("fooVar", "(var) fooVar: () => void", "fooVar comment");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("foos comment");
goTo.marker('8q');
verify.quickInfoIs("(function) foo(): void", "foos comment");
goTo.marker('9');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('9q');
verify.quickInfoIs("(function) fooVar(): void", "");
goTo.marker('9aq');
verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment");
goTo.marker('10');
verify.completionListContains("i", "(var) i: c", "instance comment");
goTo.marker('11');
verify.completionListContains("i1_i", "(var) i1_i: i1", "interface instance comments");
goTo.marker('12');
verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment");
goTo.marker('13');
verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment");
goTo.marker('14');
verify.quickInfoIs("(function) foo(): void", "foos comment");
goTo.marker('15');
verify.quickInfoIs("(function) foo2(a: number): void (+ 1 overload(s))", "");

View File

@@ -1,176 +0,0 @@
/// <reference path='fourslash.ts' />
/////** This is class c2 without constuctor*/
////class c/*1*/2 {
////}
////var i/*2*/2 = new c/*28*/2(/*3*/);
////var i2/*4*/_c = c/*5*/2;
////class c/*6*/3 {
//// /** Constructor comment*/
//// constructor() {
//// }
////}
////var i/*7*/3 = new c/*29*/3(/*8*/);
////var i3/*9*/_c = c/*10*/3;
/////** Class comment*/
////class c/*11*/4 {
//// /** Constructor comment*/
//// constructor() {
//// }
////}
////var i/*12*/4 = new c/*30*/4(/*13*/);
////var i4/*14*/_c = c/*15*/4;
/////** Class with statics*/
////class c/*16*/5 {
//// static s1: number;
////}
////var i/*17*/5 = new c/*31*/5(/*18*/);
////var i5_/*19*/c = c/*20*/5;
/////** class with statics and constructor*/
////class c/*21*/6 {
//// /** s1 comment*/
//// static s1: number;
//// /** constructor comment*/
//// constructor() {
//// }
////}
////var i/*22*/6 = new c/*32*/6(/*23*/);
////var i6/*24*/_c = c/*25*/6;
/////*26*/
////class a {
//// /**
//// constructor for a
//// @param a this is my a
//// */
//// constructor(a: string) {
//// }
////}
////new a(/*27*/"Hello");
////module m {
//// export module m2 {
//// /** class comment */
//// export class c1 {
//// /** constructor comment*/
//// constructor() {
//// }
//// }
//// }
////}
////var myVar = new m.m2.c/*33*/1();
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
edit.insert('');
goTo.marker('1');
verify.quickInfoIs(undefined, "This is class c2 without constuctor", "c2", "class");
goTo.marker('2');
verify.quickInfoIs("c2", "", "i2", "var");
goTo.marker('3');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('4');
verify.quickInfoIs("typeof c2", "", "i2_c", "var");
goTo.marker('5');
verify.quickInfoIs(undefined, "This is class c2 without constuctor", "c2", "class");
goTo.marker('6');
verify.quickInfoIs(undefined, "", "c3", "class");
goTo.marker('7');
verify.quickInfoIs("c3", "", "i3", "var");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("Constructor comment");
goTo.marker('9');
verify.quickInfoIs("typeof c3", "", "i3_c", "var");
goTo.marker('10');
verify.quickInfoIs(undefined, "Constructor comment", "c3", "class");
goTo.marker('11');
verify.quickInfoIs(undefined, "Class comment", "c4", "class");
goTo.marker('12');
verify.quickInfoIs("c4", "", "i4", "var");
goTo.marker('13');
verify.currentSignatureHelpDocCommentIs("Constructor comment");
goTo.marker('14');
verify.quickInfoIs("typeof c4", "", "i4_c", "var");
goTo.marker('15');
verify.quickInfoIs(undefined, "Class comment\nConstructor comment", "c4", "class");
goTo.marker('16');
verify.quickInfoIs(undefined, "Class with statics", "c5", "class");
goTo.marker('17');
verify.quickInfoIs("c5", "", "i5", "var");
goTo.marker('18');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('19');
verify.quickInfoIs("typeof c5", "", "i5_c", "var");
goTo.marker('20');
verify.quickInfoIs(undefined, "Class with statics", "c5", "class");
goTo.marker('21');
verify.quickInfoIs(undefined, "class with statics and constructor", "c6", "class");
goTo.marker('22');
verify.quickInfoIs("c6", "", "i6", "var");
goTo.marker('23');
verify.currentSignatureHelpDocCommentIs("constructor comment");
goTo.marker('24');
verify.quickInfoIs("typeof c6", "", "i6_c", "var");
goTo.marker('25');
verify.quickInfoIs(undefined, "class with statics and constructor\nconstructor comment", "c6", "class");
goTo.marker('26');
verify.completionListContains("c2", undefined, "This is class c2 without constuctor", "c2", "class");
verify.completionListContains("i2", "c2", "", "i2", "var");
verify.completionListContains("i2_c", "typeof c2", "", "i2_c", "var");
verify.completionListContains("c3", undefined, "", "c3", "class");
verify.completionListContains("i3", "c3", "", "i3", "var");
verify.completionListContains("i3_c", "typeof c3", "", "i3_c", "var");
verify.completionListContains("c4", undefined, "Class comment", "c4", "class");
verify.completionListContains("i4", "c4", "", "i4", "var");
verify.completionListContains("i4_c", "typeof c4", "", "i4_c", "var");
verify.completionListContains("c5", undefined, "Class with statics", "c5", "class");
verify.completionListContains("i5", "c5", "","i5", "var");
verify.completionListContains("i5_c", "typeof c5", "", "i5_c", "var");
verify.completionListContains("c6", undefined, "class with statics and constructor", "c6", "class");
verify.completionListContains("i6", "c6", "", "i6", "var");
verify.completionListContains("i6_c", "typeof c6", "", "i6_c", "var");
goTo.marker('27');
verify.currentSignatureHelpDocCommentIs("constructor for a");
verify.currentParameterHelpArgumentDocCommentIs("this is my a");
goTo.marker('28');
verify.quickInfoIs("(): c2", "", "c2", "constructor");
goTo.marker('29');
verify.quickInfoIs("(): c3", "Constructor comment", "c3", "constructor");
goTo.marker('30');
verify.quickInfoIs("(): c4", "Constructor comment", "c4", "constructor");
goTo.marker('31');
verify.quickInfoIs("(): c5", "", "c5", "constructor");
goTo.marker('32');
verify.quickInfoIs("(): c6", "constructor comment", "c6", "constructor");
goTo.marker('33');
verify.quickInfoIs("(): m.m2.c1", "constructor comment", "m.m2.c1", "constructor");

View File

@@ -1,706 +0,0 @@
/// <reference path='fourslash.ts' />
/////** 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*/
//// public get p/*6*/3() {
//// return this./*7*/p/*8q*/2(/*8*/this./*9*/p1);
//// }
//// /** setter property*/
//// 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*/
//// private get p/*18*/p3() {
//// return this./*19*/p/*20q*/p2(/*20*/this./*21*/pp1);
//// }
//// /** setter property*/
//// 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*/
//// 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;
//// }
////}
goTo.marker('1');
verify.quickInfoIs(undefined, "This is comment for c1", "c1", "class");
goTo.marker('2');
verify.quickInfoIs("number", "p1 is property of c1", "c1.p1", "property");
goTo.marker('3');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method");
goTo.marker('4');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('5');
verify.completionListContains("b", "number", "number to add", "b", "parameter");
goTo.marker('6');
verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property");
goTo.marker('7');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('8q');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method");
goTo.marker('9');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('10');
verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property");
goTo.marker('11');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('12');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('13');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("value", "number", "this is value", "value", "parameter");
goTo.marker('13q');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method");
goTo.marker('14');
verify.quickInfoIs("number", "pp1 is property of c1", "c1.pp1", "property");
goTo.marker('15');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.pp2", "method");
goTo.marker('16');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('17');
verify.completionListContains("b", "number", "number to add", "b", "parameter");
goTo.marker('18');
verify.quickInfoIs("number", "getter property\nsetter property", "c1.pp3", "property");
goTo.marker('19');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('20');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('20q');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.pp2", "method");
goTo.marker('21');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('22');
verify.quickInfoIs("number", "getter property\nsetter property", "c1.pp3", "property");
goTo.marker('23');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('24');
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("pp1", "number", "pp1 is property of c1", "c1.pp1", "property");
verify.memberListContains("pp2", "(b: number): number", "sum with property", "c1.pp2", "method");
verify.memberListContains("pp3", "number", "getter property\nsetter property", "c1.pp3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
verify.memberListContains("nc_pp1", "number", "", "c1.nc_pp1", "property");
verify.memberListContains("nc_pp2", "(b: number): number", "", "c1.nc_pp2", "method");
verify.memberListContains("nc_pp3", "number", "", "c1.nc_pp3", "property");
goTo.marker('25');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("value", "number", "this is value", "value", "parameter");
goTo.marker('25q');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.pp2", "method");
goTo.marker('26');
verify.quickInfoIs("(): c1", "Constructor method", "c1", "constructor");
goTo.marker('27');
verify.quickInfoIs("number", "s1 is static property of c1", "c1.s1", "property");
goTo.marker('28');
verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method");
goTo.marker('29');
verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class");
goTo.marker('30');
verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property");
verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method");
verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property");
verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property");
verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method");
verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property");
goTo.marker('31');
verify.completionListContains("b", "number", "number to add", "b", "parameter");
goTo.marker('32');
verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property");
goTo.marker('33');
verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class");
goTo.marker('34');
verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property");
verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method");
verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property");
verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property");
verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method");
verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property");
goTo.marker('35');
verify.currentSignatureHelpDocCommentIs("static sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class");
goTo.marker('35q');
verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method");
goTo.marker('36');
verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property");
verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method");
verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property");
verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property");
verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method");
verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property");
goTo.marker('37');
verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property");
goTo.marker('38');
verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class");
goTo.marker('39');
verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property");
verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method");
verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property");
verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property");
verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method");
verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property");
goTo.marker('40');
verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class");
goTo.marker('41');
verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property");
verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method");
verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property");
verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property");
verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method");
verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property");
goTo.marker('42');
verify.currentSignatureHelpDocCommentIs("static sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
verify.completionListContains("value", "number", "this is value", "value", "parameter");
goTo.marker('42q');
verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method");
goTo.marker('43');
verify.quickInfoIs("number", "", "c1.nc_p1", "property");
goTo.marker('44');
verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method");
goTo.marker('45');
verify.completionListContains("b", "number", "", "b", "parameter");
goTo.marker('46');
verify.quickInfoIs("number", "", "c1.nc_p3", "property");
goTo.marker('47');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('47q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method");
goTo.marker('48');
verify.quickInfoIs("number", "", "c1.nc_p3", "property");
goTo.marker('49');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
verify.completionListContains("value", "number", "", "value", "parameter");
goTo.marker('49q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method");
goTo.marker('50');
verify.quickInfoIs("number", "", "c1.nc_pp1", "property");
goTo.marker('51');
verify.quickInfoIs("(b: number): number", "", "c1.nc_pp2", "method");
goTo.marker('52');
verify.completionListContains("b", "number", "", "b", "parameter");
goTo.marker('53');
verify.quickInfoIs("number", "", "c1.nc_pp3", "property");
goTo.marker('54');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('54q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_pp2", "method");
goTo.marker('55');
verify.quickInfoIs("number", "", "c1.nc_pp3", "property");
goTo.marker('56');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
verify.completionListContains("value", "number", "", "value", "parameter");
goTo.marker('56q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_pp2", "method");
goTo.marker('57');
verify.quickInfoIs("number", "", "c1.nc_s1", "property");
goTo.marker('58');
verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method");
goTo.marker('59');
verify.completionListContains("b", "number", "", "b", "parameter");
goTo.marker('60');
verify.quickInfoIs("number", "", "c1.nc_s3", "property");
goTo.marker('61');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('61q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method");
goTo.marker('62');
verify.quickInfoIs("number", "", "c1.nc_s3", "property");
goTo.marker('63');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
verify.completionListContains("value", "number", "", "value", "parameter");
goTo.marker('63q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method");
goTo.marker('64');
verify.quickInfoIs("c1", "", "i1", "var");
goTo.marker('65');
verify.currentSignatureHelpDocCommentIs("Constructor method");
goTo.marker('65q');
verify.quickInfoIs("(): c1", "Constructor method", "c1", "constructor");
goTo.marker('66');
verify.quickInfoIs("number", "", "i1_p", "var");
goTo.marker('67');
verify.quickInfoIs("number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p1", "number", "p1 is property of c1", "c1.p1", "property");
verify.memberListContains("p2", "(b: number): number", "sum with property", "c1.p2", "method");
verify.memberListContains("p3", "number", "getter property\nsetter property", "c1.p3", "property");
verify.memberListContains("nc_p1", "number", "", "c1.nc_p1", "property");
verify.memberListContains("nc_p2", "(b: number): number", "", "c1.nc_p2", "method");
verify.memberListContains("nc_p3", "number", "", "c1.nc_p3", "property");
goTo.marker('68');
verify.quickInfoIs("(b: number) => number", "", "i1_f", "var");
goTo.marker('69');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method");
goTo.marker('70');
verify.quickInfoIs("number", "", "i1_r", "var");
goTo.marker('71');
verify.currentSignatureHelpDocCommentIs("sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('71q');
verify.quickInfoIs("(b: number): number", "sum with property", "c1.p2", "method");
goTo.marker('72');
verify.quickInfoIs("number", "", "i1_prop", "var");
goTo.marker('73');
verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property");
goTo.marker('74');
verify.quickInfoIs("number", "getter property\nsetter property", "c1.p3", "property");
goTo.marker('75');
verify.quickInfoIs("number", "", "i1_prop", "var");
goTo.marker('76');
verify.quickInfoIs("number", "", "i1_nc_p", "var");
goTo.marker('77');
verify.quickInfoIs("number", "", "c1.nc_p1", "property");
goTo.marker('78');
verify.quickInfoIs("(b: number) => number", "", "i1_ncf", "var");
goTo.marker('79');
verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method");
goTo.marker('80');
verify.quickInfoIs("number", "", "i1_ncr", "var");
goTo.marker('81');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('81q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_p2", "method");
goTo.marker('82');
verify.quickInfoIs("number", "", "i1_ncprop", "var");
goTo.marker('83');
verify.quickInfoIs("number", "", "c1.nc_p3", "property");
goTo.marker('84');
verify.quickInfoIs("number", "", "c1.nc_p3", "property");
goTo.marker('85');
verify.quickInfoIs("number", "", "i1_ncprop", "var");
goTo.marker('86');
verify.quickInfoIs("number", "", "i1_s_p", "var");
goTo.marker('87');
verify.quickInfoIs(undefined, "This is comment for c1\nConstructor method", "c1", "class");
verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class");
goTo.marker('88');
verify.quickInfoIs("number", "s1 is static property of c1", "c1.s1", "property");
verify.memberListContains("s1", "number", "s1 is static property of c1", "c1.s1", "property");
verify.memberListContains("s2", "(b: number): number", "static sum with property", "c1.s2", "method");
verify.memberListContains("s3", "number", "static getter property\nsetter property", "c1.s3", "property");
verify.memberListContains("nc_s1", "number", "", "c1.nc_s1", "property");
verify.memberListContains("nc_s2", "(b: number): number", "", "c1.nc_s2", "method");
verify.memberListContains("nc_s3", "number", "", "c1.nc_s3", "property");
goTo.marker('89');
verify.quickInfoIs("(b: number) => number", "", "i1_s_f", "var");
goTo.marker('90');
verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method");
goTo.marker('91');
verify.quickInfoIs("number", "", "i1_s_r", "var");
goTo.marker('92');
verify.currentSignatureHelpDocCommentIs("static sum with property");
verify.currentParameterHelpArgumentDocCommentIs("number to add");
goTo.marker('92q');
verify.quickInfoIs("(b: number): number", "static sum with property", "c1.s2", "method");
goTo.marker('93');
verify.quickInfoIs("number", "", "i1_s_prop", "var");
goTo.marker('94');
verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property");
goTo.marker('95');
verify.quickInfoIs("number", "static getter property\nsetter property", "c1.s3", "property");
goTo.marker('96');
verify.quickInfoIs("number", "", "i1_s_prop", "var");
goTo.marker('97');
verify.quickInfoIs("number", "", "i1_s_nc_p", "var");
goTo.marker('98');
verify.quickInfoIs("number", "", "c1.nc_s1", "property");
goTo.marker('99');
verify.quickInfoIs("(b: number) => number", "", "i1_s_ncf", "var");
goTo.marker('100');
verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method");
goTo.marker('101');
verify.quickInfoIs("number", "", "i1_s_ncr", "var");
goTo.marker('102');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('102q');
verify.quickInfoIs("(b: number): number", "", "c1.nc_s2", "method");
goTo.marker('103');
verify.quickInfoIs("number", "", "i1_s_ncprop", "var");
goTo.marker('104');
verify.quickInfoIs("number", "", "c1.nc_s3", "property");
goTo.marker('105');
verify.quickInfoIs("number", "", "c1.nc_s3", "property");
goTo.marker('106');
verify.quickInfoIs("number", "", "i1_s_ncprop", "var");
goTo.marker('107');
verify.quickInfoIs("typeof c1", "", "i1_c", "var");
goTo.marker('108');
verify.quickInfoIs(undefined, "This is comment for c1\nConstructor method", "c1", "class");
goTo.marker('109');
verify.completionListContains("c1", undefined, "This is comment for c1", "c1", "class");
verify.completionListContains("i1", "c1", "", "i1", "var");
verify.completionListContains("i1_p", "number", "", "i1_p", "var");
verify.completionListContains("i1_f", "(b: number) => number", "", "i1_f", "var");
verify.completionListContains("i1_r", "number", "", "i1_r", "var");
verify.completionListContains("i1_prop", "number", "", "i1_prop", "var");
verify.completionListContains("i1_nc_p", "number", "", "i1_nc_p", "var");
verify.completionListContains("i1_ncf", "(b: number) => number", "", "i1_ncf", "var");
verify.completionListContains("i1_ncr", "number", "", "i1_ncr", "var");
verify.completionListContains("i1_ncprop", "number", "", "i1_ncprop", "var");
verify.completionListContains("i1_s_p", "number", "", "i1_s_p", "var");
verify.completionListContains("i1_s_f", "(b: number) => number", "", "i1_s_f", "var");
verify.completionListContains("i1_s_r", "number", "", "i1_s_r", "var");
verify.completionListContains("i1_s_prop", "number", "", "i1_s_prop", "var");
verify.completionListContains("i1_s_nc_p", "number", "", "i1_s_nc_p", "var");
verify.completionListContains("i1_s_ncf", "(b: number) => number", "", "i1_s_ncf", "var");
verify.completionListContains("i1_s_ncr", "number", "", "i1_s_ncr", "var");
verify.completionListContains("i1_s_ncprop", "number", "", "i1_s_ncprop", "var");
verify.completionListContains("i1_c", "typeof c1", "", "i1_c", "var");
goTo.marker('110');
verify.quickInfoIs("number", "setter only property", "cProperties.p2", "property");
verify.memberListContains("p1", "number", "getter only property", "cProperties.p1", "property");
verify.memberListContains("p2", "number", "setter only property", "cProperties.p2", "property");
verify.memberListContains("nc_p1", "number", "", "cProperties.nc_p1", "property");
verify.memberListContains("nc_p2", "number", "", "cProperties.nc_p2", "property");
goTo.marker('111');
verify.quickInfoIs("number", "getter only property", "cProperties.p1", "property");
goTo.marker('112');
verify.quickInfoIs("number", "", "cProperties.nc_p2", "property");
goTo.marker('113');
verify.quickInfoIs("number", "", "cProperties.nc_p1", "property");
goTo.marker('114');
verify.memberListContains("a", "number", "more info about a", "cWithConstructorProperty.a", "property");
verify.quickInfoIs("number", "more info about a", "cWithConstructorProperty.a", "property");
goTo.marker('115');
verify.completionListContains("a", "number", "this is first parameter a\nmore info about a", "a", "parameter");
verify.quickInfoIs("number", "this is first parameter a\nmore info about a", "a", "parameter");
goTo.marker('116');
verify.quickInfoIs("cWithConstructorProperty", "", "cWithConstructorProperty", "class");
goTo.marker('117');
verify.quickInfoIs("number", "", "bbbb", "local var");
goTo.marker('118');
verify.quickInfoIs("number", "", "bbbb", "local var");
goTo.marker('119');
verify.quickInfoIs("(a: number): cWithConstructorProperty", "this is class cWithConstructorProperty's constructor", "cWithConstructorProperty", "constructor");

View File

@@ -1,37 +0,0 @@
/// <reference path='fourslash.ts' />
/////** Enum of colors*/
////enum /*1*/Colors {
//// /** Fancy name for 'blue'*/
//// /*2*/Cornflower,
//// /** Fancy name for 'pink'*/
//// /*3*/FancyPink
////}
////var /*4*/x = /*5*/Colors./*6*/Cornflower;
////x = Colors./*7*/FancyPink;
goTo.marker('1');
verify.quickInfoIs("Colors", "Enum of colors", "Colors", "enum");
goTo.marker('2');
verify.quickInfoIs("Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property");
goTo.marker('3');
verify.quickInfoIs("Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property");
goTo.marker('4');
verify.quickInfoIs("Colors", "", "x", "var");
goTo.marker('5');
verify.completionListContains("Colors", "Colors", "Enum of colors", "Colors", "enum");
verify.quickInfoIs("typeof Colors", "Enum of colors", "Colors", "enum");
goTo.marker('6');
verify.memberListContains("Cornflower", "Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property");
verify.memberListContains("FancyPink", "Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property");
verify.quickInfoIs("Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property");
goTo.marker('7');
verify.memberListContains("Cornflower", "Colors", "Fancy name for 'blue'", "Colors.Cornflower", "property");
verify.memberListContains("FancyPink", "Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property");
verify.quickInfoIs("Colors", "Fancy name for 'pink'", "Colors.FancyPink", "property");

View File

@@ -1,672 +0,0 @@
/// <reference path='fourslash.ts' />
/////** i1 is interface with properties*/
////interface i1 {
//// /** i1_p1*/
//// i1_p1: number;
//// /** i1_f1*/
//// i1_f1(): void;
//// /** i1_l1*/
//// i1_l1: () => void;
//// i1_nc_p1: number;
//// i1_nc_f1(): void;
//// i1_nc_l1: () => void;
//// p1: number;
//// f1(): void;
//// l1: () => void;
//// nc_p1: number;
//// nc_f1(): void;
//// nc_l1: () => void;
////}
////class c1 implements i1 {
//// public i1_p1: number;
//// public i1_f1() {
//// }
//// public i1_l1: () => void;
//// public i1_nc_p1: number;
//// public i1_nc_f1() {
//// }
//// public i1_nc_l1: () => void;
//// /** c1_p1*/
//// public p1: number;
//// /** c1_f1*/
//// public f1() {
//// }
//// /** c1_l1*/
//// public l1: () => void;
//// /** c1_nc_p1*/
//// public nc_p1: number;
//// /** c1_nc_f1*/
//// public nc_f1() {
//// }
//// /** c1_nc_l1*/
//// public nc_l1: () => void;
////}
////var i1/*1iq*/_i: i1;
////i1_i./*1*/i/*2q*/1_f1(/*2*/);
////i1_i.i1_n/*3q*/c_f1(/*3*/);
////i1_i.f/*4q*/1(/*4*/);
////i1_i.nc/*5q*/_f1(/*5*/);
////i1_i.i1/*l2q*/_l1(/*l2*/);
////i1_i.i1_/*l3q*/nc_l1(/*l3*/);
////i1_i.l/*l4q*/1(/*l4*/);
////i1_i.nc/*l5q*/_l1(/*l5*/);
////var c1/*6iq*/_i = new c1();
////c1_i./*6*/i1/*7q*/_f1(/*7*/);
////c1_i.i1_nc/*8q*/_f1(/*8*/);
////c1_i.f/*9q*/1(/*9*/);
////c1_i.nc/*10q*/_f1(/*10*/);
////c1_i.i1/*l7q*/_l1(/*l7*/);
////c1_i.i1_n/*l8q*/c_l1(/*l8*/);
////c1_i.l/*l9q*/1(/*l9*/);
////c1_i.nc/*l10q*/_l1(/*l10*/);
////// assign to interface
////i1_i = c1_i;
////i1_i./*11*/i1/*12q*/_f1(/*12*/);
////i1_i.i1_nc/*13q*/_f1(/*13*/);
////i1_i.f/*14q*/1(/*14*/);
////i1_i.nc/*15q*/_f1(/*15*/);
////i1_i.i1/*l12q*/_l1(/*l12*/);
////i1_i.i1/*l13q*/_nc_l1(/*l13*/);
////i1_i.l/*l14q*/1(/*l14*/);
////i1_i.nc/*l15q*/_l1(/*l15*/);
/////*16*/
////class c2 {
//// /** c2 c2_p1*/
//// public c2_p1: number;
//// /** c2 c2_f1*/
//// public c2_f1() {
//// }
//// /** c2 c2_prop*/
//// public get c2_prop() {
//// return 10;
//// }
//// public c2_nc_p1: number;
//// public c2_nc_f1() {
//// }
//// public get c2_nc_prop() {
//// return 10;
//// }
//// /** c2 p1*/
//// public p1: number;
//// /** c2 f1*/
//// public f1() {
//// }
//// /** c2 prop*/
//// public get prop() {
//// return 10;
//// }
//// public nc_p1: number;
//// public nc_f1() {
//// }
//// public get nc_prop() {
//// return 10;
//// }
//// /** c2 constructor*/
//// constr/*55*/uctor(a: number) {
//// this.c2_p1 = a;
//// }
////}
////class c3 extends c2 {
//// cons/*56*/tructor() {
//// su/*18sq*/per(10);
//// this.p1 = s/*18spropq*/uper./*18spropProp*/c2_p1;
//// }
//// /** c3 p1*/
//// public p1: number;
//// /** c3 f1*/
//// public f1() {
//// }
//// /** c3 prop*/
//// public get prop() {
//// return 10;
//// }
//// public nc_p1: number;
//// public nc_f1() {
//// }
//// public get nc_prop() {
//// return 10;
//// }
////}
////var c/*17iq*/2_i = new c/*17q*/2(/*17*/10);
////var c/*18iq*/3_i = new c/*18q*/3(/*18*/);
////c2_i./*19*/c2/*20q*/_f1(/*20*/);
////c2_i.c2_nc/*21q*/_f1(/*21*/);
////c2_i.f/*22q*/1(/*22*/);
////c2_i.nc/*23q*/_f1(/*23*/);
////c3_i./*24*/c2/*25q*/_f1(/*25*/);
////c3_i.c2_nc/*26q*/_f1(/*26*/);
////c3_i.f/*27q*/1(/*27*/);
////c3_i.nc/*28q*/_f1(/*28*/);
////// assign
////c2_i = c3_i;
////c2_i./*29*/c2/*30q*/_f1(/*30*/);
////c2_i.c2_nc_/*31q*/f1(/*31*/);
////c2_i.f/*32q*/1(/*32*/);
////c2_i.nc/*33q*/_f1(/*33*/);
////class c4 extends c2 {
////}
////var c4/*34iq*/_i = new c/*34q*/4(/*34*/10);
/////*35*/
////interface i2 {
//// /** i2_p1*/
//// i2_p1: number;
//// /** i2_f1*/
//// i2_f1(): void;
//// /** i2_l1*/
//// i2_l1: () => void;
//// i2_nc_p1: number;
//// i2_nc_f1(): void;
//// i2_nc_l1: () => void;
//// /** i2 p1*/
//// p1: number;
//// /** i2 f1*/
//// f1(): void;
//// /** i2 l1*/
//// l1: () => void;
//// nc_p1: number;
//// nc_f1(): void;
//// nc_l1: () => void;
////}
////interface i3 extends i2 {
//// /** i3 p1*/
//// p1: number;
//// /** i3 f1*/
//// f1(): void;
//// /** i3 l1*/
//// l1: () => void;
//// nc_p1: number;
//// nc_f1(): void;
//// nc_l1: () => void;
////}
////var i2/*36iq*/_i: i2;
////var i3/*37iq*/_i: i3;
////i2_i./*36*/i2/*37q*/_f1(/*37*/);
////i2_i.i2_n/*38q*/c_f1(/*38*/);
////i2_i.f/*39q*/1(/*39*/);
////i2_i.nc/*40q*/_f1(/*40*/);
////i2_i.i2_/*l37q*/l1(/*l37*/);
////i2_i.i2_nc/*l38q*/_l1(/*l38*/);
////i2_i.l/*l39q*/1(/*l39*/);
////i2_i.nc_/*l40q*/l1(/*l40*/);
////i3_i./*41*/i2_/*42q*/f1(/*42*/);
////i3_i.i2_nc/*43q*/_f1(/*43*/);
////i3_i.f/*44q*/1(/*44*/);
////i3_i.nc_/*45q*/f1(/*45*/);
////i3_i.i2_/*l42q*/l1(/*l42*/);
////i3_i.i2_nc/*l43q*/_l1(/*l43*/);
////i3_i.l/*l44q*/1(/*l44*/);
////i3_i.nc_/*l45q*/l1(/*l45*/);
////// assign to interface
////i2_i = i3_i;
////i2_i./*46*/i2/*47q*/_f1(/*47*/);
////i2_i.i2_nc_/*48q*/f1(/*48*/);
////i2_i.f/*49q*/1(/*49*/);
////i2_i.nc/*50q*/_f1(/*50*/);
////i2_i.i2_/*l47q*/l1(/*l47*/);
////i2_i.i2_nc/*l48q*/_l1(/*l48*/);
////i2_i.l/*l49q*/1(/*l49*/);
////i2_i.nc_/*l50q*/l1(/*l50*/);
/////*51*/
/////**c5 class*/
////class c5 {
//// public b: number;
////}
////class c6 extends c5 {
//// public d;
//// const/*57*/ructor() {
//// /*52*/super();
//// this.d = /*53*/super./*54*/b;
//// }
////}
goTo.marker('1');
verify.memberListContains("i1_p1", "number", "i1_p1", "i1.i1_p1", "property");
verify.memberListContains("i1_f1", "(): void", "i1_f1", "i1.i1_f1", "method");
verify.memberListContains("i1_l1", "() => void", "i1_l1", "i1.i1_l1", "property");
verify.memberListContains("i1_nc_p1", "number", "", "i1.i1_nc_p1", "property");
verify.memberListContains("i1_nc_f1", "(): void", "", "i1.i1_nc_f1", "method");
verify.memberListContains("i1_nc_l1", "() => void", "", "i1.i1_nc_l1", "property");
verify.memberListContains("p1", "number", "", "i1.p1", "property");
verify.memberListContains("f1", "(): void", "", "i1.f1", "method");
verify.memberListContains("l1", "() => void", "", "i1.l1", "property");
verify.memberListContains("nc_p1", "number", "", "i1.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "i1.nc_f1", "method");
verify.memberListContains("nc_l1", "() => void", "", "i1.nc_l1", "property");
goTo.marker('2');
verify.currentSignatureHelpDocCommentIs("i1_f1");
goTo.marker('3');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('4');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('5');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l2');
verify.currentSignatureHelpDocCommentIs("i1_l1");
goTo.marker('l3');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l4');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l5');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('1iq');
verify.quickInfoIs("i1", "", "i1_i", "var");
goTo.marker('2q');
verify.quickInfoIs("(): void", "i1_f1", "i1.i1_f1", "method");
goTo.marker('3q');
verify.quickInfoIs("(): void", "", "i1.i1_nc_f1", "method");
goTo.marker('4q');
verify.quickInfoIs("(): void", "", "i1.f1", "method");
goTo.marker('5q');
verify.quickInfoIs("(): void", "", "i1.nc_f1", "method");
goTo.marker('l2q');
verify.quickInfoIs("() => void", "i1_l1", "i1.i1_l1", "property");
goTo.marker('l3q');
verify.quickInfoIs("() => void", "", "i1.i1_nc_l1", "property");
goTo.marker('l4q');
verify.quickInfoIs("() => void", "", "i1.l1", "property");
goTo.marker('l5q');
verify.quickInfoIs("() => void", "", "i1.nc_l1", "property");
goTo.marker('6');
verify.memberListContains("i1_p1", "number", "", "c1.i1_p1", "property");
verify.memberListContains("i1_f1", "(): void", "", "c1.i1_f1", "method");
verify.memberListContains("i1_l1", "() => void", "", "c1.i1_l1", "property");
verify.memberListContains("i1_nc_p1", "number", "", "c1.i1_nc_p1", "property");
verify.memberListContains("i1_nc_f1", "(): void", "", "c1.i1_nc_f1", "method");
verify.memberListContains("i1_nc_l1", "() => void", "", "c1.i1_nc_l1", "property");
verify.memberListContains("p1", "number", "c1_p1", "c1.p1", "property");
verify.memberListContains("f1", "(): void", "c1_f1", "c1.f1", "method");
verify.memberListContains("l1", "() => void", "c1_l1", "c1.l1", "property");
verify.memberListContains("nc_p1", "number", "c1_nc_p1", "c1.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "c1_nc_f1", "c1.nc_f1", "method");
verify.memberListContains("nc_l1", "() => void", "c1_nc_l1", "c1.nc_l1", "property");
goTo.marker('7');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('9');
verify.currentSignatureHelpDocCommentIs("c1_f1");
goTo.marker('10');
verify.currentSignatureHelpDocCommentIs("c1_nc_f1");
goTo.marker('l7');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l8');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l9');
verify.currentSignatureHelpDocCommentIs("c1_l1");
goTo.marker('l10');
verify.currentSignatureHelpDocCommentIs("c1_nc_l1");
goTo.marker('6iq');
verify.quickInfoIs("c1", "", "c1_i", "var");
goTo.marker('7q');
verify.quickInfoIs("(): void", "", "c1.i1_f1", "method");
goTo.marker('8q');
verify.quickInfoIs("(): void", "", "c1.i1_nc_f1", "method");
goTo.marker('9q');
verify.quickInfoIs("(): void", "c1_f1", "c1.f1", "method");
goTo.marker('10q');
verify.quickInfoIs("(): void", "c1_nc_f1", "c1.nc_f1", "method");
goTo.marker('l7q');
verify.quickInfoIs("() => void", "", "c1.i1_l1", "property");
goTo.marker('l8q');
verify.quickInfoIs("() => void", "", "c1.i1_nc_l1", "property");
goTo.marker('l9q');
verify.quickInfoIs("() => void", "c1_l1", "c1.l1", "property");
goTo.marker('l10q');
verify.quickInfoIs("() => void", "c1_nc_l1", "c1.nc_l1", "property");
goTo.marker('11');
verify.memberListContains("i1_p1", "number", "i1_p1", "i1.i1_p1", "property");
verify.memberListContains("i1_f1", "(): void", "i1_f1", "i1.i1_f1", "method");
verify.memberListContains("i1_l1", "() => void", "i1_l1", "i1.i1_l1", "property");
verify.memberListContains("i1_nc_p1", "number", "", "i1.i1_nc_p1", "property");
verify.memberListContains("i1_nc_f1", "(): void", "", "i1.i1_nc_f1", "method");
verify.memberListContains("i1_nc_l1", "() => void", "", "i1.i1_nc_l1", "property");
verify.memberListContains("p1", "number", "", "i1.p1", "property");
verify.memberListContains("f1", "(): void", "", "i1.f1", "method");
verify.memberListContains("l1", "() => void", "", "i1.l1", "property");
verify.memberListContains("nc_p1", "number", "", "i1.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "i1.nc_f1", "method");
verify.memberListContains("nc_l1", "() => void", "", "i1.nc_l1", "property");
goTo.marker('12');
verify.currentSignatureHelpDocCommentIs("i1_f1");
goTo.marker('13');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('14');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('15');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l12');
verify.currentSignatureHelpDocCommentIs("i1_l1");
goTo.marker('l13');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l14');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l15');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('12q');
verify.quickInfoIs("(): void", "i1_f1", "i1.i1_f1", "method");
goTo.marker('13q');
verify.quickInfoIs("(): void", "", "i1.i1_nc_f1", "method");
goTo.marker('14q');
verify.quickInfoIs("(): void", "", "i1.f1", "method");
goTo.marker('15q');
verify.quickInfoIs("(): void", "", "i1.nc_f1", "method");
goTo.marker('l12q');
verify.quickInfoIs("() => void", "i1_l1", "i1.i1_l1", "property");
goTo.marker('l13q');
verify.quickInfoIs("() => void", "", "i1.i1_nc_l1", "property");
goTo.marker('l14q');
verify.quickInfoIs("() => void", "", "i1.l1", "property");
goTo.marker('l15q');
verify.quickInfoIs("() => void", "", "i1.nc_l1", "property");
goTo.marker('16');
verify.completionListContains("i1", "i1", "i1 is interface with properties", "i1", "interface");
verify.completionListContains("i1_i", "i1", "", "i1_i", "var");
verify.completionListContains("c1", undefined, "", "c1", "class");
verify.completionListContains("c1_i", "c1", "", "c1_i", "var");
goTo.marker('17iq');
verify.quickInfoIs("c2", "", "c2_i", "var");
goTo.marker('18iq');
verify.quickInfoIs("c3", "", "c3_i", "var");
goTo.marker('17');
verify.currentSignatureHelpDocCommentIs("c2 constructor");
goTo.marker('18');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('18sq');
verify.quickInfoIs("(a: number): c2", "c2 constructor", "c2", "constructor");
goTo.marker('18spropq');
verify.quickInfoIs("c2", "", "c2", "class");
goTo.marker('18spropProp');
verify.quickInfoIs("number", "c2 c2_p1", "c2.c2_p1", "property");
goTo.marker('17q');
verify.quickInfoIs("(a: number): c2", "c2 constructor", "c2", "constructor");
goTo.marker('18q');
verify.quickInfoIs("(): c3", "", "c3", "constructor");
goTo.marker('19');
verify.memberListContains("c2_p1", "number", "c2 c2_p1", "c2.c2_p1", "property");
verify.memberListContains("c2_f1", "(): void", "c2 c2_f1", "c2.c2_f1", "method");
verify.memberListContains("c2_prop", "number", "c2 c2_prop", "c2.c2_prop", "property");
verify.memberListContains("c2_nc_p1", "number", "", "c2.c2_nc_p1", "property");
verify.memberListContains("c2_nc_f1", "(): void", "", "c2.c2_nc_f1", "method");
verify.memberListContains("c2_nc_prop", "number", "", "c2.c2_nc_prop", "property");
verify.memberListContains("p1", "number", "c2 p1", "c2.p1", "property");
verify.memberListContains("f1", "(): void", "c2 f1", "c2.f1", "method");
verify.memberListContains("prop", "number", "c2 prop", "c2.prop", "property");
verify.memberListContains("nc_p1", "number", "", "c2.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "c2.nc_f1", "method");
verify.memberListContains("nc_prop", "number", "", "c2.nc_prop", "property");
goTo.marker('20');
verify.currentSignatureHelpDocCommentIs("c2 c2_f1");
goTo.marker('21');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('22');
verify.currentSignatureHelpDocCommentIs("c2 f1");
goTo.marker('23');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('20q');
verify.quickInfoIs("(): void", "c2 c2_f1", "c2.c2_f1", "method");
goTo.marker('21q');
verify.quickInfoIs("(): void", "", "c2.c2_nc_f1", "method");
goTo.marker('22q');
verify.quickInfoIs("(): void", "c2 f1", "c2.f1", "method");
goTo.marker('23q');
verify.quickInfoIs("(): void", "", "c2.nc_f1", "method");
goTo.marker('24');
verify.memberListContains("c2_p1", "number", "c2 c2_p1", "c2.c2_p1", "property");
verify.memberListContains("c2_f1", "(): void", "c2 c2_f1", "c2.c2_f1", "method");
verify.memberListContains("c2_prop", "number", "c2 c2_prop", "c2.c2_prop", "property");
verify.memberListContains("c2_nc_p1", "number", "", "c2.c2_nc_p1", "property");
verify.memberListContains("c2_nc_f1", "(): void", "", "c2.c2_nc_f1", "method");
verify.memberListContains("c2_nc_prop", "number", "", "c2.c2_nc_prop", "property");
verify.memberListContains("p1", "number", "c3 p1", "c3.p1", "property");
verify.memberListContains("f1", "(): void", "c3 f1", "c3.f1", "method");
verify.memberListContains("prop", "number", "c3 prop", "c3.prop", "property");
verify.memberListContains("nc_p1", "number", "", "c3.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "c3.nc_f1", "method");
verify.memberListContains("nc_prop", "number", "", "c3.nc_prop", "property");
goTo.marker('25');
verify.currentSignatureHelpDocCommentIs("c2 c2_f1");
goTo.marker('26');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('27');
verify.currentSignatureHelpDocCommentIs("c3 f1");
goTo.marker('28');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('25q');
verify.quickInfoIs("(): void", "c2 c2_f1", "c2.c2_f1", "method");
goTo.marker('26q');
verify.quickInfoIs("(): void", "", "c2.c2_nc_f1", "method");
goTo.marker('27q');
verify.quickInfoIs("(): void", "c3 f1", "c3.f1", "method");
goTo.marker('28q');
verify.quickInfoIs("(): void", "", "c3.nc_f1", "method");
goTo.marker('29');
verify.memberListContains("c2_p1", "number", "c2 c2_p1", "c2.c2_p1", "property");
verify.memberListContains("c2_f1", "(): void", "c2 c2_f1", "c2.c2_f1", "method");
verify.memberListContains("c2_prop", "number", "c2 c2_prop", "c2.c2_prop", "property");
verify.memberListContains("c2_nc_p1", "number", "", "c2.c2_nc_p1", "property");
verify.memberListContains("c2_nc_f1", "(): void", "", "c2.c2_nc_f1", "method");
verify.memberListContains("c2_nc_prop", "number", "", "c2.c2_nc_prop", "property");
verify.memberListContains("p1", "number", "c2 p1", "c2.p1", "property");
verify.memberListContains("f1", "(): void", "c2 f1", "c2.f1", "method");
verify.memberListContains("prop", "number", "c2 prop", "c2.prop", "property");
verify.memberListContains("nc_p1", "number", "", "c2.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "c2.nc_f1", "method");
verify.memberListContains("nc_prop", "number", "", "c2.nc_prop", "property");
goTo.marker('30');
verify.currentSignatureHelpDocCommentIs("c2 c2_f1");
goTo.marker('31');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('32');
verify.currentSignatureHelpDocCommentIs("c2 f1");
goTo.marker('33');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('30q');
verify.quickInfoIs("(): void", "c2 c2_f1", "c2.c2_f1", "method");
goTo.marker('31q');
verify.quickInfoIs("(): void", "", "c2.c2_nc_f1", "method");
goTo.marker('32q');
verify.quickInfoIs("(): void", "c2 f1", "c2.f1", "method");
goTo.marker('33q');
verify.quickInfoIs("(): void", "", "c2.nc_f1", "method");
goTo.marker('34');
verify.currentSignatureHelpDocCommentIs("c2 constructor");
goTo.marker('34iq');
verify.quickInfoIs("c4", "", "c4_i", "var");
goTo.marker('34q');
verify.quickInfoIs("(a: number): c4", "c2 constructor", "c4", "constructor");
goTo.marker('35');
verify.completionListContains("c2", undefined, "", "c2", "class");
verify.completionListContains("c2_i", "c2", "", "c2_i", "var");
verify.completionListContains("c3", undefined, "", "c3", "class");
verify.completionListContains("c3_i", "c3", "", "c3_i", "var");
verify.completionListContains("c4", undefined, "", "c4", "class");
verify.completionListContains("c4_i", "c4", "", "c4_i", "var");
goTo.marker('36');
verify.memberListContains("i2_p1", "number", "i2_p1", "i2.i2_p1", "property");
verify.memberListContains("i2_f1", "(): void", "i2_f1", "i2.i2_f1", "method");
verify.memberListContains("i2_l1", "() => void", "i2_l1", "i2.i2_l1", "property");
verify.memberListContains("i2_nc_p1", "number", "", "i2.i2_nc_p1", "property");
verify.memberListContains("i2_nc_f1", "(): void", "", "i2.i2_nc_f1", "method");
verify.memberListContains("i2_nc_l1", "() => void", "", "i2.i2_nc_l1", "property");
verify.memberListContains("p1", "number", "i2 p1", "i2.p1", "property");
verify.memberListContains("f1", "(): void", "i2 f1", "i2.f1", "method");
verify.memberListContains("l1", "() => void", "i2 l1", "i2.l1", "property");
verify.memberListContains("nc_p1", "number", "", "i2.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "i2.nc_f1", "method");
verify.memberListContains("nc_l1", "() => void", "", "i2.nc_l1", "property");
goTo.marker('37');
verify.currentSignatureHelpDocCommentIs("i2_f1");
goTo.marker('38');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('39');
verify.currentSignatureHelpDocCommentIs("i2 f1");
goTo.marker('40');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l37');
verify.currentSignatureHelpDocCommentIs("i2_l1");
goTo.marker('l38');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l39');
verify.currentSignatureHelpDocCommentIs("i2 l1");
goTo.marker('l40');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('36iq');
verify.quickInfoIs("i2", "", "i2_i", "var");
goTo.marker('37iq');
verify.quickInfoIs("i3", "", "i3_i", "var");
goTo.marker('37q');
verify.quickInfoIs("(): void", "i2_f1", "i2.i2_f1", "method");
goTo.marker('38q');
verify.quickInfoIs("(): void", "", "i2.i2_nc_f1", "method");
goTo.marker('39q');
verify.quickInfoIs("(): void", "i2 f1", "i2.f1", "method");
goTo.marker('40q');
verify.quickInfoIs("(): void", "", "i2.nc_f1", "method");
goTo.marker('l37q');
verify.quickInfoIs("() => void", "i2_l1", "i2.i2_l1", "property");
goTo.marker('l38q');
verify.quickInfoIs("() => void", "", "i2.i2_nc_l1", "property");
goTo.marker('l39q');
verify.quickInfoIs("() => void", "i2 l1", "i2.l1", "property");
goTo.marker('l40q');
verify.quickInfoIs("() => void", "", "i2.nc_l1", "property");
goTo.marker('41');
verify.memberListContains("i2_p1", "number", "i2_p1", "i2.i2_p1", "property");
verify.memberListContains("i2_f1", "(): void", "i2_f1", "i2.i2_f1", "method");
verify.memberListContains("i2_l1", "() => void", "i2_l1", "i2.i2_l1", "property");
verify.memberListContains("i2_nc_p1", "number", "", "i2.i2_nc_p1", "property");
verify.memberListContains("i2_nc_f1", "(): void", "", "i2.i2_nc_f1", "method");
verify.memberListContains("i2_nc_l1", "() => void", "", "i2.i2_nc_l1", "property");
verify.memberListContains("p1", "number", "i3 p1", "i3.p1", "property");
verify.memberListContains("f1", "(): void", "i3 f1", "i3.f1", "method");
verify.memberListContains("l1", "() => void", "i3 l1", "i3.l1", "property");
verify.memberListContains("nc_p1", "number", "", "i3.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "i3.nc_f1", "method");
verify.memberListContains("nc_l1", "() => void", "", "i3.nc_l1", "property");
goTo.marker('42');
verify.currentSignatureHelpDocCommentIs("i2_f1");
goTo.marker('43');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('44');
verify.currentSignatureHelpDocCommentIs("i3 f1");
goTo.marker('45');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l42');
verify.currentSignatureHelpDocCommentIs("i2_l1");
goTo.marker('l43');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l44');
verify.currentSignatureHelpDocCommentIs("i3 l1");
goTo.marker('l45');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('42q');
verify.quickInfoIs("(): void", "i2_f1", "i2.i2_f1", "method");
goTo.marker('43q');
verify.quickInfoIs("(): void", "", "i2.i2_nc_f1", "method");
goTo.marker('44q');
verify.quickInfoIs("(): void", "i3 f1", "i3.f1", "method");
goTo.marker('45q');
verify.quickInfoIs("(): void", "", "i3.nc_f1", "method");
goTo.marker('l42q');
verify.quickInfoIs("() => void", "i2_l1", "i2.i2_l1", "property");
goTo.marker('l43q');
verify.quickInfoIs("() => void", "", "i2.i2_nc_l1", "property");
goTo.marker('l44q');
verify.quickInfoIs("() => void", "i3 l1", "i3.l1", "property");
goTo.marker('l45q');
verify.quickInfoIs("() => void", "", "i3.nc_l1", "property");
goTo.marker('46');
verify.memberListContains("i2_p1", "number", "i2_p1", "i2.i2_p1", "property");
verify.memberListContains("i2_f1", "(): void", "i2_f1", "i2.i2_f1", "method");
verify.memberListContains("i2_l1", "() => void", "i2_l1", "i2.i2_l1", "property");
verify.memberListContains("i2_nc_p1", "number", "", "i2.i2_nc_p1", "property");
verify.memberListContains("i2_nc_f1", "(): void", "", "i2.i2_nc_f1", "method");
verify.memberListContains("i2_nc_l1", "() => void", "", "i2.i2_nc_l1", "property");
verify.memberListContains("p1", "number", "i2 p1", "i2.p1", "property");
verify.memberListContains("f1", "(): void", "i2 f1", "i2.f1", "method");
verify.memberListContains("l1", "() => void", "i2 l1", "i2.l1", "property");
verify.memberListContains("nc_p1", "number", "", "i2.nc_p1", "property");
verify.memberListContains("nc_f1", "(): void", "", "i2.nc_f1", "method");
verify.memberListContains("nc_l1", "() => void", "", "i2.nc_l1", "property");
goTo.marker('47');
verify.currentSignatureHelpDocCommentIs("i2_f1");
goTo.marker('48');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('49');
verify.currentSignatureHelpDocCommentIs("i2 f1");
goTo.marker('50');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l47');
verify.currentSignatureHelpDocCommentIs("i2_l1");
goTo.marker('l48');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('l49');
verify.currentSignatureHelpDocCommentIs("i2 l1");
goTo.marker('l50');
verify.currentSignatureHelpDocCommentIs("");
goTo.marker('47q');
verify.quickInfoIs("(): void", "i2_f1", "i2.i2_f1", "method");
goTo.marker('48q');
verify.quickInfoIs("(): void", "", "i2.i2_nc_f1", "method");
goTo.marker('49q');
verify.quickInfoIs("(): void", "i2 f1", "i2.f1", "method");
goTo.marker('50q');
verify.quickInfoIs("(): void", "", "i2.nc_f1", "method");
goTo.marker('l47q');
verify.quickInfoIs("() => void", "i2_l1", "i2.i2_l1", "property");
goTo.marker('l48q');
verify.quickInfoIs("() => void", "", "i2.i2_nc_l1", "property");
goTo.marker('l49q');
verify.quickInfoIs("() => void", "i2 l1", "i2.l1", "property");
goTo.marker('l50q');
verify.quickInfoIs("() => void", "", "i2.nc_l1", "property");
goTo.marker('51');
verify.completionListContains("i2", "i2", "", "i2", "interface");
verify.completionListContains("i2_i", "i2", "", "i2_i", "var");
verify.completionListContains("i3", "i3", "", "i3", "interface");
verify.completionListContains("i3_i", "i3", "", "i3_i", "var");
goTo.marker('52');
verify.quickInfoIs("(): c5", "", "c5", "constructor");
goTo.marker('53');
verify.quickInfoIs(undefined, "c5 class", "c5", "class");
goTo.marker('54');
verify.quickInfoIs("number", "", "c5.b", "property");
goTo.marker('55');
verify.quickInfoIs("(a: number): c2", "c2 constructor", "c2", "constructor");
goTo.marker('56');
verify.quickInfoIs("(): c3", "", "c3", "constructor");
goTo.marker('57');
verify.quickInfoIs("(): c6", "", "c6", "constructor");

View File

@@ -1,259 +0,0 @@
/// <reference path='fourslash.ts' />
/////** this is interface 1*/
////interface i/*1*/1 {
////}
////var i1/*2*/_i: i1;
////interface nc_/*3*/i1 {
////}
////var nc_/*4*/i1_i: nc_i1;
/////** this is interface 2 with memebers*/
////interface i/*5*/2 {
//// /** this is x*/
//// x: number;
//// /** this is foo*/
//// foo: (/**param help*/b: number) => string;
//// /** this is indexer*/
//// [/**string param*/i: string]: number;
//// /**new method*/
//// new (/** param*/i: i1);
//// nc_x: number;
//// nc_foo: (b: number) => string;
//// [i: number]: number;
//// /** this is call signature*/
//// (/**paramhelp a*/a: number,/**paramhelp b*/ b: number) : number;
//// /** this is fnfoo*/
//// fnfoo(/**param help*/b: number): string;
//// nc_fnfoo(b: number): string;
////}
////var i2/*6*/_i: i2;
////var i2_i/*7*/_x = i2_i./*8*/x;
////var i2_i/*9*/_foo = i2_i.f/*10*/oo;
////var i2_i_f/*11*/oo_r = i2_i.f/*12q*/oo(/*12*/30);
////var i2_i_i2_/*13*/si = i2/*13q*/_i["hello"];
////var i2_i_i2/*14*/_ii = i2/*14q*/_i[30];
////var i2_/*15*/i_n = new i2/*16q*/_i(/*16*/i1_i);
////var i2_i/*17*/_nc_x = i2_i.n/*18*/c_x;
////var i2_i_/*19*/nc_foo = i2_i.n/*20*/c_foo;
////var i2_i_nc_f/*21*/oo_r = i2_i.nc/*22q*/_foo(/*22*/30);
////var i2/*23*/_i_r = i2/*24q*/_i(/*24*/10, /*25*/20);
////var i2_i/*26*/_fnfoo = i2_i.fn/*27*/foo;
////var i2_i_/*28*/fnfoo_r = i2_i.fn/*29q*/foo(/*29*/10);
////var i2_i/*30*/_nc_fnfoo = i2_i.nc_fn/*31*/foo;
////var i2_i_nc_/*32*/fnfoo_r = i2_i.nc/*33q*/_fnfoo(/*33*/10);
/////*34*/
////interface i3 {
//// /** Comment i3 x*/
//// x: number;
//// /** Function i3 f*/
//// f(/**number parameter*/a: number): string;
//// /** i3 l*/
//// l: (/**comment i3 l b*/b: number) => string;
//// nc_x: number;
//// nc_f(a: number): string;
//// nc_l: (b: number) => string;
////}
////var i3_i: i3;
////i3_i = {
//// /*35*/f: /**own f*/ (/**i3_i a*/a: number) => "Hello" + /*36*/a,
//// l: this./*37*/f,
//// /** own x*/
//// x: this.f(/*38*/10),
//// nc_x: this.l(/*39*/this.x),
//// nc_f: this.f,
//// nc_l: this.l
////};
/////*40*/i/*40q*/3_i./*41*/f(/*42*/10);
////i3_i./*43q*/l(/*43*/10);
////i3_i.nc_/*44q*/f(/*44*/10);
////i3_i.nc/*45q*/_l(/*45*/10);
goTo.marker('1');
verify.quickInfoIs("i1", "this is interface 1", "i1", "interface");
goTo.marker('2');
verify.quickInfoIs("i1", "", "i1_i", "var");
goTo.marker('3');
verify.quickInfoIs("nc_i1", "", "nc_i1", "interface");
goTo.marker('4');
verify.quickInfoIs("nc_i1", "", "nc_i1_i", "var");
goTo.marker('5');
verify.quickInfoIs("i2", "this is interface 2 with memebers", "i2", "interface");
goTo.marker('6');
verify.quickInfoIs("i2", "", "i2_i", "var");
goTo.marker('7');
verify.quickInfoIs("number", "", "i2_i_x", "var");
goTo.marker('8');
verify.quickInfoIs("number", "this is x", "i2.x", "property");
verify.memberListContains("x", "number", "this is x", "i2.x", "property");
verify.memberListContains("foo", "(b: number) => string", "this is foo", "i2.foo", "property");
verify.memberListContains("nc_x", "number", "", "i2.nc_x", "property");
verify.memberListContains("nc_foo", "(b: number) => string", "", "i2.nc_foo", "property");
verify.memberListContains("fnfoo", "(b: number): string", "this is fnfoo", "i2.fnfoo", "method");
verify.memberListContains("nc_fnfoo", "(b: number): string", "", "i2.nc_fnfoo", "method");
goTo.marker('9');
verify.quickInfoIs("(b: number) => string", "", "i2_i_foo", "var");
goTo.marker('10');
verify.quickInfoIs("(b: number) => string", "this is foo", "i2.foo", "property");
goTo.marker('11');
verify.quickInfoIs("string", "", "i2_i_foo_r", "var");
goTo.marker('12');
verify.currentSignatureHelpDocCommentIs("this is foo");
verify.currentParameterHelpArgumentDocCommentIs("param help");
goTo.marker('12q');
verify.quickInfoIs("(b: number) => string", "this is foo", "i2.foo", "property");
goTo.marker('13');
verify.quickInfoIs("number", "", "i2_i_i2_si", "var");
goTo.marker('13q');
verify.quickInfoIs("i2", "", "i2_i", "var");
goTo.marker('14');
verify.quickInfoIs("number", "", "i2_i_i2_ii", "var");
goTo.marker('14q');
verify.quickInfoIs("i2", "", "i2_i", "var");
goTo.marker('15');
verify.quickInfoIs("any", "", "i2_i_n", "var");
goTo.marker('16');
verify.currentSignatureHelpDocCommentIs("new method");
verify.currentParameterHelpArgumentDocCommentIs("param");
goTo.marker('16q');
verify.quickInfoIs("(i: i1): any", "new method", "i2", "constructor");
goTo.marker('17');
verify.quickInfoIs("number", "", "i2_i_nc_x", "var");
goTo.marker('18');
verify.quickInfoIs("number", "", "i2.nc_x", "property");
goTo.marker('19');
verify.quickInfoIs("(b: number) => string", "", "i2_i_nc_foo", "var");
goTo.marker('20');
verify.quickInfoIs("(b: number) => string", "", "i2.nc_foo", "property");
goTo.marker('21');
verify.quickInfoIs("string", "", "i2_i_nc_foo_r", "var");
goTo.marker('22');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('22q');
verify.quickInfoIs("(b: number) => string", "", "i2.nc_foo", "property");
goTo.marker('23');
verify.quickInfoIs("number", "", "i2_i_r", "var");
goTo.marker('24');
verify.currentSignatureHelpDocCommentIs("this is call signature");
verify.currentParameterHelpArgumentDocCommentIs("paramhelp a");
goTo.marker('24q');
verify.quickInfoIs("(a: number, b: number): number", "this is call signature", "i2", "function");
goTo.marker('25');
verify.currentSignatureHelpDocCommentIs("this is call signature");
verify.currentParameterHelpArgumentDocCommentIs("paramhelp b");
goTo.marker('26');
verify.quickInfoIs("(b: number) => string", "", "i2_i_fnfoo", "var");
goTo.marker('27');
verify.quickInfoIs("(b: number): string", "this is fnfoo", "i2.fnfoo", "method");
goTo.marker('28');
verify.quickInfoIs("string", "", "i2_i_fnfoo_r", "var");
goTo.marker('29');
verify.currentSignatureHelpDocCommentIs("this is fnfoo");
verify.currentParameterHelpArgumentDocCommentIs("param help");
goTo.marker('29q');
verify.quickInfoIs("(b: number): string", "this is fnfoo", "i2.fnfoo", "method");
goTo.marker('30');
verify.quickInfoIs("(b: number) => string", "", "i2_i_nc_fnfoo", "var");
goTo.marker('31');
verify.quickInfoIs("(b: number): string", "", "i2.nc_fnfoo", "method");
goTo.marker('32');
verify.quickInfoIs("string", "", "i2_i_nc_fnfoo_r", "var");
goTo.marker('33');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('33q');
verify.quickInfoIs("(b: number): string", "", "i2.nc_fnfoo", "method");
goTo.marker('34');
verify.completionListContains("i1", "i1", "this is interface 1", "i1", "interface");
verify.completionListContains("i1_i", "i1", "", "i1_i", "var");
verify.completionListContains("nc_i1", "nc_i1", "", "nc_i1", "interface");
verify.completionListContains("nc_i1_i", "nc_i1", "", "nc_i1_i", "var");
verify.completionListContains("i2", "i2", "this is interface 2 with memebers", "i2", "interface");
verify.completionListContains("i2_i", "i2", "", "i2_i", "var");
verify.completionListContains("i2_i_x", "number", "", "i2_i_x", "var");
verify.completionListContains("i2_i_foo", "(b: number) => string", "", "i2_i_foo", "var");
verify.completionListContains("i2_i_foo_r", "string", "", "i2_i_foo_r", "var");
verify.completionListContains("i2_i_i2_si", "number", "", "i2_i_i2_si", "var");
verify.completionListContains("i2_i_i2_ii", "number", "", "i2_i_i2_ii", "var");
verify.completionListContains("i2_i_n", "any", "", "i2_i_n", "var");
verify.completionListContains("i2_i_nc_x", "number", "", "i2_i_nc_x", "var");
verify.completionListContains("i2_i_nc_foo", "(b: number) => string", "", "i2_i_nc_foo", "var");
verify.completionListContains("i2_i_nc_foo_r", "string", "", "i2_i_nc_foo_r", "var");
verify.completionListContains("i2_i_r", "number", "", "i2_i_r", "var");
verify.completionListContains("i2_i_fnfoo", "(b: number) => string", "", "i2_i_fnfoo", "var");
verify.completionListContains("i2_i_fnfoo_r", "string", "", "i2_i_fnfoo_r", "var");
verify.completionListContains("i2_i_nc_fnfoo", "(b: number) => string", "", "i2_i_nc_fnfoo", "var");
verify.completionListContains("i2_i_nc_fnfoo_r", "string", "", "i2_i_nc_fnfoo_r", "var");
goTo.marker('36');
verify.completionListContains("a", "number", "i3_i a", "a", "parameter");
goTo.marker('40q');
verify.quickInfoIs("i3", "", "i3_i", "var");
goTo.marker('40');
verify.completionListContains("i3", "i3", "", "i3", "interface");
verify.completionListContains("i3_i", "i3", "", "i3_i", "var");
goTo.marker('41');
verify.quickInfoIs("(a: number): string", "Function i3 f", "i3.f", "method");
verify.memberListContains("f", "(a: number): string", "Function i3 f", "i3.f", "method");
verify.memberListContains("l", "(b: number) => string", "i3 l", "i3.l", "property");
verify.memberListContains("x", "number", "Comment i3 x", "i3.x", "property");
verify.memberListContains("nc_f", "(a: number): string", "", "i3.nc_f", "method");
verify.memberListContains("nc_l", "(b: number) => string", "", "i3.nc_l", "property");
verify.memberListContains("nc_x", "number", "", "i3.nc_x", "property");
goTo.marker('42');
verify.currentSignatureHelpDocCommentIs("Function i3 f");
verify.currentParameterHelpArgumentDocCommentIs("number parameter");
goTo.marker('43');
verify.currentSignatureHelpDocCommentIs("i3 l");
verify.currentParameterHelpArgumentDocCommentIs("comment i3 l b");
goTo.marker('43q');
verify.quickInfoIs("(b: number) => string", "i3 l", "i3.l", "property");
goTo.marker('44');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('44q');
verify.quickInfoIs("(a: number): string", "", "i3.nc_f", "method");
goTo.marker('45');
verify.currentSignatureHelpDocCommentIs("");
verify.currentParameterHelpArgumentDocCommentIs("");
goTo.marker('45q');
verify.quickInfoIs("(b: number) => string", "", "i3.nc_l", "property");

View File

@@ -1,54 +0,0 @@
/// <reference path='fourslash.ts' />
// @Filename: commentsMultiModuleMultiFile_0.ts
/////** this is multi declare module*/
////module mult/*3*/iM {
//// /** class b*/
//// export class b {
//// }
////}
/////** thi is multi module 2*/
////module mu/*2*/ltiM {
//// /** class c comment*/
//// export class c {
//// }
////}
////
////new /*1*/mu/*4*/ltiM.b();
////new mu/*5*/ltiM.c();
// @Filename: commentsMultiModuleMultiFile_1.ts
/////** this is multi module 3 comment*/
////module mu/*6*/ltiM {
//// /** class d comment*/
//// export class d {
//// }
////}
////new /*7*/mu/*8*/ltiM.d();
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
edit.insert('');
goTo.marker('1');
verify.completionListContains("multiM", "multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module");
goTo.marker('2');
verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module");
goTo.marker('3');
verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module");
goTo.marker('4');
verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module");
goTo.marker('5');
verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module");
goTo.marker('6');
verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module");
goTo.marker('7');
verify.completionListContains("multiM");
goTo.marker('8');
verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2\nthis is multi module 3 comment", "multiM", "module");

View File

@@ -1,35 +0,0 @@
/// <reference path='fourslash.ts' />
/////** this is multi declare module*/
////module mult/*3*/iM {
//// /** class b*/
//// export class b {
//// }
////}
/////** thi is multi module 2*/
////module mu/*2*/ltiM {
//// /** class c comment*/
//// export class c {
//// }
////}
////
////new /*1*/mu/*4*/ltiM.b();
////new mu/*5*/ltiM.c();
// this line triggers a semantic/syntactic error check, remove line when 788570 is fixed
edit.insert('');
goTo.marker('1');
verify.completionListContains("multiM", "multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module");
goTo.marker('2');
verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module");
goTo.marker('3');
verify.quickInfoIs("multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module");
goTo.marker('4');
verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module");
goTo.marker('5');
verify.quickInfoIs("typeof multiM", "this is multi declare module\nthi is multi module 2", "multiM", "module");

View File

@@ -1,97 +0,0 @@
/// <reference path='fourslash.ts' />
/////** This is my variable*/
////var myV/*1*/ariable = 10;
/////*2*/
/////** d variable*/
////var d = 10;
////myVariable = d;
/////*3*/
/////** foos comment*/
////function foo() {
////}
/////** fooVar comment*/
////var foo/*12*/Var: () => void;
/////*4*/
////f/*5q*/oo(/*5*/);
////fo/*6q*/oVar(/*6*/);
////fo/*13*/oVar = f/*14*/oo;
/////*7*/
////f/*8q*/oo(/*8*/);
////foo/*9q*/Var(/*9*/);
/////**class comment*/
////class c {
//// /** constructor comment*/
//// constructor() {
//// }
////}
/////**instance comment*/
////var i = new c();
/////*10*/
/////** interface comments*/
////interface i1 {
////}
/////**interface instance comments*/
////var i1_i: i1;
/////*11*/
////function foo2(a: number): void;
////function foo2(b: string): void;
////function foo2(aOrb) {
////}
////var x = fo/*15*/o2;
goTo.marker('1');
verify.quickInfoIs("number", "This is my variable", "myVariable", "var");
goTo.marker('2');
verify.completionListContains("myVariable", "number", "This is my variable", "myVariable", "var");
goTo.marker('3');
verify.completionListContains("myVariable", "number", "This is my variable", "myVariable", "var");
verify.completionListContains("d", "number", "d variable", "d", "var");
goTo.marker('4');
verify.completionListContains("foo", "(): void", "foos comment", "foo", "function");
verify.completionListContains("fooVar", "() => void", "fooVar comment", "fooVar", "var");
goTo.marker('5');
verify.currentSignatureHelpDocCommentIs("foos comment");
goTo.marker('5q');
verify.quickInfoIs("(): void", "foos comment", "foo", "function");
goTo.marker('6');
verify.currentSignatureHelpDocCommentIs("fooVar comment");
goTo.marker('6q');
verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var");
goTo.marker('7');
verify.completionListContains("foo", "(): void", "foos comment", "foo", "function");
verify.completionListContains("fooVar", "() => void", "fooVar comment", "fooVar", "var");
goTo.marker('8');
verify.currentSignatureHelpDocCommentIs("foos comment");
goTo.marker('8q');
verify.quickInfoIs("(): void", "foos comment", "foo", "function");
goTo.marker('9');
verify.currentSignatureHelpDocCommentIs("fooVar comment");
goTo.marker('9q');
verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var");
goTo.marker('10');
verify.completionListContains("i", "c", "instance comment", "i", "var");
goTo.marker('11');
verify.completionListContains("i1_i", "i1", "interface instance comments", "i1_i", "var");
goTo.marker('12');
verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var");
goTo.marker('13');
verify.quickInfoIs("() => void", "fooVar comment", "fooVar", "var");
goTo.marker('14');
verify.quickInfoIs("(): void", "foos comment", "foo", "function");
goTo.marker('15');
verify.quickInfoIs("(a: number): void (+ 1 overload(s))", "", "foo2", "function");