From bce9b5ab5ab20b3d385fd734e53445b6f25e6426 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Mon, 23 Mar 2015 20:56:38 -0700 Subject: [PATCH 01/12] Break out completion symbol collection into its own function. --- src/services/services.ts | 118 ++++++++++++++++++++------------------- 1 file changed, 62 insertions(+), 56 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 5ff7c578aa0ba..da14d747b1295 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2450,9 +2450,7 @@ module ts { }; } - function getCompletionsAtPosition(fileName: string, position: number) { - synchronizeHostData(); - + function getCompletionSymbols(fileName: string, position: number): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node }{ let syntacticStart = new Date().getTime(); let sourceFile = getValidSourceFile(fileName); @@ -2492,8 +2490,8 @@ module ts { // Find the node where completion is requested on, in the case of a completion after a dot, it is the member access expression // other wise, it is a request for all visible symbols in the scope, and the node is the current location - let node: Node; - let isRightOfDot: boolean; + let node = currentToken; + let isRightOfDot = false; if (previousToken && previousToken.kind === SyntaxKind.DotToken && previousToken.parent.kind === SyntaxKind.PropertyAccessExpression) { node = (previousToken.parent).expression; isRightOfDot = true; @@ -2502,30 +2500,17 @@ module ts { node = (previousToken.parent).left; isRightOfDot = true; } - else { - node = currentToken; - isRightOfDot = false; - } - - // Clear the current activeCompletionSession for this session - activeCompletionSession = { - fileName: fileName, - position: position, - entries: [], - symbols: {}, - typeChecker: typeInfoResolver - }; - log("getCompletionsAtPosition: Syntactic work: " + (new Date().getTime() - syntacticStart)); let location = getTouchingPropertyName(sourceFile, position); // Populate the completion list let semanticStart = new Date().getTime(); let isMemberCompletion: boolean; let isNewIdentifierLocation: boolean; + let symbols: Symbol[]; if (isRightOfDot) { // Right of dot member completion list - let symbols: Symbol[] = []; + symbols = []; isMemberCompletion = true; isNewIdentifierLocation = false; @@ -2556,8 +2541,6 @@ module ts { } }); } - - getCompletionEntriesFromSymbols(symbols, activeCompletionSession); } else { let containingObjectLiteral = getContainingObjectLiteralApplicableForCompletion(previousToken); @@ -2574,8 +2557,7 @@ module ts { let contextualTypeMembers = typeInfoResolver.getPropertiesOfType(contextualType); if (contextualTypeMembers && contextualTypeMembers.length > 0) { // Add filtered items to the completion list - let filteredMembers = filterContextualMembersList(contextualTypeMembers, containingObjectLiteral.properties); - getCompletionEntriesFromSymbols(filteredMembers, activeCompletionSession); + symbols = filterContextualMembersList(contextualTypeMembers, containingObjectLiteral.properties); } } else if (getAncestor(previousToken, SyntaxKind.ImportClause)) { @@ -2587,8 +2569,7 @@ module ts { let importDeclaration = getAncestor(previousToken, SyntaxKind.ImportDeclaration); Debug.assert(importDeclaration !== undefined); let exports = typeInfoResolver.getExportsOfExternalModule(importDeclaration); - let filteredExports = filterModuleExports(exports, importDeclaration); - getCompletionEntriesFromSymbols(filteredExports, activeCompletionSession); + symbols = filterModuleExports(exports, importDeclaration); } } else { @@ -2599,24 +2580,13 @@ module ts { /// TODO filter meaning based on the current context let scopeNode = getScopeNode(previousToken, position, sourceFile); let symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace | SymbolFlags.Alias; - let symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings); - - getCompletionEntriesFromSymbols(symbols, activeCompletionSession); + symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings); } } - // Add keywords if this is not a member completion list - if (!isMemberCompletion) { - Array.prototype.push.apply(activeCompletionSession.entries, keywordCompletions); - } log("getCompletionsAtPosition: Semantic work: " + (new Date().getTime() - semanticStart)); - return { - isMemberCompletion, - isNewIdentifierLocation, - isBuilder: isNewIdentifierDefinitionLocation, // temporary property used to match VS implementation - entries: activeCompletionSession.entries - }; + return { symbols, isMemberCompletion, isNewIdentifierLocation, location }; /** * Finds the first node that "embraces" the position, so that one may @@ -2630,21 +2600,6 @@ module ts { return scope; } - function getCompletionEntriesFromSymbols(symbols: Symbol[], session: CompletionSession): void { - let start = new Date().getTime(); - forEach(symbols, symbol => { - let entry = createCompletionEntry(symbol, session.typeChecker, location); - if (entry) { - let id = escapeIdentifier(entry.name); - if (!lookUp(session.symbols, id)) { - session.entries.push(entry); - session.symbols[id] = symbol; - } - } - }); - log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (new Date().getTime() - start)); - } - function isCompletionListBlocker(previousToken: Node): boolean { let start = new Date().getTime(); let result = isInStringOrRegularExpressionOrTemplateLiteral(previousToken) || @@ -2698,7 +2653,7 @@ module ts { case SyntaxKind.EqualsToken: return containingNodeKind === SyntaxKind.VariableDeclaration // let x = a| - || containingNodeKind === SyntaxKind.BinaryExpression; // x = a| + || containingNodeKind === SyntaxKind.BinaryExpression; // x = a| case SyntaxKind.TemplateHead: return containingNodeKind === SyntaxKind.TemplateExpression; // `aa ${| @@ -2815,7 +2770,7 @@ module ts { case SyntaxKind.SemicolonToken: return containingNodeKind === SyntaxKind.PropertySignature && (previousToken.parent.parent.kind === SyntaxKind.InterfaceDeclaration || // interface a { f; | - previousToken.parent.parent.kind === SyntaxKind.TypeLiteral); // let x : { a; | + previousToken.parent.parent.kind === SyntaxKind.TypeLiteral); // let x : { a; | case SyntaxKind.LessThanToken: return containingNodeKind === SyntaxKind.ClassDeclaration || // class A< | @@ -2931,6 +2886,57 @@ module ts { } } + function getCompletionsAtPosition(fileName: string, position: number): CompletionInfo { + synchronizeHostData(); + + let result = getCompletionSymbols(fileName, position); + if (!result) { + return undefined; + } + + let { symbols, isMemberCompletion, isNewIdentifierLocation, location } = result; + if (!symbols || symbols.length === 0) { + return undefined; + } + + // Clear the current activeCompletionSession for this session + activeCompletionSession = { + fileName: fileName, + position: position, + entries: [], + symbols: {}, + typeChecker: typeInfoResolver + }; + + getCompletionEntriesFromSymbols(symbols, activeCompletionSession); + + // Add keywords if this is not a member completion list + if (!isMemberCompletion) { + addRange(activeCompletionSession.entries, keywordCompletions); + } + + return { + isMemberCompletion, + isNewIdentifierLocation, + entries: activeCompletionSession.entries + }; + + function getCompletionEntriesFromSymbols(symbols: Symbol[], session: CompletionSession): void { + let start = new Date().getTime(); + forEach(symbols, symbol => { + let entry = createCompletionEntry(symbol, session.typeChecker, location); + if (entry) { + let id = escapeIdentifier(entry.name); + if (!lookUp(session.symbols, id)) { + session.entries.push(entry); + session.symbols[id] = symbol; + } + } + }); + log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (new Date().getTime() - start)); + } + } + function getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails { // Note: No need to call synchronizeHostData, as we have captured all the data we need // in the getCompletionsAtPosition earlier From a1cbfdf01d62f6fa39cc1951026b9fe868eefada Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Mon, 23 Mar 2015 21:26:29 -0700 Subject: [PATCH 02/12] Use the same logic for completion entry details that we do for getting completion entries. --- src/compiler/checker.ts | 120 ++++++++++++++++++++++++++------------- src/compiler/types.ts | 5 +- src/services/services.ts | 79 +++++++++++++++----------- 3 files changed, 129 insertions(+), 75 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index d50e440c5e935..34b49a33ae3e5 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10547,62 +10547,102 @@ module ts { return false; } - function getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[] { + function getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[] { let symbols: SymbolTable = {}; let memberFlags: NodeFlags = 0; - function copySymbol(symbol: Symbol, meaning: SymbolFlags) { + + if (isInsideWithStatementBody(location)) { + // We cannot answer semantic questions within a with block, do not proceed any further + return []; + } + + populateSymbols(); + + return mapToArray(symbols); + + function populateSymbols() { + while (location) { + if (location.locals && !isGlobalSourceFile(location)) { + if (copySymbols(location.locals, meaning)) { + return; + } + } + switch (location.kind) { + case SyntaxKind.SourceFile: + if (!isExternalModule(location)) { + break; + } + case SyntaxKind.ModuleDeclaration: + if (copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.ModuleMember)) { + return; + } + break; + case SyntaxKind.EnumDeclaration: + if (copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.EnumMember)) { + return; + } + break; + case SyntaxKind.ClassDeclaration: + case SyntaxKind.InterfaceDeclaration: + if (!(memberFlags & NodeFlags.Static)) { + if (copySymbols(getSymbolOfNode(location).members, meaning & SymbolFlags.Type)) { + return; + } + } + break; + case SyntaxKind.FunctionExpression: + if ((location).name) { + if (copySymbol(location.symbol, meaning)) { + return; + } + } + break; + } + memberFlags = location.flags; + location = location.parent; + } + if (copySymbols(globals, meaning)) { + return; + } + } + + // Returns 'true' if we should stop processing symbols. + function copySymbol(symbol: Symbol, meaning: SymbolFlags): boolean { if (symbol.flags & meaning) { let id = symbol.name; if (!isReservedMemberName(id) && !hasProperty(symbols, id)) { - symbols[id] = symbol; + if (predicate) { + // If we were supplied a predicate function, then check if this symbol + // matches with it. If so, we're done and can immediately return. + // Otherwise, just ignore this symbol and keep going. + if (predicate(symbol)) { + symbols[id] = symbol; + return true; + } + } + else { + // If no predicate was supplied, then just add the symbol as is. + symbols[id] = symbol; + } } } + + return false; } - function copySymbols(source: SymbolTable, meaning: SymbolFlags) { + + function copySymbols(source: SymbolTable, meaning: SymbolFlags): boolean { if (meaning) { for (let id in source) { if (hasProperty(source, id)) { - copySymbol(source[id], meaning); + if (copySymbol(source[id], meaning)) { + return true; + } } } } - } - if (isInsideWithStatementBody(location)) { - // We cannot answer semantic questions within a with block, do not proceed any further - return []; - } - - while (location) { - if (location.locals && !isGlobalSourceFile(location)) { - copySymbols(location.locals, meaning); - } - switch (location.kind) { - case SyntaxKind.SourceFile: - if (!isExternalModule(location)) break; - case SyntaxKind.ModuleDeclaration: - copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.ModuleMember); - break; - case SyntaxKind.EnumDeclaration: - copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.EnumMember); - break; - case SyntaxKind.ClassDeclaration: - case SyntaxKind.InterfaceDeclaration: - if (!(memberFlags & NodeFlags.Static)) { - copySymbols(getSymbolOfNode(location).members, meaning & SymbolFlags.Type); - } - break; - case SyntaxKind.FunctionExpression: - if ((location).name) { - copySymbol(location.symbol, meaning); - } - break; - } - memberFlags = location.flags; - location = location.parent; + return false; } - copySymbols(globals, meaning); - return mapToArray(symbols); } function isTypeDeclarationName(name: Node): boolean { diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 6d0b1309a7280..71ddb4d3261cb 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1092,7 +1092,10 @@ module ts { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + + // If 'predicate' is supplied, then only the first symbol in scope matching the predicate + // will be returned. Otherwise, all symbols in scope will be returned. + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/src/services/services.ts b/src/services/services.ts index da14d747b1295..5225bca5daf8f 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2421,7 +2421,6 @@ module ts { isValid = isIdentifierPart(displayName.charCodeAt(i), target); } - if (isValid) { return unescapeIdentifier(displayName); } @@ -2450,7 +2449,21 @@ module ts { }; } - function getCompletionSymbols(fileName: string, position: number): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node }{ + function getCompletionSymbols(fileName: string, position: number, symbolName?: string): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node } { + let result = getCompletionSymbolsWorker(fileName, position, symbolName); + if (!result) { + return undefined; + } + + if (result.symbols && symbolName) { + var target = program.getCompilerOptions().target; + result.symbols = filter(result.symbols, s => getValidCompletionEntryDisplayName(s, target) === symbolName); + } + + return result; + } + + function getCompletionSymbolsWorker(fileName: string, position: number, symbolName: string): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node }{ let syntacticStart = new Date().getTime(); let sourceFile = getValidSourceFile(fileName); @@ -2502,7 +2515,8 @@ module ts { } let location = getTouchingPropertyName(sourceFile, position); - // Populate the completion list + var target = program.getCompilerOptions().target; + let semanticStart = new Date().getTime(); let isMemberCompletion: boolean; let isNewIdentifierLocation: boolean; @@ -2580,7 +2594,12 @@ module ts { /// TODO filter meaning based on the current context let scopeNode = getScopeNode(previousToken, position, sourceFile); let symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace | SymbolFlags.Alias; - symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings); + + // Filter down to the symbol that matches the symbolName if we were given one. + let predicate: (s: Symbol) => boolean = symbolName + ? s => getValidCompletionEntryDisplayName(s, target) === symbolName + : undefined; + symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings, predicate); } } @@ -2938,37 +2957,27 @@ module ts { } function getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails { - // Note: No need to call synchronizeHostData, as we have captured all the data we need - // in the getCompletionsAtPosition earlier - let sourceFile = getValidSourceFile(fileName); - - let session = activeCompletionSession; - - // Ensure that the current active completion session is still valid for this request - if (!session || session.fileName !== fileName || session.position !== position) { - return undefined; - } + synchronizeHostData(); - let symbol = lookUp(activeCompletionSession.symbols, escapeIdentifier(entryName)); - if (symbol) { - let location = getTouchingPropertyName(sourceFile, position); - let completionEntry = createCompletionEntry(symbol, session.typeChecker, location); - // TODO(drosen): Right now we just permit *all* semantic meanings when calling 'getSymbolKind' - // which is permissible given that it is backwards compatible; but really we should consider - // passing the meaning for the node so that we don't report that a suggestion for a value is an interface. - // We COULD also just do what 'getSymbolModifiers' does, which is to use the first declaration. - Debug.assert(session.typeChecker.getTypeOfSymbolAtLocation(symbol, location) !== undefined, "Could not find type for symbol"); - let displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, session.typeChecker, location, SemanticMeaning.All); - return { - name: entryName, - kind: displayPartsDocumentationsAndSymbolKind.symbolKind, - kindModifiers: completionEntry.kindModifiers, - displayParts: displayPartsDocumentationsAndSymbolKind.displayParts, - documentation: displayPartsDocumentationsAndSymbolKind.documentation - }; - } - else { - // No symbol, it is a keyword + // Look up a completion symbol with this name. + let result = getCompletionSymbols(fileName, position, entryName); + if (result) { + let { symbols, isMemberCompletion, isNewIdentifierLocation, location } = result; + if (symbols && symbols.length > 0) { + let symbol = symbols[0]; + let displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, typeInfoResolver, location, SemanticMeaning.All); + return { + name: entryName, + kind: displayPartsDocumentationsAndSymbolKind.symbolKind, + kindModifiers: getSymbolModifiers(symbol), + displayParts: displayPartsDocumentationsAndSymbolKind.displayParts, + documentation: displayPartsDocumentationsAndSymbolKind.documentation + }; + } + } + + let keywordCompletion = filter(keywordCompletions, c => c.name === entryName); + if (keywordCompletion) { return { name: entryName, kind: ScriptElementKind.keyword, @@ -2977,6 +2986,8 @@ module ts { documentation: undefined }; } + + return undefined; } // TODO(drosen): use contextual SemanticMeaning. From 66b3fae09a2be47ed0aaa4c052cc1b2ea9a875ed Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Mon, 23 Mar 2015 21:44:27 -0700 Subject: [PATCH 03/12] Remove the active completion session. --- src/services/services.ts | 47 ++++++------------- .../baselines/reference/APISample_compile.js | 2 +- .../reference/APISample_compile.types | 7 ++- tests/baselines/reference/APISample_linter.js | 2 +- .../reference/APISample_linter.types | 7 ++- .../reference/APISample_transform.js | 2 +- .../reference/APISample_transform.types | 7 ++- .../baselines/reference/APISample_watcher.js | 2 +- .../reference/APISample_watcher.types | 7 ++- 9 files changed, 39 insertions(+), 44 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 5225bca5daf8f..f0a823d2d104d 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1409,14 +1409,6 @@ module ts { /// Language Service - interface CompletionSession { - fileName: string; // the file where the completion was requested - position: number; // position in the file where the completion was requested - entries: CompletionEntry[]; // entries for this completion - symbols: Map; // symbols by entry name map - typeChecker: TypeChecker; // the typeChecker used to generate this completion - } - interface FormattingOptions { useTabs: boolean; spacesPerTab: number; @@ -2180,7 +2172,6 @@ module ts { let typeInfoResolver: TypeChecker; let useCaseSensitivefileNames = false; let cancellationToken = new CancellationTokenObject(host.getCancellationToken && host.getCancellationToken()); - let activeCompletionSession: CompletionSession; // The current active completion session, used to get the completion entry details // Check if the localized messages json is set, otherwise query the host for it if (!localizedDiagnosticMessages && host.getLocalizedDiagnosticMessages) { @@ -2918,41 +2909,32 @@ module ts { return undefined; } - // Clear the current activeCompletionSession for this session - activeCompletionSession = { - fileName: fileName, - position: position, - entries: [], - symbols: {}, - typeChecker: typeInfoResolver - }; - - getCompletionEntriesFromSymbols(symbols, activeCompletionSession); + var entries = getCompletionEntriesFromSymbols(symbols); // Add keywords if this is not a member completion list if (!isMemberCompletion) { - addRange(activeCompletionSession.entries, keywordCompletions); + addRange(entries, keywordCompletions); } - return { - isMemberCompletion, - isNewIdentifierLocation, - entries: activeCompletionSession.entries - }; + return { isMemberCompletion, isNewIdentifierLocation, entries }; - function getCompletionEntriesFromSymbols(symbols: Symbol[], session: CompletionSession): void { + function getCompletionEntriesFromSymbols(symbols: Symbol[]): CompletionEntry[] { let start = new Date().getTime(); + var entries: CompletionEntry[] = []; + var nameToSymbol: Map = {}; + forEach(symbols, symbol => { - let entry = createCompletionEntry(symbol, session.typeChecker, location); + let entry = createCompletionEntry(symbol, typeInfoResolver, location); if (entry) { let id = escapeIdentifier(entry.name); - if (!lookUp(session.symbols, id)) { - session.entries.push(entry); - session.symbols[id] = symbol; + if (!lookUp(nameToSymbol, id)) { + entries.push(entry); + nameToSymbol[id] = symbol; } } }); log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (new Date().getTime() - start)); + return entries; } } @@ -2962,7 +2944,7 @@ module ts { // Look up a completion symbol with this name. let result = getCompletionSymbols(fileName, position, entryName); if (result) { - let { symbols, isMemberCompletion, isNewIdentifierLocation, location } = result; + let { symbols, location } = result; if (symbols && symbols.length > 0) { let symbol = symbols[0]; let displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, typeInfoResolver, location, SemanticMeaning.All); @@ -2975,7 +2957,8 @@ module ts { }; } } - + + // Didn't find a symbol with this name. See if we can find a keyword instead. let keywordCompletion = filter(keywordCompletions, c => c.name === entryName); if (keywordCompletion) { return { diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index b8f4c7cdd136b..625c49177fd96 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -860,7 +860,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index e1d9aa5896188..d22b44993912a 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -2632,12 +2632,15 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags +>predicate : (symbol: Symbol) => boolean +>symbol : Symbol +>Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 4e3af8d1be096..93dd106e65ef4 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -891,7 +891,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 7cf542f0b40f6..0a4577817e389 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -2778,12 +2778,15 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags +>predicate : (symbol: Symbol) => boolean +>symbol : Symbol +>Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index 261ad5b25f6fe..eb870ba15e32e 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -892,7 +892,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index eb4c7ab122f89..6afd50403f269 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -2728,12 +2728,15 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags +>predicate : (symbol: Symbol) => boolean +>symbol : Symbol +>Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index a821bc5011d74..a7ee033d85571 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -929,7 +929,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 47e5a0147fd00..30e97cc5ba213 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -2901,12 +2901,15 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags +>predicate : (symbol: Symbol) => boolean +>symbol : Symbol +>Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; From 2af1b92239b06afe2d84400050076d94ef1c5e5a Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Mon, 23 Mar 2015 22:44:57 -0700 Subject: [PATCH 04/12] CR feedback. --- src/services/services.ts | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index f0a823d2d104d..1a71d8193293e 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2440,7 +2440,7 @@ module ts { }; } - function getCompletionSymbols(fileName: string, position: number, symbolName?: string): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node } { + function getCompletionData(fileName: string, position: number, symbolName?: string): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node } { let result = getCompletionSymbolsWorker(fileName, position, symbolName); if (!result) { return undefined; @@ -2899,12 +2899,12 @@ module ts { function getCompletionsAtPosition(fileName: string, position: number): CompletionInfo { synchronizeHostData(); - let result = getCompletionSymbols(fileName, position); - if (!result) { + let completionData = getCompletionData(fileName, position); + if (!completionData) { return undefined; } - let { symbols, isMemberCompletion, isNewIdentifierLocation, location } = result; + let { symbols, isMemberCompletion, isNewIdentifierLocation, location } = completionData; if (!symbols || symbols.length === 0) { return undefined; } @@ -2923,7 +2923,7 @@ module ts { var entries: CompletionEntry[] = []; var nameToSymbol: Map = {}; - forEach(symbols, symbol => { + for (let symbol of symbols) { let entry = createCompletionEntry(symbol, typeInfoResolver, location); if (entry) { let id = escapeIdentifier(entry.name); @@ -2932,7 +2932,7 @@ module ts { nameToSymbol[id] = symbol; } } - }); + } log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (new Date().getTime() - start)); return entries; } @@ -2942,9 +2942,9 @@ module ts { synchronizeHostData(); // Look up a completion symbol with this name. - let result = getCompletionSymbols(fileName, position, entryName); - if (result) { - let { symbols, location } = result; + let completionData = getCompletionData(fileName, position, entryName); + if (completionData) { + let { symbols, location } = completionData; if (symbols && symbols.length > 0) { let symbol = symbols[0]; let displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, typeInfoResolver, location, SemanticMeaning.All); @@ -2959,7 +2959,7 @@ module ts { } // Didn't find a symbol with this name. See if we can find a keyword instead. - let keywordCompletion = filter(keywordCompletions, c => c.name === entryName); + let keywordCompletion = forEach(keywordCompletions, c => c.name === entryName); if (keywordCompletion) { return { name: entryName, From eed6f0decabf72547c240583c439fbb3448ffca4 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 00:16:49 -0700 Subject: [PATCH 05/12] Use an output format for quickinfo that more closely matches the original source. i.e. use "var v: string" instead of "(var) v: string". The parens case should only be used when we're using an english description instead of an actual language construct. --- src/compiler/scanner.ts | 5 + src/services/services.ts | 30 ++- src/services/utilities.ts | 7 + .../fourslash/arrayCallAndConstructTypings.ts | 20 +- tests/cases/fourslash/augmentedTypesClass2.ts | 2 +- .../cases/fourslash/augmentedTypesModule1.ts | 2 +- .../cases/fourslash/augmentedTypesModule2.ts | 4 +- .../cases/fourslash/augmentedTypesModule3.ts | 2 +- .../cases/fourslash/augmentedTypesModule4.ts | 4 +- .../cases/fourslash/augmentedTypesModule5.ts | 4 +- .../cases/fourslash/augmentedTypesModule6.ts | 2 +- .../fourslash/automaticConstructorToggling.ts | 24 +-- .../bestCommonTypeObjectLiterals1.ts | 10 +- .../cloduleWithRecursiveReference.ts | 2 +- tests/cases/fourslash/commentsClass.ts | 52 ++--- tests/cases/fourslash/commentsClassMembers.ts | 88 ++++----- .../cases/fourslash/commentsCommentParsing.ts | 64 +++--- tests/cases/fourslash/commentsEnums.ts | 2 +- .../fourslash/commentsExternalModules.ts | 30 +-- tests/cases/fourslash/commentsFunction.ts | 24 +-- .../fourslash/commentsImportDeclaration.ts | 12 +- tests/cases/fourslash/commentsInheritance.ts | 44 ++--- tests/cases/fourslash/commentsInterface.ts | 80 ++++---- tests/cases/fourslash/commentsModules.ts | 48 ++--- tests/cases/fourslash/commentsOverloads.ts | 186 +++++++++--------- tests/cases/fourslash/commentsVariables.ts | 38 ++-- .../fourslash/completionEntryForConst.ts | 2 +- .../completionListForGenericInstance1.ts | 2 +- ...completionListInNamedFunctionExpression.ts | 2 +- ...completionListOnPrivateVariableInModule.ts | 2 +- .../completionListWithModulesFromModule.ts | 12 +- ...pletionListWithModulesInsideModuleScope.ts | 40 ++-- ...letionListWithModulesOutsideModuleScope.ts | 4 +- ...etionListWithModulesOutsideModuleScope2.ts | 4 +- .../constQuickInfoAndCompletionList.ts | 26 +-- tests/cases/fourslash/constructorQuickInfo.ts | 6 +- tests/cases/fourslash/contextualTyping.ts | 72 +++---- .../contextualTypingOfArrayLiterals1.ts | 12 +- ...erivedTypeIndexerWithGenericConstraints.ts | 2 +- tests/cases/fourslash/duplicateIndexers.ts | 2 +- tests/cases/fourslash/emptyArrayInference.ts | 4 +- tests/cases/fourslash/enumAddition.ts | 2 +- ...ariableDeclOfMergedVariableAndClassDecl.ts | 2 +- tests/cases/fourslash/exportEqualTypes.ts | 4 +- tests/cases/fourslash/extendArray.ts | 4 +- .../fourslash/extendArrayInterfaceMember.ts | 4 +- .../extendInterfaceOverloadedMethod.ts | 2 +- tests/cases/fourslash/extendsTArray.ts | 2 +- .../externalModuleWithExportAssignment.ts | 10 +- tests/cases/fourslash/forIn.ts | 2 +- .../funduleWithRecursiveReference.ts | 2 +- ...genericCallSignaturesInNonGenericTypes1.ts | 2 +- ...genericCallSignaturesInNonGenericTypes2.ts | 2 +- .../genericCallsWithOptionalParams1.ts | 4 +- tests/cases/fourslash/genericCombinators1.ts | 30 +-- tests/cases/fourslash/genericCombinators2.ts | 28 +-- tests/cases/fourslash/genericCombinators3.ts | 2 +- ...genericDerivedTypeAcrossModuleBoundary1.ts | 4 +- .../fourslash/genericFunctionReturnType.ts | 4 +- .../fourslash/genericFunctionReturnType2.ts | 4 +- .../genericInterfacePropertyInference1.ts | 90 ++++----- .../genericInterfacePropertyInference2.ts | 50 ++--- .../genericInterfacesWithConstraints1.ts | 6 +- tests/cases/fourslash/genericMapTyping1.ts | 12 +- .../genericTypeArgumentInference1.ts | 8 +- .../genericTypeArgumentInference2.ts | 8 +- .../genericTypeParamUnrelatedToArguments1.ts | 12 +- .../genericWithSpecializedProperties1.ts | 8 +- .../genericWithSpecializedProperties2.ts | 8 +- .../genericWithSpecializedProperties3.ts | 8 +- .../fourslash/getCompletionEntryDetails.ts | 12 +- .../fourslash/getCompletionEntryDetails2.ts | 2 +- .../fourslash/incrementalResolveAccessor.ts | 2 +- ...ncrementalResolveConstructorDeclaration.ts | 2 +- ...mentalResolveFunctionPropertyAssignment.ts | 2 +- tests/cases/fourslash/indexerReturnTypes1.ts | 32 +-- .../fourslash/intellisenseInObjectLiteral.ts | 2 +- .../letQuickInfoAndCompletionList.ts | 20 +- tests/cases/fourslash/localFunction.ts | 2 +- .../memberListOfModuleAfterInvalidCharater.ts | 2 +- .../memberListOfModuleInAnotherModule.ts | 10 +- ...mergedDeclarationsWithExportAssignment1.ts | 4 +- .../fourslash/moduleMembersOfGenericType.ts | 2 +- tests/cases/fourslash/moduleVariables.ts | 6 +- tests/cases/fourslash/multiModuleFundule1.ts | 4 +- .../fourslash/nameOfRetypedClassInModule.ts | 8 +- tests/cases/fourslash/noTypeParameterInLHS.ts | 4 +- tests/cases/fourslash/numericPropertyNames.ts | 2 +- .../fourslash/objectLiteralCallSignatures.ts | 4 +- .../fourslash/overloadOnConstCallSignature.ts | 2 +- tests/cases/fourslash/overloadQuickInfo.ts | 2 +- tests/cases/fourslash/promiseTyping1.ts | 2 +- tests/cases/fourslash/promiseTyping2.ts | 6 +- tests/cases/fourslash/proto.ts | 6 +- ...VarVisibleWithOuterScopeUnderscoreProto.ts | 2 +- ...-declaration-with-variable-entity-names.ts | 2 +- ...InfoDisplayPartsArrowFunctionExpression.ts | 2 +- .../fourslash/quickInfoDisplayPartsClass.ts | 6 +- .../quickInfoDisplayPartsClassAccessors.ts | 4 +- .../quickInfoDisplayPartsClassConstructor.ts | 10 +- .../quickInfoDisplayPartsClassMethod.ts | 2 +- .../quickInfoDisplayPartsClassProperty.ts | 2 +- .../fourslash/quickInfoDisplayPartsConst.ts | 2 +- .../fourslash/quickInfoDisplayPartsEnum.ts | 2 +- .../quickInfoDisplayPartsExternalModules.ts | 2 +- .../quickInfoDisplayPartsFunction.ts | 4 +- ...quickInfoDisplayPartsFunctionExpression.ts | 2 +- .../quickInfoDisplayPartsInterface.ts | 2 +- .../quickInfoDisplayPartsInterfaceMembers.ts | 6 +- .../fourslash/quickInfoDisplayPartsLet.ts | 2 +- .../quickInfoDisplayPartsLocalFunction.ts | 2 +- .../fourslash/quickInfoDisplayPartsModules.ts | 2 +- .../quickInfoDisplayPartsParameters.ts | 2 +- .../quickInfoDisplayPartsTypeAlias.ts | 4 +- ...ickInfoDisplayPartsTypeParameterInClass.ts | 6 +- ...InfoDisplayPartsTypeParameterInFunction.ts | 3 +- ...nfoDisplayPartsTypeParameterInInterface.ts | 2 +- .../fourslash/quickInfoDisplayPartsVar.ts | 45 +++-- ...kInfoExportAssignmentOfGenericInterface.ts | 2 +- .../fourslash/quickInfoForAliasedGeneric.ts | 4 +- .../fourslash/quickInfoForConstDeclaration.ts | 2 +- ...nfoForDerivedGenericTypeWithConstructor.ts | 4 +- .../quickInfoForFunctionDeclaration.ts | 4 +- .../quickInfoForGenericPrototypeMember.ts | 2 +- .../quickInfoForShorthandProperty.ts | 4 +- .../quickInfoFromEmptyBlockComment.ts | 2 +- .../fourslash/quickInfoInObjectLiteral.ts | 2 +- .../quickInfoOfGenericTypeAssertions1.ts | 6 +- .../quickInfoOfStringPropertyNames1.ts | 8 +- .../fourslash/quickInfoOnCircularTypes.ts | 4 +- ...ckInfoOnConstructorWithGenericParameter.ts | 2 +- .../cases/fourslash/quickInfoOnErrorTypes1.ts | 2 +- .../fourslash/quickInfoOnInternalAliases.ts | 10 +- .../fourslash/quickInfoOnMergedInterfaces.ts | 2 +- ...oOnMergedInterfacesWithIncrementalEdits.ts | 2 +- .../quickInfoOnNarrowedTypeInModule.ts | 20 +- .../quickInfoOnObjectLiteralWithAccessors.ts | 6 +- .../quickInfoOnObjectLiteralWithOnlyGetter.ts | 6 +- .../quickInfoOnObjectLiteralWithOnlySetter.ts | 4 +- tests/cases/fourslash/quickInfoOnUndefined.ts | 2 +- .../quickInfoShowsGenericSpecialization.ts | 2 +- .../fourslash/quickinfoForUnionProperty.ts | 2 +- .../cases/fourslash/quickinfoIsConsistent.ts | 2 +- .../cases/fourslash/recursiveObjectLiteral.ts | 2 +- .../recursiveWrappedTypeParameters1.ts | 14 +- tests/cases/fourslash/regexp.ts | 2 +- tests/cases/fourslash/returnRecursiveType.ts | 2 +- .../fourslash/returnTypeOfGenericFunction1.ts | 2 +- .../fourslash/selfReferencedExternalModule.ts | 2 +- .../selfReferencedExternalModule2.ts | 4 +- tests/cases/fourslash/server/completions2.ts | 2 +- tests/cases/fourslash/server/quickinfo.ts | 2 +- .../fourslash/shims/getQuickInfoAtPosition.ts | 6 +- .../shims/quickInfoDisplayPartsVar.ts | 42 ++-- tests/cases/fourslash/stringPropertyNames1.ts | 2 +- tests/cases/fourslash/stringPropertyNames2.ts | 2 +- tests/cases/fourslash/typeOfAFundule.ts | 2 +- .../fourslash/typedGenericPrototypeMember.ts | 4 +- tests/cases/fourslash/underscoreTypings1.ts | 12 +- .../fourslash/verifySingleFileEmitOutput1.ts | 2 +- tests/cases/fourslash/widenedTypes.ts | 8 +- 161 files changed, 913 insertions(+), 865 deletions(-) diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 9e5e65db935f2..580d18317ca62 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -256,6 +256,11 @@ module ts { return tokenStrings[t]; } + /* @internal */ + export function stringToToken(s: string): SyntaxKind { + return textToToken[s]; + } + export function computeLineStarts(text: string): number[] { let result: number[] = new Array(); let pos = 0; diff --git a/src/services/services.ts b/src/services/services.ts index 1a71d8193293e..bfff0522f9336 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -418,7 +418,10 @@ module ts { function pushDocCommentLineText(docComments: SymbolDisplayPart[], text: string, blankLineCount: number) { // Add the empty lines in between texts - while (blankLineCount--) docComments.push(textPart("")); + while (blankLineCount--) { + docComments.push(textPart("")); + } + docComments.push(textPart(text)); } @@ -3069,12 +3072,14 @@ module ts { typeResolver: TypeChecker, location: Node, // TODO(drosen): Currently completion entry details passes the SemanticMeaning.All instead of using semanticMeaning of location semanticMeaning = getMeaningFromLocation(location)) { + let displayParts: SymbolDisplayPart[] = []; let documentation: SymbolDisplayPart[]; let symbolFlags = symbol.flags; let symbolKind = getSymbolKindOfConstructorPropertyMethodAccessorFunctionOrVar(symbol, symbolFlags, typeResolver, location); let hasAddedSymbolInfo: boolean; let type: Type; + // Class at constructor site need to be shown as constructor apart from property,method, vars if (symbolKind !== ScriptElementKind.unknown || symbolFlags & SymbolFlags.Class || symbolFlags & SymbolFlags.Alias) { // If it is accessor they are allowed only if location is at name of the accessor @@ -3126,9 +3131,7 @@ module ts { } else if (symbolFlags & SymbolFlags.Alias) { symbolKind = ScriptElementKind.alias; - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(textPart(symbolKind)); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + pushTypePart(symbolKind); displayParts.push(spacePart()); if (useConstructSignatures) { displayParts.push(keywordPart(SyntaxKind.NewKeyword)); @@ -3364,14 +3367,27 @@ module ts { function addPrefixForAnyFunctionOrVar(symbol: Symbol, symbolKind: string) { addNewLineIfDisplayPartsExist(); if (symbolKind) { - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(textPart(symbolKind)); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + pushTypePart(symbolKind); displayParts.push(spacePart()); addFullSymbolName(symbol); } } + function pushTypePart(symbolKind: string) { + if (symbolKind === ScriptElementKind.variableElement || + symbolKind === ScriptElementKind.functionElement || + symbolKind === ScriptElementKind.letElement || + symbolKind === ScriptElementKind.constElement || + symbolKind === ScriptElementKind.constructorImplementationElement) { + displayParts.push(textOrKeywordPart(symbolKind)); + } + else { + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(textOrKeywordPart(symbolKind)); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + } + } + function addSignatureDisplayParts(signature: Signature, allSignatures: Signature[], flags?: TypeFormatFlags) { displayParts.push.apply(displayParts, signatureToDisplayParts(typeResolver, signature, enclosingDeclaration, flags | TypeFormatFlags.WriteTypeArgumentsOfSignature)); if (allSignatures.length > 1) { diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 2a9af04409e89..756fbb42597f6 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -611,6 +611,13 @@ module ts { return displayPart(tokenToString(kind), SymbolDisplayPartKind.operator); } + export function textOrKeywordPart(text: string) { + var kind = stringToToken(text); + return kind === undefined + ? textPart(text) + : keywordPart(kind); + } + export function textPart(text: string) { return displayPart(text, SymbolDisplayPartKind.text); } diff --git a/tests/cases/fourslash/arrayCallAndConstructTypings.ts b/tests/cases/fourslash/arrayCallAndConstructTypings.ts index 40f9c066c14dc..c2c9d6cedbbcf 100644 --- a/tests/cases/fourslash/arrayCallAndConstructTypings.ts +++ b/tests/cases/fourslash/arrayCallAndConstructTypings.ts @@ -13,31 +13,31 @@ goTo.marker('1'); -verify.quickInfoIs('(var) a1: any[]'); +verify.quickInfoIs('var a1: any[]'); goTo.marker('2'); -verify.quickInfoIs('(var) a2: any[]'); +verify.quickInfoIs('var a2: any[]'); goTo.marker('3'); -verify.quickInfoIs('(var) a3: boolean[]'); +verify.quickInfoIs('var a3: boolean[]'); goTo.marker('4'); -verify.quickInfoIs('(var) a4: boolean[]'); +verify.quickInfoIs('var a4: boolean[]'); goTo.marker('5'); -verify.quickInfoIs('(var) a5: string[]'); +verify.quickInfoIs('var a5: string[]'); goTo.marker('6'); -verify.quickInfoIs('(var) a6: any[]'); +verify.quickInfoIs('var a6: any[]'); goTo.marker('7'); -verify.quickInfoIs('(var) a7: any[]'); +verify.quickInfoIs('var a7: any[]'); goTo.marker('8'); -verify.quickInfoIs('(var) a8: boolean[]'); +verify.quickInfoIs('var a8: boolean[]'); goTo.marker('9'); -verify.quickInfoIs('(var) a9: boolean[]'); +verify.quickInfoIs('var a9: boolean[]'); goTo.marker('10'); -verify.quickInfoIs('(var) a10: string[]'); \ No newline at end of file +verify.quickInfoIs('var a10: string[]'); \ No newline at end of file diff --git a/tests/cases/fourslash/augmentedTypesClass2.ts b/tests/cases/fourslash/augmentedTypesClass2.ts index cb9e5f7f57233..90be770272b29 100644 --- a/tests/cases/fourslash/augmentedTypesClass2.ts +++ b/tests/cases/fourslash/augmentedTypesClass2.ts @@ -7,7 +7,7 @@ ////r./*2*/ goTo.marker('1'); -verify.not.completionListContains('y', '(var) y: number'); +verify.not.completionListContains('y', 'var y: number'); edit.backspace(4); goTo.marker('2'); verify.completionListContains('foo', '(method) c5b.foo(): void'); \ No newline at end of file diff --git a/tests/cases/fourslash/augmentedTypesModule1.ts b/tests/cases/fourslash/augmentedTypesModule1.ts index 0a56504b97252..6358d93e342be 100644 --- a/tests/cases/fourslash/augmentedTypesModule1.ts +++ b/tests/cases/fourslash/augmentedTypesModule1.ts @@ -12,4 +12,4 @@ verify.completionListContains('I'); verify.not.completionListContains('foo'); goTo.marker('2'); -verify.quickInfoIs('(var) r: number'); \ No newline at end of file +verify.quickInfoIs('var r: number'); diff --git a/tests/cases/fourslash/augmentedTypesModule2.ts b/tests/cases/fourslash/augmentedTypesModule2.ts index 6c2c63fff068e..844bee7642ac7 100644 --- a/tests/cases/fourslash/augmentedTypesModule2.ts +++ b/tests/cases/fourslash/augmentedTypesModule2.ts @@ -6,7 +6,7 @@ ////var /*2*/r = m2f/*3*/; goTo.marker('11'); -verify.quickInfoIs('(function) m2f(x: number): void\nmodule m2f'); +verify.quickInfoIs('function m2f(x: number): void\nmodule m2f'); goTo.marker('1'); verify.completionListContains('I'); @@ -16,7 +16,7 @@ verify.not.completionListContains('foo'); edit.backspace(1); goTo.marker('2'); -verify.quickInfoIs('(var) r: (x: number) => void'); +verify.quickInfoIs('var r: (x: number) => void'); goTo.marker('3'); edit.insert('('); diff --git a/tests/cases/fourslash/augmentedTypesModule3.ts b/tests/cases/fourslash/augmentedTypesModule3.ts index b1640a4164111..8e7e5be8ce596 100644 --- a/tests/cases/fourslash/augmentedTypesModule3.ts +++ b/tests/cases/fourslash/augmentedTypesModule3.ts @@ -13,7 +13,7 @@ verify.not.completionListContains('foo'); edit.backspace(1); goTo.marker('2'); -verify.quickInfoIs("(var) r: typeof m2g"); +verify.quickInfoIs("var r: typeof m2g"); goTo.marker('3'); edit.insert('('); diff --git a/tests/cases/fourslash/augmentedTypesModule4.ts b/tests/cases/fourslash/augmentedTypesModule4.ts index ffef24aa65856..0cb1e350837ee 100644 --- a/tests/cases/fourslash/augmentedTypesModule4.ts +++ b/tests/cases/fourslash/augmentedTypesModule4.ts @@ -7,7 +7,7 @@ ////var /*4*/r2 = m3d./*3*/ goTo.marker('1'); -verify.quickInfoIs('(var) r: m3d'); +verify.quickInfoIs('var r: m3d'); goTo.marker('2'); verify.completionListContains('foo'); @@ -18,4 +18,4 @@ verify.completionListContains('y'); edit.insert('y;'); goTo.marker('4'); -verify.quickInfoIs('(var) r2: number'); \ No newline at end of file +verify.quickInfoIs('var r2: number'); diff --git a/tests/cases/fourslash/augmentedTypesModule5.ts b/tests/cases/fourslash/augmentedTypesModule5.ts index 043372f21d50a..71024f7ed9cd0 100644 --- a/tests/cases/fourslash/augmentedTypesModule5.ts +++ b/tests/cases/fourslash/augmentedTypesModule5.ts @@ -7,7 +7,7 @@ ////var /*4*/r2 = m3e./*3*/ goTo.marker('1'); -verify.quickInfoIs('(var) r: m3e'); +verify.quickInfoIs('var r: m3e'); goTo.marker('2'); verify.completionListContains('foo'); @@ -19,4 +19,4 @@ verify.completionListContains('y'); edit.insert('y;'); goTo.marker('4'); -verify.quickInfoIs('(var) r2: number'); \ No newline at end of file +verify.quickInfoIs('var r2: number'); diff --git a/tests/cases/fourslash/augmentedTypesModule6.ts b/tests/cases/fourslash/augmentedTypesModule6.ts index a24337462657c..9f5a23a8a3c40 100644 --- a/tests/cases/fourslash/augmentedTypesModule6.ts +++ b/tests/cases/fourslash/augmentedTypesModule6.ts @@ -20,7 +20,7 @@ goTo.marker('3'); verify.currentSignatureHelpIs('m3f(): m3f'); goTo.marker('4'); -verify.quickInfoIs('(var) r: m3f'); +verify.quickInfoIs('var r: m3f'); goTo.marker('5'); verify.completionListContains('foo'); diff --git a/tests/cases/fourslash/automaticConstructorToggling.ts b/tests/cases/fourslash/automaticConstructorToggling.ts index 9f43082785474..091f005f4c3a2 100644 --- a/tests/cases/fourslash/automaticConstructorToggling.ts +++ b/tests/cases/fourslash/automaticConstructorToggling.ts @@ -17,41 +17,41 @@ var D = 'D' goTo.marker(B); edit.insert('constructor(val: T) { }'); goTo.marker('Asig'); -verify.quickInfoIs("(constructor) A(): A"); +verify.quickInfoIs("constructor A(): A"); goTo.marker('Bsig'); -verify.quickInfoIs("(constructor) B(val: string): B"); +verify.quickInfoIs("constructor B(val: string): B"); goTo.marker('Csig'); -verify.quickInfoIs("(constructor) C(val: string): C"); +verify.quickInfoIs("constructor C(val: string): C"); goTo.marker('Dsig'); -verify.quickInfoIs("(constructor) D(val: T): D"); // Cannot resolve signature +verify.quickInfoIs("constructor D(val: T): D"); // Cannot resolve signature goTo.marker(C); edit.deleteAtCaret('constructor(val: T) { }'.length); goTo.marker('Asig'); -verify.quickInfoIs("(constructor) A(): A"); +verify.quickInfoIs("constructor A(): A"); goTo.marker('Bsig'); -verify.quickInfoIs("(constructor) B(val: string): B"); +verify.quickInfoIs("constructor B(val: string): B"); goTo.marker('Csig'); -verify.quickInfoIs("(constructor) C(): C"); // Cannot resolve signature +verify.quickInfoIs("constructor C(): C"); // Cannot resolve signature goTo.marker('Dsig'); -verify.quickInfoIs("(constructor) D(val: T): D"); // Cannot resolve signature +verify.quickInfoIs("constructor D(val: T): D"); // Cannot resolve signature goTo.marker(D); edit.deleteAtCaret("val: T".length); goTo.marker('Asig'); -verify.quickInfoIs("(constructor) A(): A"); +verify.quickInfoIs("constructor A(): A"); goTo.marker('Bsig'); -verify.quickInfoIs("(constructor) B(val: string): B"); +verify.quickInfoIs("constructor B(val: string): B"); goTo.marker('Csig'); -verify.quickInfoIs("(constructor) C(): C"); // Cannot resolve signature +verify.quickInfoIs("constructor C(): C"); // Cannot resolve signature goTo.marker('Dsig'); -verify.quickInfoIs("(constructor) D(): D"); \ No newline at end of file +verify.quickInfoIs("constructor D(): D"); diff --git a/tests/cases/fourslash/bestCommonTypeObjectLiterals1.ts b/tests/cases/fourslash/bestCommonTypeObjectLiterals1.ts index 79d3174b542f1..d95825ff383b6 100644 --- a/tests/cases/fourslash/bestCommonTypeObjectLiterals1.ts +++ b/tests/cases/fourslash/bestCommonTypeObjectLiterals1.ts @@ -22,13 +22,13 @@ ////var /*5*/c3 = [a2, b2, i]; goTo.marker('1'); -verify.quickInfoIs('(var) c: {\n name: string;\n age: number;\n}[]'); +verify.quickInfoIs('var c: {\n name: string;\n age: number;\n}[]'); goTo.marker('2'); -verify.quickInfoIs('(var) c1: {\n name: string;\n age: number;\n}[]'); +verify.quickInfoIs('var c1: {\n name: string;\n age: number;\n}[]'); goTo.marker('3'); -verify.quickInfoIs('(var) c2: ({\n\ +verify.quickInfoIs('var c2: ({\n\ name: string;\n\ age: number;\n\ address: string;\n\ @@ -39,8 +39,8 @@ verify.quickInfoIs('(var) c2: ({\n\ })[]'); goTo.marker('4'); -verify.quickInfoIs('(var) c2a: {\n name: string;\n age: number;\n}[]'); +verify.quickInfoIs('var c2a: {\n name: string;\n age: number;\n}[]'); goTo.marker('5'); -verify.quickInfoIs('(var) c3: I[]'); +verify.quickInfoIs('var c3: I[]'); diff --git a/tests/cases/fourslash/cloduleWithRecursiveReference.ts b/tests/cases/fourslash/cloduleWithRecursiveReference.ts index 96e5e51d4d4d8..069049907ff0e 100644 --- a/tests/cases/fourslash/cloduleWithRecursiveReference.ts +++ b/tests/cases/fourslash/cloduleWithRecursiveReference.ts @@ -13,5 +13,5 @@ edit.insert(''); goTo.marker(); -verify.quickInfoIs('(var) M.C.C: typeof M.C'); +verify.quickInfoIs('var M.C.C: typeof M.C'); verify.numberOfErrorsInCurrentFile(0); \ No newline at end of file diff --git a/tests/cases/fourslash/commentsClass.ts b/tests/cases/fourslash/commentsClass.ts index a2c9ccc6fab05..b9a446efe6e42 100644 --- a/tests/cases/fourslash/commentsClass.ts +++ b/tests/cases/fourslash/commentsClass.ts @@ -65,13 +65,13 @@ goTo.marker('1'); verify.quickInfoIs("class c2", "This is class c2 without constuctor"); goTo.marker('2'); -verify.quickInfoIs("(var) i2: c2", ""); +verify.quickInfoIs("var i2: c2", ""); goTo.marker('3'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('4'); -verify.quickInfoIs("(var) i2_c: typeof c2", ""); +verify.quickInfoIs("var i2_c: typeof c2", ""); goTo.marker('5'); verify.quickInfoIs("class c2", "This is class c2 without constuctor"); @@ -80,13 +80,13 @@ goTo.marker('6'); verify.quickInfoIs("class c3", ""); goTo.marker('7'); -verify.quickInfoIs("(var) i3: c3", ""); +verify.quickInfoIs("var i3: c3", ""); goTo.marker('8'); verify.currentSignatureHelpDocCommentIs("Constructor comment"); goTo.marker('9'); -verify.quickInfoIs("(var) i3_c: typeof c3", ""); +verify.quickInfoIs("var i3_c: typeof c3", ""); goTo.marker('10'); verify.quickInfoIs("class c3", ""); @@ -95,13 +95,13 @@ goTo.marker('11'); verify.quickInfoIs("class c4", "Class comment"); goTo.marker('12'); -verify.quickInfoIs("(var) i4: c4", ""); +verify.quickInfoIs("var i4: c4", ""); goTo.marker('13'); verify.currentSignatureHelpDocCommentIs("Constructor comment"); goTo.marker('14'); -verify.quickInfoIs("(var) i4_c: typeof c4", ""); +verify.quickInfoIs("var i4_c: typeof c4", ""); goTo.marker('15'); verify.quickInfoIs("class c4", "Class comment"); @@ -110,13 +110,13 @@ goTo.marker('16'); verify.quickInfoIs("class c5", "Class with statics"); goTo.marker('17'); -verify.quickInfoIs("(var) i5: c5", ""); +verify.quickInfoIs("var i5: c5", ""); goTo.marker('18'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('19'); -verify.quickInfoIs("(var) i5_c: typeof c5", ""); +verify.quickInfoIs("var i5_c: typeof c5", ""); goTo.marker('20'); verify.quickInfoIs("class c5", "Class with statics"); @@ -125,52 +125,52 @@ goTo.marker('21'); verify.quickInfoIs("class c6", "class with statics and constructor"); goTo.marker('22'); -verify.quickInfoIs("(var) i6: c6", ""); +verify.quickInfoIs("var i6: c6", ""); goTo.marker('23'); verify.currentSignatureHelpDocCommentIs("constructor comment"); goTo.marker('24'); -verify.quickInfoIs("(var) i6_c: typeof c6", ""); +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("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("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("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("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", ""); +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", ""); +verify.quickInfoIs("constructor c2(): c2", ""); goTo.marker('29'); -verify.quickInfoIs("(constructor) c3(): c3", "Constructor comment"); +verify.quickInfoIs("constructor c3(): c3", "Constructor comment"); goTo.marker('30'); -verify.quickInfoIs("(constructor) c4(): c4", "Constructor comment"); +verify.quickInfoIs("constructor c4(): c4", "Constructor comment"); goTo.marker('31'); -verify.quickInfoIs("(constructor) c5(): c5", ""); +verify.quickInfoIs("constructor c5(): c5", ""); goTo.marker('32'); -verify.quickInfoIs("(constructor) c6(): c6", "constructor comment"); +verify.quickInfoIs("constructor c6(): c6", "constructor comment"); goTo.marker('33'); -verify.quickInfoIs("(constructor) m.m2.c1(): m.m2.c1", "constructor comment"); \ No newline at end of file +verify.quickInfoIs("constructor m.m2.c1(): m.m2.c1", "constructor comment"); diff --git a/tests/cases/fourslash/commentsClassMembers.ts b/tests/cases/fourslash/commentsClassMembers.ts index c524b4184c74f..54b4f0253d4f0 100644 --- a/tests/cases/fourslash/commentsClassMembers.ts +++ b/tests/cases/fourslash/commentsClassMembers.ts @@ -332,7 +332,7 @@ goTo.marker('25q'); verify.quickInfoIs("(method) c1.pp2(b: number): number", "sum with property"); goTo.marker('26'); -verify.quickInfoIs("(constructor) c1(): c1", "Constructor method"); +verify.quickInfoIs("constructor c1(): c1", "Constructor method"); goTo.marker('27'); verify.quickInfoIs("(property) c1.s1: number", "s1 is static property of c1"); @@ -500,15 +500,15 @@ goTo.marker('63q'); verify.quickInfoIs("(method) c1.nc_s2(b: number): number", ""); goTo.marker('64'); -verify.quickInfoIs("(var) i1: c1", ""); +verify.quickInfoIs("var i1: c1", ""); goTo.marker('65'); verify.currentSignatureHelpDocCommentIs("Constructor method"); goTo.marker('65q'); -verify.quickInfoIs("(constructor) c1(): c1", "Constructor method"); +verify.quickInfoIs("constructor c1(): c1", "Constructor method"); goTo.marker('66'); -verify.quickInfoIs("(var) i1_p: number", ""); +verify.quickInfoIs("var i1_p: number", ""); goTo.marker('67'); verify.quickInfoIs("(property) c1.p1: number", "p1 is property of c1"); @@ -520,13 +520,13 @@ 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", ""); +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", ""); +verify.quickInfoIs("var i1_r: number", ""); goTo.marker('71'); verify.currentSignatureHelpDocCommentIs("sum with property"); @@ -535,28 +535,28 @@ goTo.marker('71q'); verify.quickInfoIs("(method) c1.p2(b: number): number", "sum with property"); goTo.marker('72'); -verify.quickInfoIs("(var) i1_prop: number", ""); +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", ""); +verify.quickInfoIs("var i1_prop: number", ""); goTo.marker('76'); -verify.quickInfoIs("(var) i1_nc_p: number", ""); +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", ""); +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", ""); +verify.quickInfoIs("var i1_ncr: number", ""); goTo.marker('81'); verify.currentSignatureHelpDocCommentIs(""); @@ -565,16 +565,16 @@ goTo.marker('81q'); verify.quickInfoIs("(method) c1.nc_p2(b: number): number", ""); goTo.marker('82'); -verify.quickInfoIs("(var) i1_ncprop: number", ""); +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", ""); +verify.quickInfoIs("var i1_ncprop: number", ""); goTo.marker('86'); -verify.quickInfoIs("(var) i1_s_p: number", ""); +verify.quickInfoIs("var i1_s_p: number", ""); goTo.marker('87'); verify.quickInfoIs("class c1", "This is comment for c1"); @@ -590,13 +590,13 @@ 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", ""); +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", ""); +verify.quickInfoIs("var i1_s_r: number", ""); goTo.marker('92'); verify.currentSignatureHelpDocCommentIs("static sum with property"); @@ -605,28 +605,28 @@ 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", ""); +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", ""); +verify.quickInfoIs("var i1_s_prop: number", ""); goTo.marker('97'); -verify.quickInfoIs("(var) i1_s_nc_p: number", ""); +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", ""); +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", ""); +verify.quickInfoIs("var i1_s_ncr: number", ""); goTo.marker('102'); verify.currentSignatureHelpDocCommentIs(""); @@ -635,41 +635,41 @@ goTo.marker('102q'); verify.quickInfoIs("(method) c1.nc_s2(b: number): number", ""); goTo.marker('103'); -verify.quickInfoIs("(var) i1_s_ncprop: number", ""); +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", ""); +verify.quickInfoIs("var i1_s_ncprop: number", ""); goTo.marker('107'); -verify.quickInfoIs("(var) i1_c: typeof c1", ""); +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", ""); +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"); @@ -703,4 +703,4 @@ 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"); \ No newline at end of file +verify.quickInfoIs("constructor cWithConstructorProperty(a: number): cWithConstructorProperty", "this is class cWithConstructorProperty's constructor"); diff --git a/tests/cases/fourslash/commentsCommentParsing.ts b/tests/cases/fourslash/commentsCommentParsing.ts index 4e4c33c0d94e8..f209f573e2fd9 100644 --- a/tests/cases/fourslash/commentsCommentParsing.ts +++ b/tests/cases/fourslash/commentsCommentParsing.ts @@ -205,81 +205,81 @@ goTo.marker('1'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('1q'); -verify.quickInfoIs("(function) simple(): void", ""); +verify.quickInfoIs("function simple(): void", ""); goTo.marker('2'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('2q'); -verify.quickInfoIs("(function) multiLine(): void", ""); +verify.quickInfoIs("function multiLine(): void", ""); goTo.marker('3'); verify.currentSignatureHelpDocCommentIs("this is eg of single line jsdoc style comment "); goTo.marker('3q'); -verify.quickInfoIs("(function) jsDocSingleLine(): void", "this is eg of single line jsdoc style comment "); +verify.quickInfoIs("function jsDocSingleLine(): void", "this is eg of single line jsdoc style comment "); goTo.marker('4'); verify.currentSignatureHelpDocCommentIs("this is multiple line jsdoc stule comment\nNew line1\nNew Line2"); goTo.marker('4q'); -verify.quickInfoIs("(function) jsDocMultiLine(): void", "this is multiple line jsdoc stule comment\nNew line1\nNew Line2"); +verify.quickInfoIs("function jsDocMultiLine(): void", "this is multiple line jsdoc stule comment\nNew line1\nNew Line2"); goTo.marker('5'); verify.currentSignatureHelpDocCommentIs("this is multiple line jsdoc stule comment\nNew line1\nNew Line2\nShoul mege this line as well\nand this too\nAnother this one too"); goTo.marker('5q'); -verify.quickInfoIs("(function) jsDocMultiLineMerge(): void", "this is multiple line jsdoc stule comment\nNew line1\nNew Line2\nShoul mege this line as well\nand this too\nAnother this one too"); +verify.quickInfoIs("function jsDocMultiLineMerge(): void", "this is multiple line jsdoc stule comment\nNew line1\nNew Line2\nShoul mege this line as well\nand this too\nAnother this one too"); goTo.marker('6'); verify.currentSignatureHelpDocCommentIs("jsdoc comment "); goTo.marker('6q'); -verify.quickInfoIs("(function) jsDocMixedComments1(): void", "jsdoc comment "); +verify.quickInfoIs("function jsDocMixedComments1(): void", "jsdoc comment "); goTo.marker('7'); verify.currentSignatureHelpDocCommentIs("jsdoc comment \nanother jsDocComment"); goTo.marker('7q'); -verify.quickInfoIs("(function) jsDocMixedComments2(): void", "jsdoc comment \nanother jsDocComment"); +verify.quickInfoIs("function jsDocMixedComments2(): void", "jsdoc comment \nanother jsDocComment"); goTo.marker('8'); verify.currentSignatureHelpDocCommentIs("jsdoc comment \n* another jsDocComment"); goTo.marker('8q'); -verify.quickInfoIs("(function) jsDocMixedComments3(): void", "jsdoc comment \n* another jsDocComment"); +verify.quickInfoIs("function jsDocMixedComments3(): void", "jsdoc comment \n* another jsDocComment"); goTo.marker('9'); verify.currentSignatureHelpDocCommentIs("jsdoc comment \nanother jsDocComment"); goTo.marker('9q'); -verify.quickInfoIs("(function) jsDocMixedComments4(): void", "jsdoc comment \nanother jsDocComment"); +verify.quickInfoIs("function jsDocMixedComments4(): void", "jsdoc comment \nanother jsDocComment"); goTo.marker('10'); verify.currentSignatureHelpDocCommentIs("jsdoc comment \nanother jsDocComment"); goTo.marker('10q'); -verify.quickInfoIs("(function) jsDocMixedComments5(): void", "jsdoc comment \nanother jsDocComment"); +verify.quickInfoIs("function jsDocMixedComments5(): void", "jsdoc comment \nanother jsDocComment"); goTo.marker('11'); verify.currentSignatureHelpDocCommentIs("another jsDocComment\njsdoc comment "); goTo.marker('11q'); -verify.quickInfoIs("(function) jsDocMixedComments6(): void", "another jsDocComment\njsdoc comment "); +verify.quickInfoIs("function jsDocMixedComments6(): void", "another jsDocComment\njsdoc comment "); goTo.marker('12'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('12q'); -verify.quickInfoIs("(function) noHelpComment1(): void", ""); +verify.quickInfoIs("function noHelpComment1(): void", ""); goTo.marker('13'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('13q'); -verify.quickInfoIs("(function) noHelpComment2(): void", ""); +verify.quickInfoIs("function noHelpComment2(): void", ""); goTo.marker('14'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('14q'); -verify.quickInfoIs("(function) noHelpComment3(): void", ""); +verify.quickInfoIs("function noHelpComment3(): void", ""); goTo.marker('15'); -verify.completionListContains("sum", "(function) sum(a: number, b: number): number", "Adds two integers and returns the result"); +verify.completionListContains("sum", "function sum(a: number, b: number): number", "Adds two integers and returns the result"); goTo.marker('16'); verify.currentSignatureHelpDocCommentIs("Adds two integers and returns the result"); verify.currentParameterHelpArgumentDocCommentIs("first number"); goTo.marker('16q'); -verify.quickInfoIs("(function) sum(a: number, b: number): number", "Adds two integers and returns the result"); +verify.quickInfoIs("function sum(a: number, b: number): number", "Adds two integers and returns the result"); goTo.marker('16aq'); verify.quickInfoIs("(parameter) a: number", "first number"); @@ -298,7 +298,7 @@ goTo.marker('19'); verify.currentSignatureHelpDocCommentIs("This is multiplication function\n@anotherTag\n@anotherTag"); verify.currentParameterHelpArgumentDocCommentIs("first number"); goTo.marker('19q'); -verify.quickInfoIs("(function) multiply(a: number, b: number, c?: number, d?: any, e?: any): void", "This is multiplication function\n@anotherTag\n@anotherTag"); +verify.quickInfoIs("function multiply(a: number, b: number, c?: number, d?: any, e?: any): void", "This is multiplication function\n@anotherTag\n@anotherTag"); goTo.marker('19aq'); verify.quickInfoIs("(parameter) a: number", "first number"); @@ -334,7 +334,7 @@ goTo.marker('25'); verify.currentSignatureHelpDocCommentIs("fn f1 with number"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('25q'); -verify.quickInfoIs("(function) f1(a: number): any (+1 overload)", "fn f1 with number"); +verify.quickInfoIs("function f1(a: number): any (+1 overload)", "fn f1 with number"); goTo.marker('25aq'); verify.quickInfoIs("(parameter) a: number", ""); @@ -342,19 +342,19 @@ goTo.marker('26'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('26q'); -verify.quickInfoIs("(function) f1(b: string): any (+1 overload)", ""); +verify.quickInfoIs("function f1(b: string): any (+1 overload)", ""); goTo.marker('26aq'); verify.quickInfoIs("(parameter) b: string", ""); goTo.marker('27'); -verify.completionListContains("multiply", "(function) multiply(a: number, b: number, c?: number, d?: any, e?: any): void", "This is multiplication function\n@anotherTag\n@anotherTag"); -verify.completionListContains("f1", "(function) f1(a: number): any (+1 overload)", "fn f1 with number"); +verify.completionListContains("multiply", "function multiply(a: number, b: number, c?: number, d?: any, e?: any): void", "This is multiplication function\n@anotherTag\n@anotherTag"); +verify.completionListContains("f1", "function f1(a: number): any (+1 overload)", "fn f1 with number"); goTo.marker('28'); verify.currentSignatureHelpDocCommentIs("This is subtract function"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('28q'); -verify.quickInfoIs("(function) subtract(a: number, b: number, c?: () => string, d?: () => string, e?: () => string, f?: () => string): void", "This is subtract function"); +verify.quickInfoIs("function subtract(a: number, b: number, c?: () => string, d?: () => string, e?: () => string, f?: () => string): void", "This is subtract function"); goTo.marker('28aq'); verify.quickInfoIs("(parameter) a: number", ""); @@ -392,7 +392,7 @@ goTo.marker('34'); verify.currentSignatureHelpDocCommentIs("this is square function\n@paramTag { number } a this is input number of paramTag\n@returnType { number } it is return type"); verify.currentParameterHelpArgumentDocCommentIs("this is input number"); goTo.marker('34q'); -verify.quickInfoIs("(function) square(a: number): number", "this is square function\n@paramTag { number } a this is input number of paramTag\n@returnType { number } it is return type"); +verify.quickInfoIs("function square(a: number): number", "this is square function\n@paramTag { number } a this is input number of paramTag\n@returnType { number } it is return type"); goTo.marker('34aq'); verify.quickInfoIs("(parameter) a: number", "this is input number"); @@ -400,7 +400,7 @@ goTo.marker('35'); verify.currentSignatureHelpDocCommentIs("this is divide function\n@paramTag { number } g this is optional param g"); verify.currentParameterHelpArgumentDocCommentIs("this is a"); goTo.marker('35q'); -verify.quickInfoIs("(function) divide(a: number, b: number): void", "this is divide function\n@paramTag { number } g this is optional param g"); +verify.quickInfoIs("function divide(a: number, b: number): void", "this is divide function\n@paramTag { number } g this is optional param g"); goTo.marker('35aq'); verify.quickInfoIs("(parameter) a: number", "this is a"); @@ -414,7 +414,7 @@ goTo.marker('37'); verify.currentSignatureHelpDocCommentIs("Function returns string concat of foo and bar"); verify.currentParameterHelpArgumentDocCommentIs("is string"); goTo.marker('37q'); -verify.quickInfoIs("(function) fooBar(foo: string, bar: string): string", "Function returns string concat of foo and bar"); +verify.quickInfoIs("function fooBar(foo: string, bar: string): string", "Function returns string concat of foo and bar"); goTo.marker('37aq'); verify.quickInfoIs("(parameter) foo: string", "is string"); @@ -434,7 +434,7 @@ goTo.marker('40'); verify.currentSignatureHelpDocCommentIs("this is jsdoc style function with param tag as well as inline parameter help"); verify.currentParameterHelpArgumentDocCommentIs("it is first parameter\nthis is inline comment for a "); goTo.marker('40q'); -verify.quickInfoIs("(function) jsDocParamTest(a: number, b: number, c: number, d: number): number", "this is jsdoc style function with param tag as well as inline parameter help"); +verify.quickInfoIs("function jsDocParamTest(a: number, b: number, c: number, d: number): number", "this is jsdoc style function with param tag as well as inline parameter help"); goTo.marker('40aq'); verify.quickInfoIs("(parameter) a: number", "it is first parameter\nthis is inline comment for a "); @@ -457,25 +457,25 @@ goTo.marker('43aq'); verify.quickInfoIs("(parameter) d: number", ""); goTo.marker('44'); -verify.completionListContains("jsDocParamTest", "(function) jsDocParamTest(a: number, b: number, c: number, d: number): number", "this is jsdoc style function with param tag as well as inline parameter help"); -verify.completionListContains("x", "(var) x: any", "This is a comment "); -verify.completionListContains("y", "(var) y: any", "This is a comment "); +verify.completionListContains("jsDocParamTest", "function jsDocParamTest(a: number, b: number, c: number, d: number): number", "this is jsdoc style function with param tag as well as inline parameter help"); +verify.completionListContains("x", "var x: any", "This is a comment "); +verify.completionListContains("y", "var y: any", "This is a comment "); goTo.marker('45'); verify.currentSignatureHelpDocCommentIs("This is function comment\nAnd properly aligned comment "); goTo.marker('45q'); -verify.quickInfoIs("(function) jsDocCommentAlignmentTest1(): void", "This is function comment\nAnd properly aligned comment "); +verify.quickInfoIs("function jsDocCommentAlignmentTest1(): void", "This is function comment\nAnd properly aligned comment "); goTo.marker('46'); verify.currentSignatureHelpDocCommentIs("This is function comment\n And aligned with 4 space char margin"); goTo.marker('46q'); -verify.quickInfoIs("(function) jsDocCommentAlignmentTest2(): void", "This is function comment\n And aligned with 4 space char margin"); +verify.quickInfoIs("function jsDocCommentAlignmentTest2(): void", "This is function comment\n And aligned with 4 space char margin"); goTo.marker('47'); verify.currentSignatureHelpDocCommentIs("This is function comment\n And aligned with 4 space char margin"); verify.currentParameterHelpArgumentDocCommentIs("this is info about a\nspanning on two lines and aligned perfectly"); goTo.marker('47q'); -verify.quickInfoIs("(function) jsDocCommentAlignmentTest3(a: string, b: any, c: any): void", "This is function comment\n And aligned with 4 space char margin"); +verify.quickInfoIs("function jsDocCommentAlignmentTest3(a: string, b: any, c: any): void", "This is function comment\n And aligned with 4 space char margin"); goTo.marker('47aq'); verify.quickInfoIs("(parameter) a: string", "this is info about a\nspanning on two lines and aligned perfectly"); diff --git a/tests/cases/fourslash/commentsEnums.ts b/tests/cases/fourslash/commentsEnums.ts index 9e3213a090357..0f312d2992e17 100644 --- a/tests/cases/fourslash/commentsEnums.ts +++ b/tests/cases/fourslash/commentsEnums.ts @@ -20,7 +20,7 @@ goTo.marker('3'); verify.quickInfoIs("(enum member) Colors.FancyPink = 1", "Fancy name for 'pink'"); goTo.marker('4'); -verify.quickInfoIs("(var) x: Colors", ""); +verify.quickInfoIs("var x: Colors", ""); goTo.marker('5'); verify.completionListContains("Colors", "enum Colors", "Enum of colors"); diff --git a/tests/cases/fourslash/commentsExternalModules.ts b/tests/cases/fourslash/commentsExternalModules.ts index ad0440a3218bc..1b000b854b16a 100644 --- a/tests/cases/fourslash/commentsExternalModules.ts +++ b/tests/cases/fourslash/commentsExternalModules.ts @@ -39,33 +39,33 @@ goTo.marker('1'); verify.quickInfoIs("module m1", "Module comment"); goTo.marker('2'); -verify.completionListContains("b", "(var) m1.b: number", "b's comment"); -verify.completionListContains("foo", "(function) foo(): number", "foo's comment"); +verify.completionListContains("b", "var m1.b: number", "b's comment"); +verify.completionListContains("foo", "function foo(): number", "foo's comment"); goTo.marker('3'); verify.currentSignatureHelpDocCommentIs("foo's comment"); goTo.marker('3q'); -verify.quickInfoIs("(function) foo(): number", "foo's comment"); +verify.quickInfoIs("function foo(): number", "foo's comment"); goTo.marker('4'); verify.completionListContains("m1", "module m1", "Module comment"); goTo.marker('5'); -verify.memberListContains("b", "(var) m1.b: number", "b's comment"); -verify.memberListContains("fooExport", "(function) m1.fooExport(): number", "exported function"); +verify.memberListContains("b", "var m1.b: number", "b's comment"); +verify.memberListContains("fooExport", "function m1.fooExport(): number", "exported function"); verify.memberListContains("m2", "module m1.m2"); goTo.marker('6'); verify.currentSignatureHelpDocCommentIs("exported function"); goTo.marker('6q'); -verify.quickInfoIs("(function) m1.fooExport(): number", "exported function"); +verify.quickInfoIs("function m1.fooExport(): number", "exported function"); goTo.marker('7'); -verify.quickInfoIs("(var) myvar: m1.m2.c", ""); +verify.quickInfoIs("var myvar: m1.m2.c", ""); goTo.marker('8'); -verify.memberListContains("c", "(constructor) m1.m2.c(): m1.m2.c", ""); -verify.memberListContains("i", "(var) m1.m2.i: m1.m2.c", "i"); +verify.memberListContains("c", "constructor m1.m2.c(): m1.m2.c", ""); +verify.memberListContains("i", "var m1.m2.i: m1.m2.c", "i"); goTo.file("commentsExternalModules_file1.ts"); goTo.marker('9'); @@ -78,18 +78,18 @@ goTo.marker('11'); verify.memberListContains("m1", "module extMod.m1"); goTo.marker('12'); -verify.memberListContains("b", "(var) extMod.m1.b: number", "b's comment"); -verify.memberListContains("fooExport", "(function) extMod.m1.fooExport(): number", "exported function"); +verify.memberListContains("b", "var extMod.m1.b: number", "b's comment"); +verify.memberListContains("fooExport", "function extMod.m1.fooExport(): number", "exported function"); verify.memberListContains("m2", "module extMod.m1.m2"); goTo.marker('13'); verify.currentSignatureHelpDocCommentIs("exported function"); goTo.marker('13q'); -verify.quickInfoIs("(function) extMod.m1.fooExport(): number", "exported function"); +verify.quickInfoIs("function extMod.m1.fooExport(): number", "exported function"); goTo.marker('14'); -verify.quickInfoIs("(var) newVar: extMod.m1.m2.c", ""); +verify.quickInfoIs("var newVar: extMod.m1.m2.c", ""); goTo.marker('15'); -verify.memberListContains("c", "(constructor) extMod.m1.m2.c(): extMod.m1.m2.c", ""); -verify.memberListContains("i", "(var) extMod.m1.m2.i: extMod.m1.m2.c", "i"); +verify.memberListContains("c", "constructor extMod.m1.m2.c(): extMod.m1.m2.c", ""); +verify.memberListContains("i", "var extMod.m1.m2.i: extMod.m1.m2.c", "i"); diff --git a/tests/cases/fourslash/commentsFunction.ts b/tests/cases/fourslash/commentsFunction.ts index 4cd750d603910..ac1e7f5effdd1 100644 --- a/tests/cases/fourslash/commentsFunction.ts +++ b/tests/cases/fourslash/commentsFunction.ts @@ -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', '(function) foo(): void', 'This comment should appear for foo'); +verify.completionListContains('foo', 'function foo(): void', 'This comment should appear for foo'); goTo.marker('5'); -verify.completionListContains('fooWithParameters', '(function) fooWithParameters(a: string, b: number): void', 'This is comment for function signature'); +verify.completionListContains('fooWithParameters', 'function fooWithParameters(a: string, b: number): void', 'This is comment for function signature'); goTo.marker('6'); -verify.quickInfoIs("(function) foo(): void", "This comment should appear for foo"); +verify.quickInfoIs("function foo(): void", "This comment should appear for foo"); goTo.marker('7'); -verify.quickInfoIs("(function) foo(): void", "This comment should appear for foo"); +verify.quickInfoIs("function foo(): void", "This comment should appear for foo"); goTo.marker('8'); -verify.quickInfoIs("(function) fooWithParameters(a: string, b: number): void", "This is comment for function signature"); +verify.quickInfoIs("function fooWithParameters(a: string, b: number): void", "This is comment for function signature"); goTo.marker('9'); -verify.quickInfoIs("(function) fooWithParameters(a: string, b: number): void", "This is comment for function signature"); +verify.quickInfoIs("function fooWithParameters(a: string, b: number): void", "This is comment for function signature"); goTo.marker('10'); 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("(var) lambdaFoo: (a: number, b: number) => number", "lamdaFoo var comment"); +verify.quickInfoIs("var lambdaFoo: (a: number, b: number) => number", "lamdaFoo var comment"); goTo.marker('12'); -verify.quickInfoIs("(var) lambddaNoVarComment: (a: number, b: number) => number", ""); +verify.quickInfoIs("var lambddaNoVarComment: (a: number, b: number) => number", ""); goTo.marker('13'); -verify.completionListContains('lambdaFoo', '(var) lambdaFoo: (a: number, b: number) => number', ''); -verify.completionListContains('lambddaNoVarComment', '(var) lambddaNoVarComment: (a: number, b: number) => number', ''); +verify.completionListContains('lambdaFoo', 'var lambdaFoo: (a: number, b: number) => number', ''); +verify.completionListContains('lambddaNoVarComment', 'var lambddaNoVarComment: (a: number, b: number) => number', ''); goTo.marker('14'); verify.currentParameterHelpArgumentDocCommentIs("param a"); @@ -101,7 +101,7 @@ goTo.marker('20'); verify.quickInfoIs('(local var) d: string', ''); goTo.marker('20a'); -verify.quickInfoIs('(var) lambdaAnotherFunc: (a: number) => number', ''); +verify.quickInfoIs('var lambdaAnotherFunc: (a: number) => number', ''); goTo.marker('21'); verify.quickInfoIs('(parameter) a: number', ''); goTo.marker('22'); @@ -112,7 +112,7 @@ goTo.marker('24'); verify.quickInfoIs('(parameter) a: number', ''); goTo.marker('25'); -verify.quickInfoIs('(function) anotherFunc(a: number): string', ''); +verify.quickInfoIs('function anotherFunc(a: number): string', ''); goTo.marker('26'); verify.quickInfoIs('(parameter) a: number', ''); goTo.marker('27a'); diff --git a/tests/cases/fourslash/commentsImportDeclaration.ts b/tests/cases/fourslash/commentsImportDeclaration.ts index 88abbed8618ec..d5c6a7fa537e1 100644 --- a/tests/cases/fourslash/commentsImportDeclaration.ts +++ b/tests/cases/fourslash/commentsImportDeclaration.ts @@ -34,18 +34,18 @@ goTo.marker('6'); verify.memberListContains("m1", "module extMod.m1"); goTo.marker('7'); -verify.memberListContains("b", "(var) extMod.m1.b: number", "b's comment"); -verify.memberListContains("fooExport", "(function) extMod.m1.fooExport(): number", "exported function"); +verify.memberListContains("b", "var extMod.m1.b: number", "b's comment"); +verify.memberListContains("fooExport", "function extMod.m1.fooExport(): number", "exported function"); verify.memberListContains("m2", "module extMod.m1.m2"); goTo.marker('8'); verify.currentSignatureHelpDocCommentIs("exported function"); goTo.marker('8q'); -verify.quickInfoIs("(function) extMod.m1.fooExport(): number", "exported function"); +verify.quickInfoIs("function extMod.m1.fooExport(): number", "exported function"); goTo.marker('9'); -verify.quickInfoIs("(var) newVar: extMod.m1.m2.c", ""); +verify.quickInfoIs("var newVar: extMod.m1.m2.c", ""); goTo.marker('10'); -verify.memberListContains("c", "(constructor) extMod.m1.m2.c(): extMod.m1.m2.c", ""); -verify.memberListContains("i", "(var) extMod.m1.m2.i: extMod.m1.m2.c", "i"); +verify.memberListContains("c", "constructor extMod.m1.m2.c(): extMod.m1.m2.c", ""); +verify.memberListContains("i", "var extMod.m1.m2.i: extMod.m1.m2.c", "i"); diff --git a/tests/cases/fourslash/commentsInheritance.ts b/tests/cases/fourslash/commentsInheritance.ts index e8c2084d38daa..dd53a04cdd772 100644 --- a/tests/cases/fourslash/commentsInheritance.ts +++ b/tests/cases/fourslash/commentsInheritance.ts @@ -251,7 +251,7 @@ goTo.marker('l5'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('1iq'); -verify.quickInfoIs("(var) i1_i: i1", ""); +verify.quickInfoIs("var i1_i: i1", ""); goTo.marker('2q'); verify.quickInfoIs("(method) i1.i1_f1(): void", "i1_f1"); goTo.marker('3q'); @@ -300,7 +300,7 @@ goTo.marker('l10'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('6iq'); -verify.quickInfoIs("(var) c1_i: c1", ""); +verify.quickInfoIs("var c1_i: c1", ""); goTo.marker('7q'); verify.quickInfoIs("(method) c1.i1_f1(): void", ""); goTo.marker('8q'); @@ -366,17 +366,17 @@ verify.quickInfoIs("(property) 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("i1_i", "var i1_i: i1", ""); verify.completionListContains("c1", "class c1", ""); -verify.completionListContains("c1_i", "(var) c1_i: c1", ""); +verify.completionListContains("c1_i", "var c1_i: c1", ""); goTo.marker('16i'); verify.completionListContains("i1", "interface i1", "i1 is interface with properties"); goTo.marker('17iq'); -verify.quickInfoIs("(var) c2_i: c2", ""); +verify.quickInfoIs("var c2_i: c2", ""); goTo.marker('18iq'); -verify.quickInfoIs("(var) c3_i: c3", ""); +verify.quickInfoIs("var c3_i: c3", ""); goTo.marker('17'); verify.currentSignatureHelpDocCommentIs("c2 constructor"); @@ -385,7 +385,7 @@ goTo.marker('18'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('18sq'); -verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor"); +verify.quickInfoIs("constructor c2(a: number): c2", "c2 constructor"); goTo.marker('18spropq'); verify.quickInfoIs("class c2", ""); @@ -393,9 +393,9 @@ 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"); +verify.quickInfoIs("constructor c2(a: number): c2", "c2 constructor"); goTo.marker('18q'); -verify.quickInfoIs("(constructor) c3(): c3", ""); +verify.quickInfoIs("constructor c3(): c3", ""); goTo.marker('19'); verify.memberListContains("c2_p1", "(property) c2.c2_p1: number", "c2 c2_p1"); @@ -493,17 +493,17 @@ verify.quickInfoIs("(method) c2.nc_f1(): void", ""); goTo.marker('34'); verify.currentSignatureHelpDocCommentIs("c2 constructor"); goTo.marker('34iq'); -verify.quickInfoIs("(var) c4_i: c4", ""); +verify.quickInfoIs("var c4_i: c4", ""); goTo.marker('34q'); -verify.quickInfoIs("(constructor) c4(a: number): c4", "c2 constructor"); +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("c2_i", "var c2_i: c2", ""); verify.completionListContains("c3", "class c3", ""); -verify.completionListContains("c3_i", "(var) c3_i: c3", ""); +verify.completionListContains("c3_i", "var c3_i: c3", ""); verify.completionListContains("c4", "class c4", ""); -verify.completionListContains("c4_i", "(var) c4_i: c4", ""); +verify.completionListContains("c4_i", "var c4_i: c4", ""); goTo.marker('36'); verify.memberListContains("i2_p1", "(property) i2.i2_p1: number", "i2_p1"); @@ -536,9 +536,9 @@ goTo.marker('l40'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('36iq'); -verify.quickInfoIs("(var) i2_i: i2", ""); +verify.quickInfoIs("var i2_i: i2", ""); goTo.marker('37iq'); -verify.quickInfoIs("(var) i3_i: i3", ""); +verify.quickInfoIs("var i3_i: i3", ""); goTo.marker('37q'); verify.quickInfoIs("(method) i2.i2_f1(): void", "i2_f1"); goTo.marker('38q'); @@ -652,16 +652,16 @@ verify.quickInfoIs("(property) i2.nc_l1: () => void", ""); goTo.marker('51'); verify.completionListContains("i2", "interface i2", ""); -verify.completionListContains("i2_i", "(var) i2_i: i2", ""); +verify.completionListContains("i2_i", "var i2_i: i2", ""); verify.completionListContains("i3", "interface i3", ""); -verify.completionListContains("i3_i", "(var) i3_i: i3", ""); +verify.completionListContains("i3_i", "var i3_i: i3", ""); goTo.marker('51i'); verify.completionListContains("i2", "interface i2", ""); verify.completionListContains("i3", "interface i3", ""); goTo.marker('52'); -verify.quickInfoIs("(constructor) c5(): c5", ""); +verify.quickInfoIs("constructor c5(): c5", ""); goTo.marker('53'); verify.quickInfoIs("class c5", "c5 class"); @@ -670,10 +670,10 @@ goTo.marker('54'); verify.quickInfoIs("(property) c5.b: number", ""); goTo.marker('55'); -verify.quickInfoIs("(constructor) c2(a: number): c2", "c2 constructor"); +verify.quickInfoIs("constructor c2(a: number): c2", "c2 constructor"); goTo.marker('56'); -verify.quickInfoIs("(constructor) c3(): c3", ""); +verify.quickInfoIs("constructor c3(): c3", ""); goTo.marker('57'); -verify.quickInfoIs("(constructor) c6(): c6", ""); \ No newline at end of file +verify.quickInfoIs("constructor c6(): c6", ""); diff --git a/tests/cases/fourslash/commentsInterface.ts b/tests/cases/fourslash/commentsInterface.ts index d4a3d2dd924fe..cdaafa31faa09 100644 --- a/tests/cases/fourslash/commentsInterface.ts +++ b/tests/cases/fourslash/commentsInterface.ts @@ -72,22 +72,22 @@ goTo.marker('1'); verify.quickInfoIs("interface i1", "this is interface 1"); goTo.marker('2'); -verify.quickInfoIs("(var) i1_i: i1", ""); +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", ""); +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", ""); +verify.quickInfoIs("var i2_i: i2", ""); goTo.marker('7'); -verify.quickInfoIs("(var) i2_i_x: number", ""); +verify.quickInfoIs("var i2_i_x: number", ""); goTo.marker('8'); verify.quickInfoIs("(property) i2.x: number", "this is x"); @@ -99,13 +99,13 @@ verify.memberListContains("fnfoo", "(method) i2.fnfoo(b: number): string", "this verify.memberListContains("nc_fnfoo", "(method) i2.nc_fnfoo(b: number): string", ""); goTo.marker('9'); -verify.quickInfoIs("(var) i2_i_foo: (b: number) => string", ""); +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", ""); +verify.quickInfoIs("var i2_i_foo_r: string", ""); goTo.marker('12'); verify.currentSignatureHelpDocCommentIs(""); @@ -114,38 +114,38 @@ goTo.marker('12q'); verify.quickInfoIs("(property) i2.foo: (b: number) => string", ""); goTo.marker('13'); -verify.quickInfoIs("(var) i2_i_i2_si: number", ""); +verify.quickInfoIs("var i2_i_i2_si: number", ""); goTo.marker('13q'); -verify.quickInfoIs("(var) i2_i: i2", ""); +verify.quickInfoIs("var i2_i: i2", ""); goTo.marker('14'); -verify.quickInfoIs("(var) i2_i_i2_ii: number", ""); +verify.quickInfoIs("var i2_i_i2_ii: number", ""); goTo.marker('14q'); -verify.quickInfoIs("(var) i2_i: i2", ""); +verify.quickInfoIs("var i2_i: i2", ""); goTo.marker('15'); -verify.quickInfoIs("(var) i2_i_n: any", ""); +verify.quickInfoIs("var i2_i_n: any", ""); goTo.marker('16'); verify.currentSignatureHelpDocCommentIs("new method"); verify.currentParameterHelpArgumentDocCommentIs("param"); goTo.marker('16q'); -verify.quickInfoIs("(var) i2_i: new i2(i: i1) => any", "new method"); +verify.quickInfoIs("var i2_i: new i2(i: i1) => any", "new method"); goTo.marker('17'); -verify.quickInfoIs("(var) i2_i_nc_x: number", ""); +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", ""); +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", ""); +verify.quickInfoIs("var i2_i_nc_foo_r: string", ""); goTo.marker('22'); verify.currentSignatureHelpDocCommentIs(""); @@ -154,26 +154,26 @@ goTo.marker('22q'); verify.quickInfoIs("(property) i2.nc_foo: (b: number) => string", ""); goTo.marker('23'); -verify.quickInfoIs("(var) i2_i_r: number", ""); +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("(var) i2_i: i2(a: number, b: number) => number", "this is call signature"); +verify.quickInfoIs("var i2_i: 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", ""); +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", ""); +verify.quickInfoIs("var i2_i_fnfoo_r: string", ""); goTo.marker('29'); verify.currentSignatureHelpDocCommentIs("this is fnfoo"); @@ -182,13 +182,13 @@ 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", ""); +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", ""); +verify.quickInfoIs("var i2_i_nc_fnfoo_r: string", ""); goTo.marker('33'); verify.currentSignatureHelpDocCommentIs(""); @@ -198,25 +198,25 @@ 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("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("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", ""); +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('34i'); verify.completionListContains("i1", "interface i1", "this is interface 1"); @@ -227,10 +227,10 @@ goTo.marker('36'); verify.completionListContains("a", "(parameter) a: number", "i3_i a"); goTo.marker('40q'); -verify.quickInfoIs("(var) i3_i: i3", ""); +verify.quickInfoIs("var i3_i: i3", ""); goTo.marker('40'); verify.completionListContains("i3", "interface i3", ""); -verify.completionListContains("i3_i", "(var) i3_i: i3", ""); +verify.completionListContains("i3_i", "var i3_i: i3", ""); goTo.marker('41'); verify.quickInfoIs("(method) i3.f(a: number): string", "Function i3 f"); diff --git a/tests/cases/fourslash/commentsModules.ts b/tests/cases/fourslash/commentsModules.ts index 9025707956947..4954359fedff1 100644 --- a/tests/cases/fourslash/commentsModules.ts +++ b/tests/cases/fourslash/commentsModules.ts @@ -100,33 +100,33 @@ goTo.marker('1'); verify.quickInfoIs("module m1", "Module comment"); goTo.marker('2'); -verify.completionListContains("b", "(var) m1.b: number", "b's comment"); -verify.completionListContains("foo", "(function) foo(): number", "foo's comment"); +verify.completionListContains("b", "var m1.b: number", "b's comment"); +verify.completionListContains("foo", "function foo(): number", "foo's comment"); goTo.marker('3'); verify.currentSignatureHelpDocCommentIs("foo's comment"); goTo.marker('3q'); -verify.quickInfoIs("(function) foo(): number", "foo's comment"); +verify.quickInfoIs("function foo(): number", "foo's comment"); goTo.marker('4'); verify.completionListContains("m1", "module m1", "Module comment"); goTo.marker('5'); -verify.memberListContains("b", "(var) m1.b: number", "b's comment"); -verify.memberListContains("fooExport", "(function) m1.fooExport(): number", "exported function"); +verify.memberListContains("b", "var m1.b: number", "b's comment"); +verify.memberListContains("fooExport", "function m1.fooExport(): number", "exported function"); verify.memberListContains("m2", "module m1.m2"); -verify.quickInfoIs("(function) m1.fooExport(): number", "exported function"); +verify.quickInfoIs("function m1.fooExport(): number", "exported function"); goTo.marker('6'); verify.currentSignatureHelpDocCommentIs("exported function"); goTo.marker('7'); -verify.quickInfoIs("(var) myvar: m1.m2.c", ""); +verify.quickInfoIs("var myvar: m1.m2.c", ""); goTo.marker('8'); -verify.quickInfoIs("(constructor) m1.m2.c(): m1.m2.c", ""); -verify.memberListContains("c", "(constructor) m1.m2.c(): m1.m2.c", ""); -verify.memberListContains("i", "(var) m1.m2.i: m1.m2.c", "i"); +verify.quickInfoIs("constructor m1.m2.c(): m1.m2.c", ""); +verify.memberListContains("c", "constructor m1.m2.c(): m1.m2.c", ""); +verify.memberListContains("i", "var m1.m2.i: m1.m2.c", "i"); goTo.marker('9'); verify.completionListContains("m2", "module m2", ""); @@ -137,8 +137,8 @@ verify.memberListContains("m3", "module m2.m3"); verify.quickInfoIs("module m2.m3", "module comment of m2.m3"); goTo.marker('11'); -verify.quickInfoIs("(constructor) m2.m3.c(): m2.m3.c", ""); -verify.memberListContains("c", "(constructor) m2.m3.c(): m2.m3.c", ""); +verify.quickInfoIs("constructor m2.m3.c(): m2.m3.c", ""); +verify.memberListContains("c", "constructor m2.m3.c(): m2.m3.c", ""); goTo.marker('12'); verify.completionListContains("m3", "module m3", ""); @@ -153,8 +153,8 @@ verify.memberListContains("m5", "module m3.m4.m5"); verify.quickInfoIs("module m3.m4.m5", "module comment of m3.m4.m5"); goTo.marker('15'); -verify.quickInfoIs("(constructor) m3.m4.m5.c(): m3.m4.m5.c", ""); -verify.memberListContains("c", "(constructor) m3.m4.m5.c(): m3.m4.m5.c", ""); +verify.quickInfoIs("constructor m3.m4.m5.c(): m3.m4.m5.c", ""); +verify.memberListContains("c", "constructor m3.m4.m5.c(): m3.m4.m5.c", ""); goTo.marker('16'); verify.completionListContains("m4", "module m4", ""); @@ -173,8 +173,8 @@ verify.memberListContains("m7", "module m4.m5.m6.m7"); verify.quickInfoIs("module m4.m5.m6.m7", ""); goTo.marker('20'); -verify.memberListContains("c", "(constructor) m4.m5.m6.m7.c(): m4.m5.m6.m7.c", ""); -verify.quickInfoIs("(constructor) m4.m5.m6.m7.c(): m4.m5.m6.m7.c", ""); +verify.memberListContains("c", "constructor m4.m5.m6.m7.c(): m4.m5.m6.m7.c", ""); +verify.quickInfoIs("constructor m4.m5.m6.m7.c(): m4.m5.m6.m7.c", ""); goTo.marker('21'); verify.completionListContains("m5", "module m5"); @@ -193,8 +193,8 @@ verify.memberListContains("m8", "module m5.m6.m7.m8"); verify.quickInfoIs("module m5.m6.m7.m8", "module m8 comment"); goTo.marker('25'); -verify.memberListContains("c", "(constructor) m5.m6.m7.m8.c(): m5.m6.m7.m8.c", ""); -verify.quickInfoIs("(constructor) m5.m6.m7.m8.c(): m5.m6.m7.m8.c", ""); +verify.memberListContains("c", "constructor m5.m6.m7.m8.c(): m5.m6.m7.m8.c", ""); +verify.quickInfoIs("constructor m5.m6.m7.m8.c(): m5.m6.m7.m8.c", ""); goTo.marker('26'); verify.completionListContains("m6", "module m6"); @@ -209,8 +209,8 @@ verify.memberListContains("m8", "module m6.m7.m8"); verify.quickInfoIs("module m6.m7.m8", ""); goTo.marker('29'); -verify.memberListContains("c", "(constructor) m6.m7.m8.c(): m6.m7.m8.c", ""); -verify.quickInfoIs("(constructor) m6.m7.m8.c(): m6.m7.m8.c", ""); +verify.memberListContains("c", "constructor m6.m7.m8.c(): m6.m7.m8.c", ""); +verify.quickInfoIs("constructor m6.m7.m8.c(): m6.m7.m8.c", ""); goTo.marker('30'); verify.completionListContains("m7", "module m7"); @@ -225,15 +225,15 @@ verify.memberListContains("m9", "module m7.m8.m9"); verify.quickInfoIs("module m7.m8.m9", "module m9 comment"); goTo.marker('33'); -verify.memberListContains("c", "(constructor) m7.m8.m9.c(): m7.m8.m9.c", ""); -verify.quickInfoIs("(constructor) m7.m8.m9.c(): m7.m8.m9.c", ""); +verify.memberListContains("c", "constructor m7.m8.m9.c(): m7.m8.m9.c", ""); +verify.quickInfoIs("constructor m7.m8.m9.c(): m7.m8.m9.c", ""); goTo.marker('34'); verify.completionListContains("c", 'class c', ""); verify.quickInfoIs('class c', ""); goTo.marker('35'); -verify.quickInfoIs("(var) myComplexVal: number", ""); +verify.quickInfoIs("var myComplexVal: number", ""); goTo.marker('36'); verify.quickInfoIs("module complexM", ""); @@ -242,7 +242,7 @@ goTo.marker('37'); verify.quickInfoIs("module complexM.m2", ""); goTo.marker('38'); -verify.quickInfoIs("(constructor) complexM.m2.c(): complexM.m2.c", ""); +verify.quickInfoIs("constructor complexM.m2.c(): complexM.m2.c", ""); goTo.marker('39'); verify.quickInfoIs("(method) complexM.m2.c.foo2(): complexM.m1.c", ""); diff --git a/tests/cases/fourslash/commentsOverloads.ts b/tests/cases/fourslash/commentsOverloads.ts index 1e85346a17abc..878ea8ea00415 100644 --- a/tests/cases/fourslash/commentsOverloads.ts +++ b/tests/cases/fourslash/commentsOverloads.ts @@ -226,15 +226,15 @@ ////foo(null); goTo.marker('1'); -verify.quickInfoIs("(function) f1(a: number): number (+1 overload)", "this is signature 1"); +verify.quickInfoIs("function f1(a: number): number (+1 overload)", "this is signature 1"); goTo.marker('2'); -verify.quickInfoIs("(function) f1(b: string): number (+1 overload)", ""); +verify.quickInfoIs("function f1(b: string): number (+1 overload)", ""); goTo.marker('3'); -verify.quickInfoIs("(function) f1(a: number): number (+1 overload)", "this is signature 1"); +verify.quickInfoIs("function f1(a: number): number (+1 overload)", "this is signature 1"); goTo.marker('4q'); -verify.quickInfoIs("(function) f1(b: string): number (+1 overload)", ""); +verify.quickInfoIs("function f1(b: string): number (+1 overload)", ""); goTo.marker('o4q'); -verify.quickInfoIs("(function) f1(a: number): number (+1 overload)", "this is signature 1"); +verify.quickInfoIs("function f1(a: number): number (+1 overload)", "this is signature 1"); goTo.marker('4'); verify.currentSignatureHelpDocCommentIs(""); @@ -244,15 +244,15 @@ verify.currentSignatureHelpDocCommentIs("this is signature 1"); verify.currentParameterHelpArgumentDocCommentIs("param a"); goTo.marker('5'); -verify.quickInfoIs("(function) f2(a: number): number (+1 overload)", ""); +verify.quickInfoIs("function f2(a: number): number (+1 overload)", ""); goTo.marker('6'); -verify.quickInfoIs("(function) f2(b: string): number (+1 overload)", "this is signature 2"); +verify.quickInfoIs("function f2(b: string): number (+1 overload)", "this is signature 2"); goTo.marker('7'); -verify.quickInfoIs("(function) f2(a: number): number (+1 overload)", ""); +verify.quickInfoIs("function f2(a: number): number (+1 overload)", ""); goTo.marker('8q'); -verify.quickInfoIs("(function) f2(b: string): number (+1 overload)", "this is signature 2"); +verify.quickInfoIs("function f2(b: string): number (+1 overload)", "this is signature 2"); goTo.marker('o8q'); -verify.quickInfoIs("(function) f2(a: number): number (+1 overload)", ""); +verify.quickInfoIs("function f2(a: number): number (+1 overload)", ""); goTo.marker('8'); verify.currentSignatureHelpDocCommentIs("this is signature 2"); @@ -263,15 +263,15 @@ verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs("param a"); goTo.marker('9'); -verify.quickInfoIs("(function) f3(a: number): number (+1 overload)", ""); +verify.quickInfoIs("function f3(a: number): number (+1 overload)", ""); goTo.marker('10'); -verify.quickInfoIs("(function) f3(b: string): number (+1 overload)", ""); +verify.quickInfoIs("function f3(b: string): number (+1 overload)", ""); goTo.marker('11'); -verify.quickInfoIs("(function) f3(a: number): number (+1 overload)", ""); +verify.quickInfoIs("function f3(a: number): number (+1 overload)", ""); goTo.marker('12q'); -verify.quickInfoIs("(function) f3(b: string): number (+1 overload)", ""); +verify.quickInfoIs("function f3(b: string): number (+1 overload)", ""); goTo.marker('o12q'); -verify.quickInfoIs("(function) f3(a: number): number (+1 overload)", ""); +verify.quickInfoIs("function f3(a: number): number (+1 overload)", ""); goTo.marker('12'); verify.currentSignatureHelpDocCommentIs(""); @@ -282,15 +282,15 @@ verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('13'); -verify.quickInfoIs("(function) f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"); +verify.quickInfoIs("function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"); goTo.marker('14'); -verify.quickInfoIs("(function) f4(b: string): number (+1 overload)", "this is signature 4 - with string parameter"); +verify.quickInfoIs("function f4(b: string): number (+1 overload)", "this is signature 4 - with string parameter"); goTo.marker('15'); -verify.quickInfoIs("(function) f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"); +verify.quickInfoIs("function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"); goTo.marker('16q'); -verify.quickInfoIs("(function) f4(b: string): number (+1 overload)", "this is signature 4 - with string parameter"); +verify.quickInfoIs("function f4(b: string): number (+1 overload)", "this is signature 4 - with string parameter"); goTo.marker('o16q'); -verify.quickInfoIs("(function) f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"); +verify.quickInfoIs("function f4(a: number): number (+1 overload)", "this is signature 4 - with number parameter"); goTo.marker('16'); verify.currentSignatureHelpDocCommentIs("this is signature 4 - with string parameter"); @@ -301,44 +301,44 @@ verify.currentSignatureHelpDocCommentIs("this is signature 4 - with number param verify.currentParameterHelpArgumentDocCommentIs("param a"); goTo.marker('17'); -verify.completionListContains('f1', '(function) f1(a: number): number (+1 overload)', 'this is signature 1'); -verify.completionListContains('f2', '(function) f2(a: number): number (+1 overload)', ''); -verify.completionListContains('f3', '(function) f3(a: number): number (+1 overload)', ''); -verify.completionListContains('f4', '(function) f4(a: number): number (+1 overload)', 'this is signature 4 - with number parameter'); +verify.completionListContains('f1', 'function f1(a: number): number (+1 overload)', 'this is signature 1'); +verify.completionListContains('f2', 'function f2(a: number): number (+1 overload)', ''); +verify.completionListContains('f3', 'function f3(a: number): number (+1 overload)', ''); +verify.completionListContains('f4', 'function f4(a: number): number (+1 overload)', 'this is signature 4 - with number parameter'); goTo.marker('18'); verify.completionListContains('i1', 'interface i1', ''); -verify.completionListContains('i1_i', '(var) i1_i: new i1(b: number) => any (+1 overload)', ''); +verify.completionListContains('i1_i', 'var i1_i: new i1(b: number) => any (+1 overload)', ''); verify.completionListContains('i2', 'interface i2', ''); -verify.completionListContains('i2_i', '(var) i2_i: new i2(a: string) => any (+1 overload)', ''); +verify.completionListContains('i2_i', 'var i2_i: new i2(a: string) => any (+1 overload)', ''); verify.completionListContains('i3', 'interface i3', ''); -verify.completionListContains('i3_i', '(var) i3_i: new i3(a: string) => any (+1 overload)', 'new 1'); +verify.completionListContains('i3_i', 'var i3_i: new i3(a: string) => any (+1 overload)', 'new 1'); verify.completionListContains('i4', 'interface i4', ''); -verify.completionListContains('i4_i', '(var) i4_i: new i4(a: string) => any (+1 overload)', ''); +verify.completionListContains('i4_i', 'var i4_i: new i4(a: string) => any (+1 overload)', ''); goTo.marker('19'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('19q'); -verify.quickInfoIs("(var) i1_i: new i1(b: number) => any (+1 overload)", ""); +verify.quickInfoIs("var i1_i: new i1(b: number) => any (+1 overload)", ""); goTo.marker('20'); verify.currentSignatureHelpDocCommentIs("new 1"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('20q'); -verify.quickInfoIs("(var) i1_i: new i1(a: string) => any (+1 overload)", "new 1"); +verify.quickInfoIs("var i1_i: new i1(a: string) => any (+1 overload)", "new 1"); goTo.marker('21'); verify.currentSignatureHelpDocCommentIs("this signature 1"); verify.currentParameterHelpArgumentDocCommentIs("param a"); goTo.marker('21q'); -verify.quickInfoIs("(var) i1_i: i1(a: number) => number (+1 overload)", "this signature 1"); +verify.quickInfoIs("var i1_i: i1(a: number) => number (+1 overload)", "this signature 1"); goTo.marker('22'); verify.currentSignatureHelpDocCommentIs("this is signature 2"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('22q'); -verify.quickInfoIs("(var) i1_i: i1(b: string) => number (+1 overload)", "this is signature 2"); +verify.quickInfoIs("var i1_i: i1(b: string) => number (+1 overload)", "this is signature 2"); goTo.marker('23'); verify.memberListContains('foo', '(method) i1.foo(a: number): number (+1 overload)', 'foo 1'); @@ -398,73 +398,73 @@ goTo.marker('32'); verify.currentSignatureHelpDocCommentIs("new 2"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('32q'); -verify.quickInfoIs("(var) i2_i: new i2(b: number) => any (+1 overload)", "new 2"); +verify.quickInfoIs("var i2_i: new i2(b: number) => any (+1 overload)", "new 2"); goTo.marker('33'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('33q'); -verify.quickInfoIs("(var) i2_i: new i2(a: string) => any (+1 overload)", ""); +verify.quickInfoIs("var i2_i: new i2(a: string) => any (+1 overload)", ""); goTo.marker('34'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('34q'); -verify.quickInfoIs("(var) i2_i: i2(a: number) => number (+1 overload)", ""); +verify.quickInfoIs("var i2_i: i2(a: number) => number (+1 overload)", ""); goTo.marker('35'); verify.currentSignatureHelpDocCommentIs("this is signature 2"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('35q'); -verify.quickInfoIs("(var) i2_i: i2(b: string) => number (+1 overload)", "this is signature 2"); +verify.quickInfoIs("var i2_i: i2(b: string) => number (+1 overload)", "this is signature 2"); goTo.marker('36'); verify.currentSignatureHelpDocCommentIs("new 2"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('36q'); -verify.quickInfoIs("(var) i3_i: new i3(b: number) => any (+1 overload)", "new 2"); +verify.quickInfoIs("var i3_i: new i3(b: number) => any (+1 overload)", "new 2"); goTo.marker('37'); verify.currentSignatureHelpDocCommentIs("new 1"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('37q'); -verify.quickInfoIs("(var) i3_i: new i3(a: string) => any (+1 overload)", "new 1"); +verify.quickInfoIs("var i3_i: new i3(a: string) => any (+1 overload)", "new 1"); goTo.marker('38'); verify.currentSignatureHelpDocCommentIs("this is signature 1"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('38q'); -verify.quickInfoIs("(var) i3_i: i3(a: number) => number (+1 overload)", "this is signature 1"); +verify.quickInfoIs("var i3_i: i3(a: number) => number (+1 overload)", "this is signature 1"); goTo.marker('39'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('39q'); -verify.quickInfoIs("(var) i3_i: i3(b: string) => number (+1 overload)", ""); +verify.quickInfoIs("var i3_i: i3(b: string) => number (+1 overload)", ""); goTo.marker('40'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('40q'); -verify.quickInfoIs("(var) i4_i: new i4(b: number) => any (+1 overload)", ""); +verify.quickInfoIs("var i4_i: new i4(b: number) => any (+1 overload)", ""); goTo.marker('41'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('41q'); -verify.quickInfoIs("(var) i4_i: new i4(a: string) => any (+1 overload)", ""); +verify.quickInfoIs("var i4_i: new i4(a: string) => any (+1 overload)", ""); goTo.marker('42'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('42q'); -verify.quickInfoIs("(var) i4_i: i4(a: number) => number (+1 overload)", ""); +verify.quickInfoIs("var i4_i: i4(a: number) => number (+1 overload)", ""); goTo.marker('43'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('43q'); -verify.quickInfoIs("(var) i4_i: i4(b: string) => number (+1 overload)", ""); +verify.quickInfoIs("var i4_i: i4(b: string) => number (+1 overload)", ""); goTo.marker('44'); verify.memberListContains('prop1', '(method) c.prop1(a: number): number (+1 overload)', ''); @@ -537,61 +537,61 @@ goTo.marker('55'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('55q'); -verify.quickInfoIs("(constructor) c1(a: number): c1 (+1 overload)", ""); +verify.quickInfoIs("constructor c1(a: number): c1 (+1 overload)", ""); goTo.marker('56'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('56q'); -verify.quickInfoIs("(constructor) c1(b: string): c1 (+1 overload)", ""); +verify.quickInfoIs("constructor c1(b: string): c1 (+1 overload)", ""); goTo.marker('57'); verify.currentSignatureHelpDocCommentIs("c2 1"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('57q'); -verify.quickInfoIs("(constructor) c2(a: number): c2 (+1 overload)", "c2 1"); +verify.quickInfoIs("constructor c2(a: number): c2 (+1 overload)", "c2 1"); goTo.marker('58'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('58q'); -verify.quickInfoIs("(constructor) c2(b: string): c2 (+1 overload)", ""); +verify.quickInfoIs("constructor c2(b: string): c2 (+1 overload)", ""); goTo.marker('59'); verify.currentSignatureHelpDocCommentIs(""); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('59q'); -verify.quickInfoIs("(constructor) c3(a: number): c3 (+1 overload)", ""); +verify.quickInfoIs("constructor c3(a: number): c3 (+1 overload)", ""); goTo.marker('60'); verify.currentSignatureHelpDocCommentIs("c3 2"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('60q'); -verify.quickInfoIs("(constructor) c3(b: string): c3 (+1 overload)", "c3 2"); +verify.quickInfoIs("constructor c3(b: string): c3 (+1 overload)", "c3 2"); goTo.marker('61'); verify.currentSignatureHelpDocCommentIs("c4 1"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('61q'); -verify.quickInfoIs("(constructor) c4(a: number): c4 (+1 overload)", "c4 1"); +verify.quickInfoIs("constructor c4(a: number): c4 (+1 overload)", "c4 1"); goTo.marker('62'); verify.currentSignatureHelpDocCommentIs("c4 2"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('62q'); -verify.quickInfoIs("(constructor) c4(b: string): c4 (+1 overload)", "c4 2"); +verify.quickInfoIs("constructor c4(b: string): c4 (+1 overload)", "c4 2"); goTo.marker('63'); verify.currentSignatureHelpDocCommentIs("c5 1"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('63q'); -verify.quickInfoIs("(constructor) c5(a: number): c5 (+1 overload)", "c5 1"); +verify.quickInfoIs("constructor c5(a: number): c5 (+1 overload)", "c5 1"); goTo.marker('64'); verify.currentSignatureHelpDocCommentIs("c5 2"); verify.currentParameterHelpArgumentDocCommentIs(""); goTo.marker('64q'); -verify.quickInfoIs("(constructor) c5(b: string): c5 (+1 overload)", "c5 2"); +verify.quickInfoIs("constructor c5(b: string): c5 (+1 overload)", "c5 2"); goTo.marker('65'); verify.completionListContains("c", "class c", ""); @@ -600,92 +600,92 @@ verify.completionListContains("c2", "class c2", ""); verify.completionListContains("c3", "class c3", ""); verify.completionListContains("c4", "class c4", ""); verify.completionListContains("c5", "class c5", ""); -verify.completionListContains("c_i", "(var) c_i: c", ""); -verify.completionListContains("c1_i_1", "(var) c1_i_1: c1", ""); -verify.completionListContains("c2_i_1", "(var) c2_i_1: c2", ""); -verify.completionListContains("c3_i_1", "(var) c3_i_1: c3", ""); -verify.completionListContains("c4_i_1", "(var) c4_i_1: c4", ""); -verify.completionListContains("c5_i_1", "(var) c5_i_1: c5", ""); -verify.completionListContains("c1_i_2", "(var) c1_i_2: c1", ""); -verify.completionListContains("c2_i_2", "(var) c2_i_2: c2", ""); -verify.completionListContains("c3_i_2", "(var) c3_i_2: c3", ""); -verify.completionListContains("c4_i_2", "(var) c4_i_2: c4", ""); -verify.completionListContains("c5_i_2", "(var) c5_i_2: c5", ""); -verify.completionListContains('multiOverload', '(function) multiOverload(a: number): string (+2 overloads)', 'This is multiOverload F1 1'); -verify.completionListContains('ambientF1', '(function) ambientF1(a: number): string (+2 overloads)', 'This is ambient F1 1'); +verify.completionListContains("c_i", "var c_i: c", ""); +verify.completionListContains("c1_i_1", "var c1_i_1: c1", ""); +verify.completionListContains("c2_i_1", "var c2_i_1: c2", ""); +verify.completionListContains("c3_i_1", "var c3_i_1: c3", ""); +verify.completionListContains("c4_i_1", "var c4_i_1: c4", ""); +verify.completionListContains("c5_i_1", "var c5_i_1: c5", ""); +verify.completionListContains("c1_i_2", "var c1_i_2: c1", ""); +verify.completionListContains("c2_i_2", "var c2_i_2: c2", ""); +verify.completionListContains("c3_i_2", "var c3_i_2: c3", ""); +verify.completionListContains("c4_i_2", "var c4_i_2: c4", ""); +verify.completionListContains("c5_i_2", "var c5_i_2: c5", ""); +verify.completionListContains('multiOverload', 'function multiOverload(a: number): string (+2 overloads)', 'This is multiOverload F1 1'); +verify.completionListContains('ambientF1', 'function ambientF1(a: number): string (+2 overloads)', 'This is ambient F1 1'); goTo.marker('66'); -verify.quickInfoIs("(var) c1_i_1: c1", ""); +verify.quickInfoIs("var c1_i_1: c1", ""); goTo.marker('67'); -verify.quickInfoIs("(var) c2_i_2: c2", ""); +verify.quickInfoIs("var c2_i_2: c2", ""); goTo.marker('68'); -verify.quickInfoIs("(var) c3_i_2: c3", ""); +verify.quickInfoIs("var c3_i_2: c3", ""); goTo.marker('69'); -verify.quickInfoIs("(var) c4_i_1: c4", ""); +verify.quickInfoIs("var c4_i_1: c4", ""); goTo.marker('70'); -verify.quickInfoIs("(var) c5_i_1: c5", ""); +verify.quickInfoIs("var c5_i_1: c5", ""); goTo.marker('71'); -verify.quickInfoIs("(function) multiOverload(a: number): string (+2 overloads)", "This is multiOverload F1 1"); +verify.quickInfoIs("function multiOverload(a: number): string (+2 overloads)", "This is multiOverload F1 1"); goTo.marker('72'); -verify.quickInfoIs("(function) multiOverload(b: string): string (+2 overloads)", "This is multiOverload F1 2"); +verify.quickInfoIs("function multiOverload(b: string): string (+2 overloads)", "This is multiOverload F1 2"); goTo.marker('73'); -verify.quickInfoIs("(function) multiOverload(c: boolean): string (+2 overloads)", "This is multiOverload F1 3"); +verify.quickInfoIs("function multiOverload(c: boolean): string (+2 overloads)", "This is multiOverload F1 3"); goTo.marker('74'); -verify.quickInfoIs("(function) ambientF1(a: number): string (+2 overloads)", "This is ambient F1 1"); +verify.quickInfoIs("function ambientF1(a: number): string (+2 overloads)", "This is ambient F1 1"); goTo.marker('75'); -verify.quickInfoIs("(function) ambientF1(b: string): string (+2 overloads)", "This is ambient F1 2"); +verify.quickInfoIs("function ambientF1(b: string): string (+2 overloads)", "This is ambient F1 2"); goTo.marker('76'); -verify.quickInfoIs("(function) ambientF1(c: boolean): boolean (+2 overloads)", "This is ambient F1 3"); +verify.quickInfoIs("function ambientF1(c: boolean): boolean (+2 overloads)", "This is ambient F1 3"); goTo.marker('77'); verify.quickInfoIs("(parameter) aa: i3", ""); goTo.marker('78'); -verify.quickInfoIs("(constructor) c1(a: number): c1 (+1 overload)", ""); +verify.quickInfoIs("constructor c1(a: number): c1 (+1 overload)", ""); goTo.marker('79'); -verify.quickInfoIs("(constructor) c1(b: string): c1 (+1 overload)", ""); +verify.quickInfoIs("constructor c1(b: string): c1 (+1 overload)", ""); goTo.marker('80'); -verify.quickInfoIs("(constructor) c1(a: number): c1 (+1 overload)", ""); +verify.quickInfoIs("constructor c1(a: number): c1 (+1 overload)", ""); goTo.marker('81'); -verify.quickInfoIs("(constructor) c2(a: number): c2 (+1 overload)", "c2 1"); +verify.quickInfoIs("constructor c2(a: number): c2 (+1 overload)", "c2 1"); goTo.marker('82'); -verify.quickInfoIs("(constructor) c2(b: string): c2 (+1 overload)", ""); +verify.quickInfoIs("constructor c2(b: string): c2 (+1 overload)", ""); goTo.marker('83'); -verify.quickInfoIs("(constructor) c2(a: number): c2 (+1 overload)", "c2 1"); +verify.quickInfoIs("constructor c2(a: number): c2 (+1 overload)", "c2 1"); goTo.marker('84'); -verify.quickInfoIs("(constructor) c3(a: number): c3 (+1 overload)", ""); +verify.quickInfoIs("constructor c3(a: number): c3 (+1 overload)", ""); goTo.marker('85'); -verify.quickInfoIs("(constructor) c3(b: string): c3 (+1 overload)", "c3 2"); +verify.quickInfoIs("constructor c3(b: string): c3 (+1 overload)", "c3 2"); goTo.marker('86'); -verify.quickInfoIs("(constructor) c3(a: number): c3 (+1 overload)", ""); +verify.quickInfoIs("constructor c3(a: number): c3 (+1 overload)", ""); goTo.marker('87'); -verify.quickInfoIs("(constructor) c4(a: number): c4 (+1 overload)", "c4 1"); +verify.quickInfoIs("constructor c4(a: number): c4 (+1 overload)", "c4 1"); goTo.marker('88'); -verify.quickInfoIs("(constructor) c4(b: string): c4 (+1 overload)", "c4 2"); +verify.quickInfoIs("constructor c4(b: string): c4 (+1 overload)", "c4 2"); goTo.marker('89'); -verify.quickInfoIs("(constructor) c4(a: number): c4 (+1 overload)", "c4 1"); +verify.quickInfoIs("constructor c4(a: number): c4 (+1 overload)", "c4 1"); goTo.marker('90'); -verify.quickInfoIs("(constructor) c5(a: number): c5 (+1 overload)", "c5 1"); +verify.quickInfoIs("constructor c5(a: number): c5 (+1 overload)", "c5 1"); goTo.marker('91'); -verify.quickInfoIs("(constructor) c5(b: string): c5 (+1 overload)", "c5 2"); +verify.quickInfoIs("constructor c5(b: string): c5 (+1 overload)", "c5 2"); goTo.marker('92'); -verify.quickInfoIs("(constructor) c5(a: number): c5 (+1 overload)", "c5 1"); +verify.quickInfoIs("constructor c5(a: number): c5 (+1 overload)", "c5 1"); goTo.marker('93'); verify.quickInfoIs("(method) c.prop1(a: number): number (+1 overload)", ""); diff --git a/tests/cases/fourslash/commentsVariables.ts b/tests/cases/fourslash/commentsVariables.ts index d5ada916a9883..d62e1e9bee817 100644 --- a/tests/cases/fourslash/commentsVariables.ts +++ b/tests/cases/fourslash/commentsVariables.ts @@ -42,59 +42,59 @@ ////var x = fo/*15*/o2; goTo.marker('1'); -verify.quickInfoIs("(var) myVariable: number", "This is my variable"); +verify.quickInfoIs("var myVariable: number", "This is my variable"); goTo.marker('2'); -verify.completionListContains("myVariable", "(var) myVariable: number", "This is my variable"); +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"); +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"); +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"); +verify.quickInfoIs("function foo(): void", "foos comment"); goTo.marker('6'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('6q'); -verify.quickInfoIs("(var) fooVar: () => void", ""); +verify.quickInfoIs("var fooVar: () => void", ""); goTo.marker('7'); -verify.completionListContains("foo", "(function) foo(): void", "foos comment"); -verify.completionListContains("fooVar", "(var) fooVar: () => void", "fooVar comment"); +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"); +verify.quickInfoIs("function foo(): void", "foos comment"); goTo.marker('9'); verify.currentSignatureHelpDocCommentIs(""); goTo.marker('9q'); -verify.quickInfoIs("(var) fooVar: () => void", ""); +verify.quickInfoIs("var fooVar: () => void", ""); goTo.marker('9aq'); -verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment"); +verify.quickInfoIs("var fooVar: () => void", "fooVar comment"); goTo.marker('10'); -verify.completionListContains("i", "(var) i: c", "instance comment"); +verify.completionListContains("i", "var i: c", "instance comment"); goTo.marker('11'); -verify.completionListContains("i1_i", "(var) i1_i: i1", "interface instance comments"); +verify.completionListContains("i1_i", "var i1_i: i1", "interface instance comments"); goTo.marker('12'); -verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment"); +verify.quickInfoIs("var fooVar: () => void", "fooVar comment"); goTo.marker('13'); -verify.quickInfoIs("(var) fooVar: () => void", "fooVar comment"); +verify.quickInfoIs("var fooVar: () => void", "fooVar comment"); goTo.marker('14'); -verify.quickInfoIs("(function) foo(): void", "foos comment"); +verify.quickInfoIs("function foo(): void", "foos comment"); goTo.marker('15'); -verify.quickInfoIs("(function) foo2(a: number): void (+1 overload)", ""); \ No newline at end of file +verify.quickInfoIs("function foo2(a: number): void (+1 overload)", ""); diff --git a/tests/cases/fourslash/completionEntryForConst.ts b/tests/cases/fourslash/completionEntryForConst.ts index dc2b2358b0ab8..42de1c20b523e 100644 --- a/tests/cases/fourslash/completionEntryForConst.ts +++ b/tests/cases/fourslash/completionEntryForConst.ts @@ -4,4 +4,4 @@ /////**/ goTo.marker(); -verify.completionListContains("c", "(const) c: string", /*documentation*/ undefined, "const"); \ No newline at end of file +verify.completionListContains("c", "const c: string", /*documentation*/ undefined, "const"); \ No newline at end of file diff --git a/tests/cases/fourslash/completionListForGenericInstance1.ts b/tests/cases/fourslash/completionListForGenericInstance1.ts index 9a3fcab631db7..5f323c1269172 100644 --- a/tests/cases/fourslash/completionListForGenericInstance1.ts +++ b/tests/cases/fourslash/completionListForGenericInstance1.ts @@ -7,4 +7,4 @@ ////i/**/ goTo.marker(); -verify.completionListContains('i', '(var) i: Iterator'); \ No newline at end of file +verify.completionListContains('i', 'var i: Iterator'); diff --git a/tests/cases/fourslash/completionListInNamedFunctionExpression.ts b/tests/cases/fourslash/completionListInNamedFunctionExpression.ts index 6321018f5b580..dc48db75b4ba5 100644 --- a/tests/cases/fourslash/completionListInNamedFunctionExpression.ts +++ b/tests/cases/fourslash/completionListInNamedFunctionExpression.ts @@ -27,4 +27,4 @@ goTo.marker("referenceInsideFunctionExpression"); verify.quickInfoIs("(local function) foo(): number"); goTo.marker("referenceInGlobalScope"); -verify.quickInfoIs("(function) foo(a: number): string"); \ No newline at end of file +verify.quickInfoIs("function foo(a: number): string"); diff --git a/tests/cases/fourslash/completionListOnPrivateVariableInModule.ts b/tests/cases/fourslash/completionListOnPrivateVariableInModule.ts index eecb5724d1061..b22113b856f13 100644 --- a/tests/cases/fourslash/completionListOnPrivateVariableInModule.ts +++ b/tests/cases/fourslash/completionListOnPrivateVariableInModule.ts @@ -3,4 +3,4 @@ //// module Foo { var testing = ""; test/**/ } goTo.marker(); -verify.completionListContains('testing', '(var) testing: string'); \ No newline at end of file +verify.completionListContains('testing', 'var testing: string'); diff --git a/tests/cases/fourslash/completionListWithModulesFromModule.ts b/tests/cases/fourslash/completionListWithModulesFromModule.ts index 96610b203a10f..3db8cc0490cc7 100644 --- a/tests/cases/fourslash/completionListWithModulesFromModule.ts +++ b/tests/cases/fourslash/completionListWithModulesFromModule.ts @@ -278,16 +278,16 @@ function goToMarkAndVerifyShadow() // from a shadow module with no export goTo.marker('shadowModuleWithNoExport'); -verify.completionListContains('shwvar', '(var) shwvar: string'); -verify.completionListContains('shwfn', '(function) shwfn(shadow: any): void'); +verify.completionListContains('shwvar', 'var shwvar: string'); +verify.completionListContains('shwfn', 'function shwfn(shadow: any): void'); verify.completionListContains('shwcls', 'class shwcls'); verify.completionListContains('shwint', 'interface shwint'); goToMarkAndVerifyShadow(); // from a shadow module with export goTo.marker('shadowModuleWithExport'); -verify.completionListContains('shwvar', '(var) mod4.shwvar: string'); -verify.completionListContains('shwfn', '(function) mod4.shwfn(shadow: any): void'); +verify.completionListContains('shwvar', 'var mod4.shwvar: string'); +verify.completionListContains('shwfn', 'function mod4.shwfn(shadow: any): void'); verify.completionListContains('shwcls', 'class mod4.shwcls'); verify.completionListContains('shwint', 'interface mod4.shwint'); goToMarkAndVerifyShadow(); @@ -297,8 +297,8 @@ goTo.marker('moduleWithImport'); verify.completionListContains('mod1', 'module mod1'); verify.completionListContains('mod2', 'module mod2'); verify.completionListContains('mod3', 'module mod3'); -verify.completionListContains('shwvar', '(var) shwvar: number'); -verify.completionListContains('shwfn', '(function) shwfn(): void'); +verify.completionListContains('shwvar', 'var shwvar: number'); +verify.completionListContains('shwfn', 'function shwfn(): void'); verify.completionListContains('shwcls', 'class shwcls'); verify.completionListContains('shwint', 'interface shwint'); diff --git a/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts b/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts index 49180cb95d526..f7fdea277c777 100644 --- a/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts +++ b/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts @@ -229,21 +229,21 @@ function goToMarkAndGeneralVerify(marker: string) { goTo.marker(marker); - verify.completionListContains('mod1var', '(var) mod1var: number'); - verify.completionListContains('mod1fn', '(function) mod1fn(): void'); + verify.completionListContains('mod1var', 'var mod1var: number'); + verify.completionListContains('mod1fn', 'function mod1fn(): void'); verify.completionListContains('mod1cls', 'class mod1cls'); verify.completionListContains('mod1int', 'interface mod1int'); verify.completionListContains('mod1mod', 'module mod1mod'); - verify.completionListContains('mod1evar', '(var) mod1.mod1evar: number'); - verify.completionListContains('mod1efn', '(function) mod1.mod1efn(): void'); + verify.completionListContains('mod1evar', 'var mod1.mod1evar: number'); + verify.completionListContains('mod1efn', 'function mod1.mod1efn(): void'); verify.completionListContains('mod1ecls', 'class mod1.mod1ecls'); verify.completionListContains('mod1eint', 'interface mod1.mod1eint'); verify.completionListContains('mod1emod', 'module mod1.mod1emod'); - verify.completionListContains('mod1eexvar', '(var) mod1.mod1eexvar: number'); + verify.completionListContains('mod1eexvar', 'var mod1.mod1eexvar: number'); verify.completionListContains('mod2', 'module mod2'); verify.completionListContains('mod3', 'module mod3'); - verify.completionListContains('shwvar', '(var) shwvar: number'); - verify.completionListContains('shwfn', '(function) shwfn(): void'); + verify.completionListContains('shwvar', 'var shwvar: number'); + verify.completionListContains('shwfn', 'function shwfn(): void'); verify.completionListContains('shwcls', 'class shwcls'); verify.completionListContains('shwint', 'interface shwint'); @@ -289,13 +289,13 @@ goToMarkAndGeneralVerify('interface'); // from module in mod1 goToMarkAndGeneralVerify('module'); -verify.completionListContains('m1X', '(var) m1X: number'); -verify.completionListContains('m1Func', '(function) m1Func(): void'); +verify.completionListContains('m1X', 'var m1X: number'); +verify.completionListContains('m1Func', 'function m1Func(): void'); verify.completionListContains('m1Class', 'class m1Class'); verify.completionListContains('m1Int', 'interface m1Int'); verify.completionListContains('m1Mod', 'module m1Mod'); -verify.completionListContains('m1eX', '(var) mod1mod.m1eX: number'); -verify.completionListContains('m1eFunc', '(function) mod1mod.m1eFunc(): void'); +verify.completionListContains('m1eX', 'var mod1mod.m1eX: number'); +verify.completionListContains('m1eFunc', 'function mod1mod.m1eFunc(): void'); verify.completionListContains('m1eClass', 'class mod1mod.m1eClass'); verify.completionListContains('m1eInt', 'interface mod1mod.m1eInt'); verify.completionListContains('m1eMod', 'module mod1mod.m1eMod'); @@ -315,29 +315,29 @@ goToMarkAndGeneralVerify('exportedInterface'); // from exported module in mod1 goToMarkAndGeneralVerify('exportedModule'); -verify.completionListContains('mX', '(var) mX: number'); -verify.completionListContains('mFunc', '(function) mFunc(): void'); +verify.completionListContains('mX', 'var mX: number'); +verify.completionListContains('mFunc', 'function mFunc(): void'); verify.completionListContains('mClass', 'class mClass'); verify.completionListContains('mInt', 'interface mInt'); verify.completionListContains('mMod', 'module mMod'); -verify.completionListContains('meX', '(var) mod1.mod1emod.meX: number'); -verify.completionListContains('meFunc', '(function) mod1.mod1emod.meFunc(): void'); +verify.completionListContains('meX', 'var mod1.mod1emod.meX: number'); +verify.completionListContains('meFunc', 'function mod1.mod1emod.meFunc(): void'); verify.completionListContains('meClass', 'class mod1.mod1emod.meClass'); verify.completionListContains('meInt', 'interface mod1.mod1emod.meInt'); verify.completionListContains('meMod', 'module mod1.mod1emod.meMod'); // from extended module goTo.marker('extendedModule'); -verify.completionListContains('mod1evar', '(var) mod1.mod1evar: number'); -verify.completionListContains('mod1efn', '(function) mod1.mod1efn(): void'); +verify.completionListContains('mod1evar', 'var mod1.mod1evar: number'); +verify.completionListContains('mod1efn', 'function mod1.mod1efn(): void'); verify.completionListContains('mod1ecls', 'class mod1.mod1ecls'); verify.completionListContains('mod1eint', 'interface mod1.mod1eint'); verify.completionListContains('mod1emod', 'module mod1.mod1emod'); -verify.completionListContains('mod1eexvar', '(var) mod1.mod1eexvar: number'); +verify.completionListContains('mod1eexvar', 'var mod1.mod1eexvar: number'); verify.completionListContains('mod2', 'module mod2'); verify.completionListContains('mod3', 'module mod3'); -verify.completionListContains('shwvar', '(var) shwvar: number'); -verify.completionListContains('shwfn', '(function) shwfn(): void'); +verify.completionListContains('shwvar', 'var shwvar: number'); +verify.completionListContains('shwfn', 'function shwfn(): void'); verify.completionListContains('shwcls', 'class shwcls'); verify.completionListContains('shwint', 'interface shwint'); diff --git a/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts b/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts index b228b244feea8..03ba952fde7da 100644 --- a/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts +++ b/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts @@ -263,8 +263,8 @@ goToMarkAndGeneralVerify('global'); verify.completionListContains('mod1', 'module mod1'); verify.completionListContains('mod2', 'module mod2'); verify.completionListContains('mod3', 'module mod3'); -verify.completionListContains('shwvar', '(var) shwvar: number'); -verify.completionListContains('shwfn', '(function) shwfn(): void'); +verify.completionListContains('shwvar', 'var shwvar: number'); +verify.completionListContains('shwfn', 'function shwfn(): void'); verify.completionListContains('shwcls', 'class shwcls'); verify.completionListContains('shwint', 'interface shwint'); diff --git a/tests/cases/fourslash/completionListWithModulesOutsideModuleScope2.ts b/tests/cases/fourslash/completionListWithModulesOutsideModuleScope2.ts index aed914657ae1c..865887661e94b 100644 --- a/tests/cases/fourslash/completionListWithModulesOutsideModuleScope2.ts +++ b/tests/cases/fourslash/completionListWithModulesOutsideModuleScope2.ts @@ -238,8 +238,8 @@ function goToMarkerAndVerify(marker: string) verify.completionListContains('mod1'); verify.completionListContains('mod2'); verify.completionListContains('mod3'); - verify.completionListContains('shwvar', '(var) shwvar: number'); - verify.completionListContains('shwfn', '(function) shwfn(): void'); + verify.completionListContains('shwvar', 'var shwvar: number'); + verify.completionListContains('shwfn', 'function shwfn(): void'); verify.completionListContains('shwcls', 'class shwcls'); verify.completionListContains('shwint', 'interface shwint'); diff --git a/tests/cases/fourslash/constQuickInfoAndCompletionList.ts b/tests/cases/fourslash/constQuickInfoAndCompletionList.ts index 59a793df40bf0..c2505835dcecd 100644 --- a/tests/cases/fourslash/constQuickInfoAndCompletionList.ts +++ b/tests/cases/fourslash/constQuickInfoAndCompletionList.ts @@ -10,28 +10,28 @@ //// /*7*/ ////} goTo.marker('1'); -verify.quickInfoIs("(const) a: number"); +verify.quickInfoIs("const a: number"); goTo.marker('2'); -verify.completionListContains("a", "(const) a: number"); -verify.quickInfoIs("(const) a: number"); +verify.completionListContains("a", "const a: number"); +verify.quickInfoIs("const a: number"); goTo.marker('3'); -verify.completionListContains("a", "(const) a: number"); +verify.completionListContains("a", "const a: number"); goTo.marker('4'); -verify.quickInfoIs("(const) b: number"); +verify.quickInfoIs("const b: number"); goTo.marker('5'); -verify.completionListContains("a", "(const) a: number"); -verify.completionListContains("b", "(const) b: number"); -verify.quickInfoIs("(const) b: number"); +verify.completionListContains("a", "const a: number"); +verify.completionListContains("b", "const b: number"); +verify.quickInfoIs("const b: number"); goTo.marker('6'); -verify.completionListContains("a", "(const) a: number"); -verify.completionListContains("b", "(const) b: number"); -verify.quickInfoIs("(const) a: number"); +verify.completionListContains("a", "const a: number"); +verify.completionListContains("b", "const b: number"); +verify.quickInfoIs("const a: number"); goTo.marker('7'); -verify.completionListContains("a", "(const) a: number"); -verify.completionListContains("b", "(const) b: number"); \ No newline at end of file +verify.completionListContains("a", "const a: number"); +verify.completionListContains("b", "const b: number"); diff --git a/tests/cases/fourslash/constructorQuickInfo.ts b/tests/cases/fourslash/constructorQuickInfo.ts index 6c9fc7cf7958c..ef201f6709670 100644 --- a/tests/cases/fourslash/constructorQuickInfo.ts +++ b/tests/cases/fourslash/constructorQuickInfo.ts @@ -7,10 +7,10 @@ ////var x/*3*/3 = new SS; goTo.marker('1'); -verify.quickInfoIs('(var) x1: SS'); +verify.quickInfoIs('var x1: SS'); goTo.marker('2'); -verify.quickInfoIs('(var) x2: SS<{}>'); +verify.quickInfoIs('var x2: SS<{}>'); goTo.marker('3'); -verify.quickInfoIs('(var) x3: SS<{}>'); \ No newline at end of file +verify.quickInfoIs('var x3: SS<{}>'); diff --git a/tests/cases/fourslash/contextualTyping.ts b/tests/cases/fourslash/contextualTyping.ts index c363302f7a181..6861ca84915bd 100644 --- a/tests/cases/fourslash/contextualTyping.ts +++ b/tests/cases/fourslash/contextualTyping.ts @@ -204,55 +204,55 @@ verify.quickInfoIs("(parameter) i: number"); goTo.marker('3'); verify.quickInfoIs("(parameter) i: number"); goTo.marker('4'); -verify.quickInfoIs("(var) C2T5.foo: (i: number, s: string) => number"); +verify.quickInfoIs("var C2T5.foo: (i: number, s: string) => number"); goTo.marker('5'); verify.quickInfoIs("(parameter) i: number"); goTo.marker('6'); verify.quickInfoIs("(parameter) i: number"); goTo.marker('7'); -verify.quickInfoIs("(var) c3t1: (s: string) => string"); +verify.quickInfoIs("var c3t1: (s: string) => string"); goTo.marker('8'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('9'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('10'); -verify.quickInfoIs("(var) c3t2: IFoo"); +verify.quickInfoIs("var c3t2: IFoo"); goTo.marker('11'); -verify.quickInfoIs("(var) c3t3: number[]"); +verify.quickInfoIs("var c3t3: number[]"); goTo.marker('12'); -verify.quickInfoIs("(var) c3t4: () => IFoo"); +verify.quickInfoIs("var c3t4: () => IFoo"); goTo.marker('13'); -verify.quickInfoIs("(var) c3t5: (n: number) => IFoo"); +verify.quickInfoIs("var c3t5: (n: number) => IFoo"); goTo.marker('14'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('15'); -verify.quickInfoIs("(var) c3t6: (n: number, s: string) => IFoo"); +verify.quickInfoIs("var c3t6: (n: number, s: string) => IFoo"); goTo.marker('16'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('17'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('18'); -verify.quickInfoIs("(var) c3t7: {\n (n: number): number;\n (s1: string): number;\n}"); +verify.quickInfoIs("var c3t7: {\n (n: number): number;\n (s1: string): number;\n}"); goTo.marker('20'); -verify.quickInfoIs("(var) c3t8: (n: number, s: string) => number"); +verify.quickInfoIs("var c3t8: (n: number, s: string) => number"); goTo.marker('21'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('22'); -verify.quickInfoIs("(var) c3t9: number[][]"); +verify.quickInfoIs("var c3t9: number[][]"); goTo.marker('23'); -verify.quickInfoIs("(var) c3t10: IFoo[]"); +verify.quickInfoIs("var c3t10: IFoo[]"); goTo.marker('24'); -verify.quickInfoIs("(var) c3t11: ((n: number, s: string) => string)[]"); +verify.quickInfoIs("var c3t11: ((n: number, s: string) => string)[]"); goTo.marker('25'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('26'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('27'); -verify.quickInfoIs("(var) c3t12: IBar"); +verify.quickInfoIs("var c3t12: IBar"); goTo.marker('28'); verify.quickInfoIs("(property) foo: IFoo"); goTo.marker('29'); -verify.quickInfoIs("(var) c3t13: IFoo"); +verify.quickInfoIs("var c3t13: IFoo"); goTo.marker('30'); verify.quickInfoIs("(property) f: (i: number, s: string) => string"); goTo.marker('31'); @@ -260,7 +260,7 @@ verify.quickInfoIs("(parameter) i: number"); goTo.marker('32'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('33'); -verify.quickInfoIs("(var) c3t14: IFoo"); +verify.quickInfoIs("var c3t14: IFoo"); goTo.marker('34'); verify.quickInfoIs("(property) a: undefined[]"); goTo.marker('35'); @@ -270,19 +270,19 @@ verify.quickInfoIs("(parameter) i: number"); goTo.marker('37'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('38'); -verify.quickInfoIs("(var) C5T5.foo: (i: number, s: string) => string"); +verify.quickInfoIs("var C5T5.foo: (i: number, s: string) => string"); goTo.marker('39'); verify.quickInfoIs("(parameter) i: number"); goTo.marker('40'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('41'); -verify.quickInfoIs("(var) c6t5: (n: number) => IFoo"); +verify.quickInfoIs("var c6t5: (n: number) => IFoo"); goTo.marker('42'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('43'); -verify.quickInfoIs("(var) c7t2: IFoo[]"); +verify.quickInfoIs("var c7t2: IFoo[]"); goTo.marker('44'); -verify.quickInfoIs("(var) c7t2: IFoo[]"); +verify.quickInfoIs("var c7t2: IFoo[]"); goTo.marker('45'); verify.quickInfoIs("(property) t1: (s: string) => string"); goTo.marker('46'); @@ -338,53 +338,53 @@ verify.quickInfoIs("(property) a: undefined[]"); goTo.marker('71'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('72'); -verify.quickInfoIs("(var) c10t5: () => (n: number) => IFoo"); +verify.quickInfoIs("var c10t5: () => (n: number) => IFoo"); goTo.marker('73'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('74'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('75'); -verify.quickInfoIs("(var) c12t1: (s: string) => string"); +verify.quickInfoIs("var c12t1: (s: string) => string"); goTo.marker('76'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('77'); -verify.quickInfoIs("(var) c12t2: IFoo"); +verify.quickInfoIs("var c12t2: IFoo"); goTo.marker('78'); -verify.quickInfoIs("(var) c12t3: number[]"); +verify.quickInfoIs("var c12t3: number[]"); goTo.marker('79'); -verify.quickInfoIs("(var) c12t4: () => IFoo"); +verify.quickInfoIs("var c12t4: () => IFoo"); goTo.marker('80'); -verify.quickInfoIs("(var) c12t5: (n: number) => IFoo"); +verify.quickInfoIs("var c12t5: (n: number) => IFoo"); goTo.marker('81'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('82'); -verify.quickInfoIs("(var) c12t6: (n: number, s: string) => IFoo"); +verify.quickInfoIs("var c12t6: (n: number, s: string) => IFoo"); goTo.marker('83'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('84'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('85'); -verify.quickInfoIs("(var) c12t7: (n: number, s: string) => number"); +verify.quickInfoIs("var c12t7: (n: number, s: string) => number"); goTo.marker('86'); -verify.quickInfoIs("(var) c12t8: (n: number, s: string) => number"); +verify.quickInfoIs("var c12t8: (n: number, s: string) => number"); goTo.marker('87'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('88'); -verify.quickInfoIs("(var) c12t9: number[][]"); +verify.quickInfoIs("var c12t9: number[][]"); goTo.marker('89'); -verify.quickInfoIs("(var) c12t10: IFoo[]"); +verify.quickInfoIs("var c12t10: IFoo[]"); goTo.marker('90'); -verify.quickInfoIs("(var) c12t11: ((n: number, s: string) => string)[]"); +verify.quickInfoIs("var c12t11: ((n: number, s: string) => string)[]"); goTo.marker('91'); verify.quickInfoIs("(parameter) n: number"); goTo.marker('92'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('93'); -verify.quickInfoIs("(var) c12t12: IBar"); +verify.quickInfoIs("var c12t12: IBar"); goTo.marker('94'); verify.quickInfoIs("(property) foo: IFoo"); goTo.marker('95'); -verify.quickInfoIs("(var) c12t13: IFoo"); +verify.quickInfoIs("var c12t13: IFoo"); goTo.marker('96'); verify.quickInfoIs("(property) f: (i: number, s: string) => string"); goTo.marker('97'); @@ -392,11 +392,11 @@ verify.quickInfoIs("(parameter) i: number"); goTo.marker('98'); verify.quickInfoIs("(parameter) s: string"); goTo.marker('99'); -verify.quickInfoIs("(var) c12t14: IFoo"); +verify.quickInfoIs("var c12t14: IFoo"); goTo.marker('100'); verify.quickInfoIs("(property) a: undefined[]"); goTo.marker('101'); -verify.quickInfoIs("(function) EF1(a: number, b: number): number"); +verify.quickInfoIs("function EF1(a: number, b: number): number"); goTo.marker('102'); verify.quickInfoIs("(parameter) a: any"); goTo.marker('103'); @@ -404,7 +404,7 @@ verify.quickInfoIs("(parameter) b: any"); goTo.marker('110'); verify.quickInfoIs("(property) Point.origin: Point"); goTo.marker('111'); -verify.quickInfoIs("(constructor) Point(x: number, y: number): Point"); +verify.quickInfoIs("constructor Point(x: number, y: number): Point"); goTo.marker('112'); verify.quickInfoIs("(method) Point.add(dx: number, dy: number): Point"); goTo.marker('113'); diff --git a/tests/cases/fourslash/contextualTypingOfArrayLiterals1.ts b/tests/cases/fourslash/contextualTypingOfArrayLiterals1.ts index 128f801300b50..6b36bdde23bcb 100644 --- a/tests/cases/fourslash/contextualTypingOfArrayLiterals1.ts +++ b/tests/cases/fourslash/contextualTypingOfArrayLiterals1.ts @@ -31,19 +31,19 @@ verify.not.errorExistsBetweenMarkers('1', '6'); goTo.marker('1'); -verify.quickInfoIs('(var) x: any[]'); +verify.quickInfoIs('var x: any[]'); goTo.marker('2'); -verify.quickInfoIs('(var) r: C'); +verify.quickInfoIs('var r: C'); goTo.marker('3'); -verify.quickInfoIs('(var) r3: C'); +verify.quickInfoIs('var r3: C'); goTo.marker('4'); -verify.quickInfoIs('(var) r4: C'); +verify.quickInfoIs('var r4: C'); goTo.marker('5'); -verify.quickInfoIs('(var) x5: C[]'); +verify.quickInfoIs('var x5: C[]'); goTo.marker('6'); -verify.quickInfoIs('(var) r5: C'); \ No newline at end of file +verify.quickInfoIs('var r5: C'); diff --git a/tests/cases/fourslash/derivedTypeIndexerWithGenericConstraints.ts b/tests/cases/fourslash/derivedTypeIndexerWithGenericConstraints.ts index 5a62cac01fea3..9859cc9f89553 100644 --- a/tests/cases/fourslash/derivedTypeIndexerWithGenericConstraints.ts +++ b/tests/cases/fourslash/derivedTypeIndexerWithGenericConstraints.ts @@ -25,5 +25,5 @@ ////var result2 = r2.x; goTo.marker(''); -verify.quickInfoIs('(var) r: CollectionItem'); +verify.quickInfoIs('var r: CollectionItem'); verify.numberOfErrorsInCurrentFile(0); \ No newline at end of file diff --git a/tests/cases/fourslash/duplicateIndexers.ts b/tests/cases/fourslash/duplicateIndexers.ts index 9c25994c3479f..f1fdad697d8f0 100644 --- a/tests/cases/fourslash/duplicateIndexers.ts +++ b/tests/cases/fourslash/duplicateIndexers.ts @@ -9,4 +9,4 @@ ////var /**/r = i[1]; goTo.marker(); -verify.quickInfoIs('(var) r: string'); \ No newline at end of file +verify.quickInfoIs('var r: string'); diff --git a/tests/cases/fourslash/emptyArrayInference.ts b/tests/cases/fourslash/emptyArrayInference.ts index 71f80653420a7..dd9bf1df0c20b 100644 --- a/tests/cases/fourslash/emptyArrayInference.ts +++ b/tests/cases/fourslash/emptyArrayInference.ts @@ -4,7 +4,7 @@ ////var y/*2*/y = true ? [1] : []; goTo.marker('1'); -verify.quickInfoIs('(var) xx: number[]'); +verify.quickInfoIs('var xx: number[]'); goTo.marker('2'); -verify.quickInfoIs('(var) yy: number[]'); +verify.quickInfoIs('var yy: number[]'); diff --git a/tests/cases/fourslash/enumAddition.ts b/tests/cases/fourslash/enumAddition.ts index a2f2efd38d690..65f7db0312d1a 100644 --- a/tests/cases/fourslash/enumAddition.ts +++ b/tests/cases/fourslash/enumAddition.ts @@ -5,4 +5,4 @@ goTo.marker(); verify.quickInfoExists(); -verify.quickInfoIs('(var) t: number'); +verify.quickInfoIs('var t: number'); diff --git a/tests/cases/fourslash/errorsAfterResolvingVariableDeclOfMergedVariableAndClassDecl.ts b/tests/cases/fourslash/errorsAfterResolvingVariableDeclOfMergedVariableAndClassDecl.ts index 58cddff3dfb9d..b98eec4eaf4cf 100644 --- a/tests/cases/fourslash/errorsAfterResolvingVariableDeclOfMergedVariableAndClassDecl.ts +++ b/tests/cases/fourslash/errorsAfterResolvingVariableDeclOfMergedVariableAndClassDecl.ts @@ -16,7 +16,7 @@ verify.numberOfErrorsInCurrentFile(0); goTo.marker("1"); edit.backspace(1); edit.insert(" "); -verify.quickInfoIs("(var) M.C.C: typeof M.C"); +verify.quickInfoIs("var M.C.C: typeof M.C"); // Verify there are no errors verify.numberOfErrorsInCurrentFile(0); diff --git a/tests/cases/fourslash/exportEqualTypes.ts b/tests/cases/fourslash/exportEqualTypes.ts index 8cfe931d87bb5..3fa3b71fef60c 100644 --- a/tests/cases/fourslash/exportEqualTypes.ts +++ b/tests/cases/fourslash/exportEqualTypes.ts @@ -17,9 +17,9 @@ goTo.marker('1'); verify.quickInfoIs("import test = require('exportEqualTypes_file0')"); goTo.marker('2'); -verify.quickInfoIs('(var) r1: Date'); +verify.quickInfoIs('var r1: Date'); goTo.marker('3'); -verify.quickInfoIs('(var) r2: string'); +verify.quickInfoIs('var r2: string'); goTo.marker('4'); verify.memberListContains('foo'); verify.numberOfErrorsInCurrentFile(0); diff --git a/tests/cases/fourslash/extendArray.ts b/tests/cases/fourslash/extendArray.ts index 7c7c15475e4ba..c5c73c16d2129 100644 --- a/tests/cases/fourslash/extendArray.ts +++ b/tests/cases/fourslash/extendArray.ts @@ -9,7 +9,7 @@ ////var /*2*/r2 = x2[0]; goTo.marker('1'); -verify.quickInfoIs('(var) r: string'); +verify.quickInfoIs('var r: string'); goTo.marker('2'); -verify.quickInfoIs('(var) r2: string'); \ No newline at end of file +verify.quickInfoIs('var r2: string'); diff --git a/tests/cases/fourslash/extendArrayInterfaceMember.ts b/tests/cases/fourslash/extendArrayInterfaceMember.ts index 6795dfd51441c..5c62aed98dc61 100644 --- a/tests/cases/fourslash/extendArrayInterfaceMember.ts +++ b/tests/cases/fourslash/extendArrayInterfaceMember.ts @@ -11,12 +11,12 @@ verify.numberOfErrorsInCurrentFile(1); // - Could not select overload for 'call' expression. goTo.marker("y"); -verify.quickInfoIs("(var) y: any"); +verify.quickInfoIs("var y: any"); goTo.eof(); edit.insert("interface Array { pop(def: T): T; }"); verify.not.errorExistsBetweenMarkers("1", "2"); goTo.marker("y"); -verify.quickInfoIs("(var) y: number"); +verify.quickInfoIs("var y: number"); verify.numberOfErrorsInCurrentFile(0); diff --git a/tests/cases/fourslash/extendInterfaceOverloadedMethod.ts b/tests/cases/fourslash/extendInterfaceOverloadedMethod.ts index 5cd1d8d94a526..43a476303f604 100644 --- a/tests/cases/fourslash/extendInterfaceOverloadedMethod.ts +++ b/tests/cases/fourslash/extendInterfaceOverloadedMethod.ts @@ -15,5 +15,5 @@ edit.insert(''); goTo.marker(); -verify.quickInfoIs('(var) x: void'); +verify.quickInfoIs('var x: void'); verify.numberOfErrorsInCurrentFile(0); diff --git a/tests/cases/fourslash/extendsTArray.ts b/tests/cases/fourslash/extendsTArray.ts index 5bf798358fd74..f104c7a02c675 100644 --- a/tests/cases/fourslash/extendsTArray.ts +++ b/tests/cases/fourslash/extendsTArray.ts @@ -11,5 +11,5 @@ ////y.length; goTo.marker(); -verify.quickInfoIs('(var) y: Date[]'); +verify.quickInfoIs('var y: Date[]'); verify.numberOfErrorsInCurrentFile(0); diff --git a/tests/cases/fourslash/externalModuleWithExportAssignment.ts b/tests/cases/fourslash/externalModuleWithExportAssignment.ts index 4d5f600317d0d..09798ec5492d3 100644 --- a/tests/cases/fourslash/externalModuleWithExportAssignment.ts +++ b/tests/cases/fourslash/externalModuleWithExportAssignment.ts @@ -33,7 +33,7 @@ goTo.marker('1'); verify.quickInfoIs('import a1 = require("externalModuleWithExportAssignment_file0")'); goTo.marker('2'); -verify.quickInfoIs("(var) a: {\n (): a1.connectExport;\n test1: a1.connectModule;\n test2(): a1.connectModule;\n}", undefined); +verify.quickInfoIs("var a: {\n (): a1.connectExport;\n test1: a1.connectModule;\n test2(): a1.connectModule;\n}", undefined); goTo.marker('3'); verify.quickInfoIs("(property) test1: a1.connectModule(res: any, req: any, next: any) => void", undefined); @@ -49,13 +49,13 @@ goTo.marker('5'); verify.currentSignatureHelpIs("test2(): a1.connectModule"); goTo.marker('6'); -verify.quickInfoIs("(var) r1: a1.connectModule", undefined); +verify.quickInfoIs("var r1: a1.connectModule", undefined); goTo.marker('7'); verify.currentSignatureHelpIs("a(): a1.connectExport"); goTo.marker('8'); -verify.quickInfoIs("(var) r2: a1.connectExport", undefined); +verify.quickInfoIs("var r2: a1.connectExport", undefined); goTo.marker('9'); verify.quickInfoIs("(property) test1: a1.connectModule(res: any, req: any, next: any) => void", undefined); @@ -71,13 +71,13 @@ goTo.marker('11'); verify.currentSignatureHelpIs("test2(): a1.connectModule"); goTo.marker('12'); -verify.quickInfoIs("(var) r3: a1.connectModule", undefined); +verify.quickInfoIs("var r3: a1.connectModule", undefined); goTo.marker('13'); verify.currentSignatureHelpIs("a1(): a1.connectExport"); goTo.marker('14'); -verify.quickInfoIs("(var) r4: a1.connectExport", undefined); +verify.quickInfoIs("var r4: a1.connectExport", undefined); goTo.marker('15'); verify.not.completionListContains("test1", "(property) test1: a1.connectModule", undefined); diff --git a/tests/cases/fourslash/forIn.ts b/tests/cases/fourslash/forIn.ts index 87eb1ea356b1f..e24e161d96b8c 100644 --- a/tests/cases/fourslash/forIn.ts +++ b/tests/cases/fourslash/forIn.ts @@ -5,4 +5,4 @@ goTo.marker(); -verify.quickInfoIs('(var) p: any', ""); \ No newline at end of file +verify.quickInfoIs('var p: any', ""); diff --git a/tests/cases/fourslash/funduleWithRecursiveReference.ts b/tests/cases/fourslash/funduleWithRecursiveReference.ts index c3aaf36317dc7..c93d2cc0e1ae7 100644 --- a/tests/cases/fourslash/funduleWithRecursiveReference.ts +++ b/tests/cases/fourslash/funduleWithRecursiveReference.ts @@ -11,5 +11,5 @@ edit.insert(''); goTo.marker(); -verify.quickInfoIs('(var) M.C.C: typeof M.C'); +verify.quickInfoIs('var M.C.C: typeof M.C'); verify.numberOfErrorsInCurrentFile(0); \ No newline at end of file diff --git a/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes1.ts b/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes1.ts index c3e3fccbc767a..d7d9daf1f4334 100644 --- a/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes1.ts +++ b/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes1.ts @@ -16,4 +16,4 @@ ////var /**/b = _(a); goTo.marker(); -verify.quickInfoIs('(var) b: WrappedArray'); +verify.quickInfoIs('var b: WrappedArray'); diff --git a/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes2.ts b/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes2.ts index 7f3d1c4a654c8..0b0ff19920d38 100644 --- a/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes2.ts +++ b/tests/cases/fourslash/genericCallSignaturesInNonGenericTypes2.ts @@ -13,4 +13,4 @@ ////var /**/b = _(a); // WrappedArray, should be WrappedArray goTo.marker(); -verify.quickInfoIs('(var) b: WrappedArray'); \ No newline at end of file +verify.quickInfoIs('var b: WrappedArray'); diff --git a/tests/cases/fourslash/genericCallsWithOptionalParams1.ts b/tests/cases/fourslash/genericCallsWithOptionalParams1.ts index 1f5ec1562c5a2..c5915b9aa0f11 100644 --- a/tests/cases/fourslash/genericCallsWithOptionalParams1.ts +++ b/tests/cases/fourslash/genericCallsWithOptionalParams1.ts @@ -13,7 +13,7 @@ ////var /*2*/r2 = utils.fold(c, (s, t) => t); goTo.marker('1'); -verify.quickInfoIs('(var) r: string'); +verify.quickInfoIs('var r: string'); goTo.marker('2'); -verify.quickInfoIs('(var) r2: string'); \ No newline at end of file +verify.quickInfoIs('var r2: string'); diff --git a/tests/cases/fourslash/genericCombinators1.ts b/tests/cases/fourslash/genericCombinators1.ts index 8d10869fa4183..40f524c9dbab4 100644 --- a/tests/cases/fourslash/genericCombinators1.ts +++ b/tests/cases/fourslash/genericCombinators1.ts @@ -64,38 +64,38 @@ verify.quickInfoIs('(parameter) x: B'); goTo.marker('5'); verify.quickInfoIs('(parameter) x: number'); goTo.marker('6'); -verify.quickInfoIs('(var) c3: Collection>'); +verify.quickInfoIs('var c3: Collection>'); goTo.marker('7'); verify.quickInfoIs('(parameter) x: A'); goTo.marker('8'); verify.quickInfoIs('(parameter) x: any'); // Specialized to any because no type argument was specified goTo.marker('9'); -verify.quickInfoIs('(var) r1a: Collection'); +verify.quickInfoIs('var r1a: Collection'); goTo.marker('10'); -verify.quickInfoIs('(var) r1b: Collection'); +verify.quickInfoIs('var r1b: Collection'); goTo.marker('11'); -verify.quickInfoIs('(var) r2a: Collection'); +verify.quickInfoIs('var r2a: Collection'); goTo.marker('12'); -verify.quickInfoIs('(var) r2b: Collection'); +verify.quickInfoIs('var r2b: Collection'); goTo.marker('13'); -verify.quickInfoIs('(var) r3a: Collection'); +verify.quickInfoIs('var r3a: Collection'); goTo.marker('14'); -verify.quickInfoIs('(var) r3b: Collection'); +verify.quickInfoIs('var r3b: Collection'); goTo.marker('15'); -verify.quickInfoIs('(var) r4a: Collection'); +verify.quickInfoIs('var r4a: Collection'); goTo.marker('17'); -verify.quickInfoIs('(var) r5a: Collection'); +verify.quickInfoIs('var r5a: Collection'); goTo.marker('18'); -verify.quickInfoIs('(var) r5b: Collection'); +verify.quickInfoIs('var r5b: Collection'); goTo.marker('19'); -verify.quickInfoIs('(var) r6a: Collection'); +verify.quickInfoIs('var r6a: Collection'); goTo.marker('20'); -verify.quickInfoIs('(var) r6b: Collection'); +verify.quickInfoIs('var r6b: Collection'); goTo.marker('21'); -verify.quickInfoIs('(var) r7a: Collection'); +verify.quickInfoIs('var r7a: Collection'); goTo.marker('22'); -verify.quickInfoIs('(var) r7b: Collection'); +verify.quickInfoIs('var r7b: Collection'); goTo.marker('23'); -verify.quickInfoIs('(var) r8a: Collection'); +verify.quickInfoIs('var r8a: Collection'); verify.errorExistsBetweenMarkers('error1', 'error2'); \ No newline at end of file diff --git a/tests/cases/fourslash/genericCombinators2.ts b/tests/cases/fourslash/genericCombinators2.ts index 73adb487e2d64..4d38ffd079683 100644 --- a/tests/cases/fourslash/genericCombinators2.ts +++ b/tests/cases/fourslash/genericCombinators2.ts @@ -95,40 +95,40 @@ goTo.marker('8b'); verify.quickInfoIs('(parameter) y: any'); // Specialized to any because no type argument was specified goTo.marker('9'); -verify.quickInfoIs('(var) r1a: Collection'); +verify.quickInfoIs('var r1a: Collection'); goTo.marker('10'); -verify.quickInfoIs('(var) r1b: Collection'); +verify.quickInfoIs('var r1b: Collection'); goTo.marker('11'); -verify.quickInfoIs('(var) r2a: Collection, number>'); +verify.quickInfoIs('var r2a: Collection, number>'); goTo.marker('12'); -verify.quickInfoIs('(var) r2b: Collection, number>'); +verify.quickInfoIs('var r2b: Collection, number>'); goTo.marker('13'); -verify.quickInfoIs('(var) r3a: Collection'); +verify.quickInfoIs('var r3a: Collection'); goTo.marker('14'); -verify.quickInfoIs('(var) r3b: Collection'); +verify.quickInfoIs('var r3b: Collection'); goTo.marker('15'); -verify.quickInfoIs('(var) r4a: Collection'); +verify.quickInfoIs('var r4a: Collection'); goTo.marker('17'); -verify.quickInfoIs('(var) r5a: Collection'); // This is actually due to an error because toFixed does not return a Date +verify.quickInfoIs('var r5a: Collection'); // This is actually due to an error because toFixed does not return a Date goTo.marker('18'); -verify.quickInfoIs('(var) r5b: Collection'); +verify.quickInfoIs('var r5b: Collection'); goTo.marker('19'); -verify.quickInfoIs('(var) r6a: Collection, Date>'); +verify.quickInfoIs('var r6a: Collection, Date>'); goTo.marker('20'); -verify.quickInfoIs('(var) r6b: Collection, Date>'); +verify.quickInfoIs('var r6b: Collection, Date>'); goTo.marker('21'); -verify.quickInfoIs('(var) r7a: Collection'); // This call is an error because y.foo() does not return a string +verify.quickInfoIs('var r7a: Collection'); // This call is an error because y.foo() does not return a string goTo.marker('22'); -verify.quickInfoIs('(var) r7b: Collection'); // This call is an error because y.foo() does not return a string +verify.quickInfoIs('var r7b: Collection'); // This call is an error because y.foo() does not return a string goTo.marker('23'); -verify.quickInfoIs('(var) r8a: Collection'); +verify.quickInfoIs('var r8a: Collection'); verify.errorExistsBetweenMarkers('error1', 'error2'); verify.errorExistsBetweenMarkers('17error1', '17error2'); diff --git a/tests/cases/fourslash/genericCombinators3.ts b/tests/cases/fourslash/genericCombinators3.ts index 6871614d86859..382a670a836d3 100644 --- a/tests/cases/fourslash/genericCombinators3.ts +++ b/tests/cases/fourslash/genericCombinators3.ts @@ -24,4 +24,4 @@ goTo.marker('1c'); verify.quickInfoIs('(method) Combinators.map(c: Collection, f: (x: number, y: string) => string): Collection (+1 overload)'); goTo.marker('9'); -verify.quickInfoIs('(var) r1a: Collection'); +verify.quickInfoIs('var r1a: Collection'); diff --git a/tests/cases/fourslash/genericDerivedTypeAcrossModuleBoundary1.ts b/tests/cases/fourslash/genericDerivedTypeAcrossModuleBoundary1.ts index ca44ceb765c71..de81007b72f4b 100644 --- a/tests/cases/fourslash/genericDerivedTypeAcrossModuleBoundary1.ts +++ b/tests/cases/fourslash/genericDerivedTypeAcrossModuleBoundary1.ts @@ -17,7 +17,7 @@ ////var /*2*/n3 = new N.D2(); goTo.marker('1'); -verify.quickInfoIs('(var) n2: N.D2'); +verify.quickInfoIs('var n2: N.D2'); goTo.marker('2') -verify.quickInfoIs('(var) n3: N.D2<{}>'); \ No newline at end of file +verify.quickInfoIs('var n3: N.D2<{}>'); diff --git a/tests/cases/fourslash/genericFunctionReturnType.ts b/tests/cases/fourslash/genericFunctionReturnType.ts index 737c26744c5f5..0b59d50563b95 100644 --- a/tests/cases/fourslash/genericFunctionReturnType.ts +++ b/tests/cases/fourslash/genericFunctionReturnType.ts @@ -12,10 +12,10 @@ // verify.currentSignatureHelpIs('foo(x: number, y: string): (a: string) => number'); goTo.marker('2'); -verify.quickInfoIs('(var) r: (a: string) => number'); +verify.quickInfoIs('var r: (a: string) => number'); goTo.marker('3'); verify.currentSignatureHelpIs('r(a: string): number'); goTo.marker('4'); -verify.quickInfoIs('(var) r2: number'); \ No newline at end of file +verify.quickInfoIs('var r2: number'); diff --git a/tests/cases/fourslash/genericFunctionReturnType2.ts b/tests/cases/fourslash/genericFunctionReturnType2.ts index 9658d72c6766b..a8097cf2a2b45 100644 --- a/tests/cases/fourslash/genericFunctionReturnType2.ts +++ b/tests/cases/fourslash/genericFunctionReturnType2.ts @@ -15,10 +15,10 @@ goTo.marker('1'); verify.currentSignatureHelpIs('foo(x: number): (a: number) => number'); goTo.marker('2'); -verify.quickInfoIs('(var) r: (a: number) => number'); +verify.quickInfoIs('var r: (a: number) => number'); goTo.marker('3'); verify.currentSignatureHelpIs('r(a: number): number'); goTo.marker('4'); -verify.quickInfoIs('(var) r2: number'); \ No newline at end of file +verify.quickInfoIs('var r2: number'); diff --git a/tests/cases/fourslash/genericInterfacePropertyInference1.ts b/tests/cases/fourslash/genericInterfacePropertyInference1.ts index c7a644a201d21..578c54c4fadc6 100644 --- a/tests/cases/fourslash/genericInterfacePropertyInference1.ts +++ b/tests/cases/fourslash/genericInterfacePropertyInference1.ts @@ -90,98 +90,98 @@ verify.numberOfErrorsInCurrentFile(0); goTo.marker('a1'); -verify.quickInfoIs('(var) f_r1: number'); +verify.quickInfoIs('var f_r1: number'); goTo.marker('a2'); -verify.quickInfoIs('(var) f_r2: string'); +verify.quickInfoIs('var f_r2: string'); goTo.marker('a3'); -verify.quickInfoIs('(var) f_r3: any'); +verify.quickInfoIs('var f_r3: any'); goTo.marker('a4'); -verify.quickInfoIs('(var) f_r5: Foo'); +verify.quickInfoIs('var f_r5: Foo'); goTo.marker('a5'); -verify.quickInfoIs('(var) f_r8: I'); +verify.quickInfoIs('var f_r8: I'); goTo.marker('a6'); -verify.quickInfoIs('(var) f_r12: {\n x: number;\n}'); +verify.quickInfoIs('var f_r12: {\n x: number;\n}'); goTo.marker('a7'); -verify.quickInfoIs('(var) f_r14: {\n x: any;\n}'); +verify.quickInfoIs('var f_r14: {\n x: any;\n}'); goTo.marker('a8'); -verify.quickInfoIs('(var) f_r18: C'); +verify.quickInfoIs('var f_r18: C'); goTo.marker('a9'); -verify.quickInfoIs('(var) f_r20: C<{\n x: any;\n}>'); +verify.quickInfoIs('var f_r20: C<{\n x: any;\n}>'); goTo.marker('b1'); -verify.quickInfoIs('(var) f2_r1: number'); +verify.quickInfoIs('var f2_r1: number'); goTo.marker('b2'); -verify.quickInfoIs('(var) f2_r2: string'); +verify.quickInfoIs('var f2_r2: string'); goTo.marker('b3'); -verify.quickInfoIs('(var) f2_r3: number'); +verify.quickInfoIs('var f2_r3: number'); goTo.marker('b4'); -verify.quickInfoIs('(var) f2_r5: Foo'); +verify.quickInfoIs('var f2_r5: Foo'); goTo.marker('b5'); -verify.quickInfoIs('(var) f2_r8: I'); +verify.quickInfoIs('var f2_r8: I'); goTo.marker('b6'); -verify.quickInfoIs('(var) f2_r12: {\n x: number;\n}'); +verify.quickInfoIs('var f2_r12: {\n x: number;\n}'); goTo.marker('b7'); -verify.quickInfoIs('(var) f2_r14: {\n x: number;\n}'); +verify.quickInfoIs('var f2_r14: {\n x: number;\n}'); goTo.marker('b8'); -verify.quickInfoIs('(var) f2_r18: C'); +verify.quickInfoIs('var f2_r18: C'); goTo.marker('b9'); -verify.quickInfoIs('(var) f2_r20: C<{\n x: number;\n}>'); +verify.quickInfoIs('var f2_r20: C<{\n x: number;\n}>'); goTo.marker('c1'); -verify.quickInfoIs('(var) f3_r1: number'); +verify.quickInfoIs('var f3_r1: number'); goTo.marker('c2'); -verify.quickInfoIs('(var) f3_r2: string'); +verify.quickInfoIs('var f3_r2: string'); goTo.marker('c3'); -verify.quickInfoIs('(var) f3_r3: I'); +verify.quickInfoIs('var f3_r3: I'); goTo.marker('c4'); -verify.quickInfoIs('(var) f3_r5: Foo'); +verify.quickInfoIs('var f3_r5: Foo'); goTo.marker('c5'); -verify.quickInfoIs('(var) f3_r8: I'); +verify.quickInfoIs('var f3_r8: I'); goTo.marker('c6'); -verify.quickInfoIs('(var) f3_r12: {\n x: number;\n}'); +verify.quickInfoIs('var f3_r12: {\n x: number;\n}'); goTo.marker('c7'); -verify.quickInfoIs('(var) f3_r14: {\n x: I;\n}'); +verify.quickInfoIs('var f3_r14: {\n x: I;\n}'); goTo.marker('c8'); -verify.quickInfoIs('(var) f3_r18: C'); +verify.quickInfoIs('var f3_r18: C'); goTo.marker('c9'); -verify.quickInfoIs('(var) f3_r20: C<{\n x: I;\n}>'); +verify.quickInfoIs('var f3_r20: C<{\n x: I;\n}>'); goTo.marker('d1'); -verify.quickInfoIs('(var) f4_r1: number'); +verify.quickInfoIs('var f4_r1: number'); goTo.marker('d2'); -verify.quickInfoIs('(var) f4_r2: string'); +verify.quickInfoIs('var f4_r2: string'); goTo.marker('d3'); -verify.quickInfoIs('(var) f4_r3: {\n x: number;\n}'); +verify.quickInfoIs('var f4_r3: {\n x: number;\n}'); goTo.marker('d4'); -verify.quickInfoIs('(var) f4_r5: Foo'); +verify.quickInfoIs('var f4_r5: Foo'); goTo.marker('d5'); -verify.quickInfoIs('(var) f4_r8: I'); +verify.quickInfoIs('var f4_r8: I'); goTo.marker('d6'); -verify.quickInfoIs('(var) f4_r12: {\n x: number;\n}'); +verify.quickInfoIs('var f4_r12: {\n x: number;\n}'); goTo.marker('d7'); -verify.quickInfoIs('(var) f4_r14: {\n x: {\n x: number;\n };\n}'); +verify.quickInfoIs('var f4_r14: {\n x: {\n x: number;\n };\n}'); goTo.marker('d8'); -verify.quickInfoIs('(var) f4_r18: C'); +verify.quickInfoIs('var f4_r18: C'); goTo.marker('d9'); -verify.quickInfoIs('(var) f4_r20: C<{\n x: {\n x: number;\n };\n}>'); +verify.quickInfoIs('var f4_r20: C<{\n x: {\n x: number;\n };\n}>'); goTo.marker('e1'); -verify.quickInfoIs('(var) f5_r1: number'); +verify.quickInfoIs('var f5_r1: number'); goTo.marker('e2'); -verify.quickInfoIs('(var) f5_r2: string'); +verify.quickInfoIs('var f5_r2: string'); goTo.marker('e3'); -verify.quickInfoIs('(var) f5_r3: Foo'); +verify.quickInfoIs('var f5_r3: Foo'); goTo.marker('e4'); -verify.quickInfoIs('(var) f5_r5: Foo'); +verify.quickInfoIs('var f5_r5: Foo'); goTo.marker('e5'); -verify.quickInfoIs('(var) f5_r8: I'); +verify.quickInfoIs('var f5_r8: I'); goTo.marker('e6'); -verify.quickInfoIs('(var) f5_r12: {\n x: number;\n}'); +verify.quickInfoIs('var f5_r12: {\n x: number;\n}'); goTo.marker('e7'); -verify.quickInfoIs('(var) f5_r14: {\n x: Foo;\n}'); +verify.quickInfoIs('var f5_r14: {\n x: Foo;\n}'); goTo.marker('e8'); -verify.quickInfoIs('(var) f5_r18: C'); +verify.quickInfoIs('var f5_r18: C'); goTo.marker('e9'); -verify.quickInfoIs('(var) f5_r20: C<{\n x: Foo;\n}>'); +verify.quickInfoIs('var f5_r20: C<{\n x: Foo;\n}>'); diff --git a/tests/cases/fourslash/genericInterfacePropertyInference2.ts b/tests/cases/fourslash/genericInterfacePropertyInference2.ts index edfc0db3ba438..9b9201609385f 100644 --- a/tests/cases/fourslash/genericInterfacePropertyInference2.ts +++ b/tests/cases/fourslash/genericInterfacePropertyInference2.ts @@ -66,56 +66,56 @@ verify.numberOfErrorsInCurrentFile(0); goTo.marker('a1'); -verify.quickInfoIs('(var) f_r4: Foo'); +verify.quickInfoIs('var f_r4: Foo'); goTo.marker('a2'); -verify.quickInfoIs('(var) f_r7: Foo>'); +verify.quickInfoIs('var f_r7: Foo>'); goTo.marker('a3'); -verify.quickInfoIs('(var) f_r9: IG'); +verify.quickInfoIs('var f_r9: IG'); goTo.marker('a5'); -verify.quickInfoIs('(var) f_r13: {\n x: Foo;\n}'); +verify.quickInfoIs('var f_r13: {\n x: Foo;\n}'); goTo.marker('a7'); -verify.quickInfoIs('(var) f_r17: C'); +verify.quickInfoIs('var f_r17: C'); goTo.marker('b1'); -verify.quickInfoIs('(var) f2_r4: Foo'); +verify.quickInfoIs('var f2_r4: Foo'); goTo.marker('b2'); -verify.quickInfoIs('(var) f2_r7: Foo>'); +verify.quickInfoIs('var f2_r7: Foo>'); goTo.marker('b3'); -verify.quickInfoIs('(var) f2_r9: IG'); +verify.quickInfoIs('var f2_r9: IG'); goTo.marker('b5'); -verify.quickInfoIs('(var) f2_r13: {\n x: Foo;\n}'); +verify.quickInfoIs('var f2_r13: {\n x: Foo;\n}'); goTo.marker('b7'); -verify.quickInfoIs('(var) f2_r17: C'); +verify.quickInfoIs('var f2_r17: C'); goTo.marker('c1'); -verify.quickInfoIs('(var) f3_r4: Foo'); +verify.quickInfoIs('var f3_r4: Foo'); goTo.marker('c2'); -verify.quickInfoIs('(var) f3_r7: Foo>'); +verify.quickInfoIs('var f3_r7: Foo>'); goTo.marker('c3'); -verify.quickInfoIs('(var) f3_r9: IG'); +verify.quickInfoIs('var f3_r9: IG'); goTo.marker('c5'); -verify.quickInfoIs('(var) f3_r13: {\n x: Foo;\n}'); +verify.quickInfoIs('var f3_r13: {\n x: Foo;\n}'); goTo.marker('c7'); -verify.quickInfoIs('(var) f3_r17: C'); +verify.quickInfoIs('var f3_r17: C'); goTo.marker('d1'); -verify.quickInfoIs('(var) f4_r4: Foo<{\n x: number;\n}>'); +verify.quickInfoIs('var f4_r4: Foo<{\n x: number;\n}>'); goTo.marker('d2'); -verify.quickInfoIs('(var) f4_r7: Foo>'); +verify.quickInfoIs('var f4_r7: Foo>'); goTo.marker('d3'); -verify.quickInfoIs('(var) f4_r9: IG<{\n x: number;\n}>'); +verify.quickInfoIs('var f4_r9: IG<{\n x: number;\n}>'); goTo.marker('d5'); -verify.quickInfoIs('(var) f4_r13: {\n x: Foo<{\n x: number;\n }>;\n}'); +verify.quickInfoIs('var f4_r13: {\n x: Foo<{\n x: number;\n }>;\n}'); goTo.marker('d7'); -verify.quickInfoIs('(var) f4_r17: C<{\n x: number;\n}>'); +verify.quickInfoIs('var f4_r17: C<{\n x: number;\n}>'); goTo.marker('e1'); -verify.quickInfoIs('(var) f5_r4: Foo>'); +verify.quickInfoIs('var f5_r4: Foo>'); goTo.marker('e2'); -verify.quickInfoIs('(var) f5_r7: Foo>'); +verify.quickInfoIs('var f5_r7: Foo>'); goTo.marker('e3'); -verify.quickInfoIs('(var) f5_r9: IG>'); +verify.quickInfoIs('var f5_r9: IG>'); goTo.marker('e5'); -verify.quickInfoIs('(var) f5_r13: {\n x: Foo>;\n}'); +verify.quickInfoIs('var f5_r13: {\n x: Foo>;\n}'); goTo.marker('e7'); -verify.quickInfoIs('(var) f5_r17: C>'); \ No newline at end of file +verify.quickInfoIs('var f5_r17: C>'); diff --git a/tests/cases/fourslash/genericInterfacesWithConstraints1.ts b/tests/cases/fourslash/genericInterfacesWithConstraints1.ts index b75c364855c69..e800eb063461f 100644 --- a/tests/cases/fourslash/genericInterfacesWithConstraints1.ts +++ b/tests/cases/fourslash/genericInterfacesWithConstraints1.ts @@ -12,8 +12,8 @@ ////var v/*3*/3: G, C>; // Ok goTo.marker('1'); -verify.quickInfoIs('(var) v1: G', null); +verify.quickInfoIs('var v1: G', null); goTo.marker('2'); -verify.quickInfoIs('(var) v2: G<{\n a: string;\n}, C>', null); +verify.quickInfoIs('var v2: G<{\n a: string;\n}, C>', null); goTo.marker('3'); -verify.quickInfoIs('(var) v3: G, C>', null); \ No newline at end of file +verify.quickInfoIs('var v3: G, C>', null); diff --git a/tests/cases/fourslash/genericMapTyping1.ts b/tests/cases/fourslash/genericMapTyping1.ts index ecddc229ac2ce..ea60fe0e0d65e 100644 --- a/tests/cases/fourslash/genericMapTyping1.ts +++ b/tests/cases/fourslash/genericMapTyping1.ts @@ -22,22 +22,22 @@ verify.numberOfErrorsInCurrentFile(0); goTo.marker('1'); -verify.quickInfoIs('(var) bb: number[]'); +verify.quickInfoIs('var bb: number[]'); goTo.marker('2'); -verify.quickInfoIs('(var) cc: number[]'); +verify.quickInfoIs('var cc: number[]'); goTo.marker('3'); -verify.quickInfoIs('(var) dd: number[]'); +verify.quickInfoIs('var dd: number[]'); goTo.marker('4'); -verify.quickInfoIs('(var) bbb: any[]'); +verify.quickInfoIs('var bbb: any[]'); goTo.marker('5'); -verify.quickInfoIs('(var) ccc: any[]'); +verify.quickInfoIs('var ccc: any[]'); goTo.marker('6'); -verify.quickInfoIs('(var) ddd: any[]'); +verify.quickInfoIs('var ddd: any[]'); goTo.marker('7'); verify.quickInfoIs('(parameter) xx: string'); diff --git a/tests/cases/fourslash/genericTypeArgumentInference1.ts b/tests/cases/fourslash/genericTypeArgumentInference1.ts index 5c30363d35ce1..d8c332449e177 100644 --- a/tests/cases/fourslash/genericTypeArgumentInference1.ts +++ b/tests/cases/fourslash/genericTypeArgumentInference1.ts @@ -18,22 +18,22 @@ ////var /*4*/r4 = _./*41*/all([true], _.identity); goTo.marker('1'); -verify.quickInfoIs('(var) r: string | number | boolean'); +verify.quickInfoIs('var r: string | number | boolean'); goTo.marker('11'); verify.quickInfoIs('(method) Underscore.Static.all(list: (string | number | boolean)[], iterator?: Underscore.Iterator, context?: any): string | number | boolean'); goTo.marker('2'); -verify.quickInfoIs('(var) r2: boolean'); +verify.quickInfoIs('var r2: boolean'); goTo.marker('21'); verify.quickInfoIs('(method) Underscore.Static.all(list: boolean[], iterator?: Underscore.Iterator, context?: any): boolean'); goTo.marker('3'); -verify.quickInfoIs('(var) r3: any'); +verify.quickInfoIs('var r3: any'); goTo.marker('31'); verify.quickInfoIs('(method) Underscore.Static.all(list: any[], iterator?: Underscore.Iterator, context?: any): any'); goTo.marker('4'); -verify.quickInfoIs('(var) r4: any'); +verify.quickInfoIs('var r4: any'); goTo.marker('41'); verify.quickInfoIs('(method) Underscore.Static.all(list: any[], iterator?: Underscore.Iterator, context?: any): any'); diff --git a/tests/cases/fourslash/genericTypeArgumentInference2.ts b/tests/cases/fourslash/genericTypeArgumentInference2.ts index bb59cc8eed650..aaf0d138f2f76 100644 --- a/tests/cases/fourslash/genericTypeArgumentInference2.ts +++ b/tests/cases/fourslash/genericTypeArgumentInference2.ts @@ -18,22 +18,22 @@ ////var /*4*/r4 = _./*41*/all([true], _.identity); goTo.marker('1'); -verify.quickInfoIs('(var) r: string | number | boolean'); +verify.quickInfoIs('var r: string | number | boolean'); goTo.marker('11'); verify.quickInfoIs('(method) Underscore.Static.all(list: (string | number | boolean)[], iterator?: Underscore.Iterator, context?: any): string | number | boolean'); goTo.marker('2'); -verify.quickInfoIs('(var) r2: boolean'); +verify.quickInfoIs('var r2: boolean'); goTo.marker('21'); verify.quickInfoIs('(method) Underscore.Static.all(list: boolean[], iterator?: Underscore.Iterator, context?: any): boolean'); goTo.marker('3'); -verify.quickInfoIs('(var) r3: any'); +verify.quickInfoIs('var r3: any'); goTo.marker('31'); verify.quickInfoIs('(method) Underscore.Static.all(list: any[], iterator?: Underscore.Iterator, context?: any): any'); goTo.marker('4'); -verify.quickInfoIs('(var) r4: any'); +verify.quickInfoIs('var r4: any'); goTo.marker('41'); verify.quickInfoIs('(method) Underscore.Static.all(list: any[], iterator?: Underscore.Iterator, context?: any): any'); diff --git a/tests/cases/fourslash/genericTypeParamUnrelatedToArguments1.ts b/tests/cases/fourslash/genericTypeParamUnrelatedToArguments1.ts index f7e2d7d27fb5a..e4a679a4b22ae 100644 --- a/tests/cases/fourslash/genericTypeParamUnrelatedToArguments1.ts +++ b/tests/cases/fourslash/genericTypeParamUnrelatedToArguments1.ts @@ -11,19 +11,19 @@ ////var f/*6*/6: Foo = new Foo(3); goTo.marker('1'); -verify.quickInfoIs('(var) f1: Foo', null); +verify.quickInfoIs('var f1: Foo', null); goTo.marker('2'); -verify.quickInfoIs('(var) f2: Foo', null); +verify.quickInfoIs('var f2: Foo', null); goTo.marker('3'); -verify.quickInfoIs('(var) f3: any', null); +verify.quickInfoIs('var f3: any', null); goTo.marker('4'); -verify.quickInfoIs('(var) f4: Foo', null); +verify.quickInfoIs('var f4: Foo', null); goTo.marker('5'); -verify.quickInfoIs('(var) f5: any', null); +verify.quickInfoIs('var f5: any', null); goTo.marker('6'); -verify.quickInfoIs('(var) f6: Foo', null); \ No newline at end of file +verify.quickInfoIs('var f6: Foo', null); diff --git a/tests/cases/fourslash/genericWithSpecializedProperties1.ts b/tests/cases/fourslash/genericWithSpecializedProperties1.ts index ea6df9a034e37..03d1569cd281d 100644 --- a/tests/cases/fourslash/genericWithSpecializedProperties1.ts +++ b/tests/cases/fourslash/genericWithSpecializedProperties1.ts @@ -14,11 +14,11 @@ ////var /*4*/y2 = f2.y; goTo.marker('1'); -verify.quickInfoIs('(var) xx: Foo'); +verify.quickInfoIs('var xx: Foo'); goTo.marker('2'); -verify.quickInfoIs('(var) yy: Foo'); +verify.quickInfoIs('var yy: Foo'); goTo.marker('3'); -verify.quickInfoIs('(var) x2: Foo'); +verify.quickInfoIs('var x2: Foo'); goTo.marker('4'); -verify.quickInfoIs('(var) y2: Foo'); \ No newline at end of file +verify.quickInfoIs('var y2: Foo'); diff --git a/tests/cases/fourslash/genericWithSpecializedProperties2.ts b/tests/cases/fourslash/genericWithSpecializedProperties2.ts index 21754c9ec9acc..e645a8a058794 100644 --- a/tests/cases/fourslash/genericWithSpecializedProperties2.ts +++ b/tests/cases/fourslash/genericWithSpecializedProperties2.ts @@ -13,11 +13,11 @@ ////var /*4*/y2 = f2.y; goTo.marker('1'); -verify.quickInfoIs('(var) x: Foo'); +verify.quickInfoIs('var x: Foo'); goTo.marker('2'); -verify.quickInfoIs('(var) y: Foo'); +verify.quickInfoIs('var y: Foo'); goTo.marker('3'); -verify.quickInfoIs('(var) x2: Foo'); +verify.quickInfoIs('var x2: Foo'); goTo.marker('4'); -verify.quickInfoIs('(var) y2: Foo'); \ No newline at end of file +verify.quickInfoIs('var y2: Foo'); diff --git a/tests/cases/fourslash/genericWithSpecializedProperties3.ts b/tests/cases/fourslash/genericWithSpecializedProperties3.ts index d5f02813de441..e5d7867d13095 100644 --- a/tests/cases/fourslash/genericWithSpecializedProperties3.ts +++ b/tests/cases/fourslash/genericWithSpecializedProperties3.ts @@ -14,11 +14,11 @@ ////var /*4*/y2 = f2.y; goTo.marker('1'); -verify.quickInfoIs('(var) xx: Foo'); +verify.quickInfoIs('var xx: Foo'); goTo.marker('2'); -verify.quickInfoIs('(var) yy: Foo'); +verify.quickInfoIs('var yy: Foo'); goTo.marker('3'); -verify.quickInfoIs('(var) x2: Foo'); +verify.quickInfoIs('var x2: Foo'); goTo.marker('4'); -verify.quickInfoIs('(var) y2: Foo'); \ No newline at end of file +verify.quickInfoIs('var y2: Foo'); diff --git a/tests/cases/fourslash/getCompletionEntryDetails.ts b/tests/cases/fourslash/getCompletionEntryDetails.ts index 078e84cf55340..1ed680b667800 100644 --- a/tests/cases/fourslash/getCompletionEntryDetails.ts +++ b/tests/cases/fourslash/getCompletionEntryDetails.ts @@ -14,17 +14,17 @@ verify.completionListContains("ccc"); verify.completionListContains("ddd"); // Checking for completion details before edit should work -verify.completionEntryDetailIs("aaa", "(var) aaa: number"); -verify.completionEntryDetailIs("ccc", "(var) ccc: number"); +verify.completionEntryDetailIs("aaa", "var aaa: number"); +verify.completionEntryDetailIs("ccc", "var ccc: number"); // Make an edit edit.insert("a"); edit.backspace(); // Checking for completion details after edit should work too -verify.completionEntryDetailIs("bbb", "(var) bbb: string"); -verify.completionEntryDetailIs("ddd", "(var) ddd: string"); +verify.completionEntryDetailIs("bbb", "var bbb: string"); +verify.completionEntryDetailIs("ddd", "var ddd: string"); // Checking for completion details again before edit should work -verify.completionEntryDetailIs("aaa", "(var) aaa: number"); -verify.completionEntryDetailIs("ccc", "(var) ccc: number"); +verify.completionEntryDetailIs("aaa", "var aaa: number"); +verify.completionEntryDetailIs("ccc", "var ccc: number"); diff --git a/tests/cases/fourslash/getCompletionEntryDetails2.ts b/tests/cases/fourslash/getCompletionEntryDetails2.ts index b34aad66ba264..3e7e77b588c8d 100644 --- a/tests/cases/fourslash/getCompletionEntryDetails2.ts +++ b/tests/cases/fourslash/getCompletionEntryDetails2.ts @@ -15,4 +15,4 @@ edit.insert("a"); edit.backspace(); // Checking for completion details after edit should work too -verify.completionEntryDetailIs("x", "(var) Foo.x: number"); +verify.completionEntryDetailIs("x", "var Foo.x: number"); diff --git a/tests/cases/fourslash/incrementalResolveAccessor.ts b/tests/cases/fourslash/incrementalResolveAccessor.ts index 812146398f188..94a296cc0e959 100644 --- a/tests/cases/fourslash/incrementalResolveAccessor.ts +++ b/tests/cases/fourslash/incrementalResolveAccessor.ts @@ -14,7 +14,7 @@ // Resolve without typeCheck goTo.marker('1'); -verify.quickInfoIs("(var) b: string"); +verify.quickInfoIs("var b: string"); // TypeCheck verify.numberOfErrorsInCurrentFile(3); \ No newline at end of file diff --git a/tests/cases/fourslash/incrementalResolveConstructorDeclaration.ts b/tests/cases/fourslash/incrementalResolveConstructorDeclaration.ts index 3eb516312440f..8e488b286d39f 100644 --- a/tests/cases/fourslash/incrementalResolveConstructorDeclaration.ts +++ b/tests/cases/fourslash/incrementalResolveConstructorDeclaration.ts @@ -11,7 +11,7 @@ // Do resolve without typeCheck goTo.marker('1'); -verify.quickInfoIs("(var) val: c1"); +verify.quickInfoIs("var val: c1"); // TypeCheck verify.numberOfErrorsInCurrentFile(1); diff --git a/tests/cases/fourslash/incrementalResolveFunctionPropertyAssignment.ts b/tests/cases/fourslash/incrementalResolveFunctionPropertyAssignment.ts index c7a9c28c5749b..8f38ac6fab2cb 100644 --- a/tests/cases/fourslash/incrementalResolveFunctionPropertyAssignment.ts +++ b/tests/cases/fourslash/incrementalResolveFunctionPropertyAssignment.ts @@ -22,7 +22,7 @@ /////*1*/val; goTo.marker('1'); -verify.quickInfoIs("(var) val: string"); +verify.quickInfoIs("var val: string"); // TypeCheck verify.numberOfErrorsInCurrentFile(1); \ No newline at end of file diff --git a/tests/cases/fourslash/indexerReturnTypes1.ts b/tests/cases/fourslash/indexerReturnTypes1.ts index f94a1151b13fd..c5bfa2719d689 100644 --- a/tests/cases/fourslash/indexerReturnTypes1.ts +++ b/tests/cases/fourslash/indexerReturnTypes1.ts @@ -63,49 +63,49 @@ goTo.marker('1'); -verify.quickInfoIs('(var) r1: Date'); +verify.quickInfoIs('var r1: Date'); goTo.marker('2'); -verify.quickInfoIs('(var) r2: any'); +verify.quickInfoIs('var r2: any'); goTo.marker('3'); -verify.quickInfoIs('(var) r3: RegExp'); +verify.quickInfoIs('var r3: RegExp'); goTo.marker('4'); -verify.quickInfoIs('(var) r4: RegExp'); +verify.quickInfoIs('var r4: RegExp'); goTo.marker('5'); -verify.quickInfoIs('(var) r5: Date'); +verify.quickInfoIs('var r5: Date'); goTo.marker('6'); -verify.quickInfoIs('(var) r6: any'); +verify.quickInfoIs('var r6: any'); goTo.marker('7'); -verify.quickInfoIs('(var) r7: RegExp'); +verify.quickInfoIs('var r7: RegExp'); goTo.marker('8'); -verify.quickInfoIs('(var) r8: RegExp'); +verify.quickInfoIs('var r8: RegExp'); goTo.marker('9'); -verify.quickInfoIs('(var) r9: Date'); +verify.quickInfoIs('var r9: Date'); goTo.marker('10'); -verify.quickInfoIs('(var) r10: any'); +verify.quickInfoIs('var r10: any'); goTo.marker('11'); -verify.quickInfoIs('(var) r11: Date'); +verify.quickInfoIs('var r11: Date'); goTo.marker('12'); -verify.quickInfoIs('(var) r12: Date'); +verify.quickInfoIs('var r12: Date'); goTo.marker('13'); -verify.quickInfoIs('(var) r13: Ty'); +verify.quickInfoIs('var r13: Ty'); goTo.marker('14'); -verify.quickInfoIs('(var) r14: any'); +verify.quickInfoIs('var r14: any'); goTo.marker('15'); -verify.quickInfoIs('(var) r15: {\n [x: number]: Date;\n}'); +verify.quickInfoIs('var r15: {\n [x: number]: Date;\n}'); goTo.marker('16'); -verify.quickInfoIs('(var) r16: any'); \ No newline at end of file +verify.quickInfoIs('var r16: any'); diff --git a/tests/cases/fourslash/intellisenseInObjectLiteral.ts b/tests/cases/fourslash/intellisenseInObjectLiteral.ts index f3a5cacefb6c2..404732645c09c 100644 --- a/tests/cases/fourslash/intellisenseInObjectLiteral.ts +++ b/tests/cases/fourslash/intellisenseInObjectLiteral.ts @@ -9,4 +9,4 @@ //// } goTo.marker(); -verify.quickInfoIs("(var) x: number", ""); \ No newline at end of file +verify.quickInfoIs("var x: number", ""); diff --git a/tests/cases/fourslash/letQuickInfoAndCompletionList.ts b/tests/cases/fourslash/letQuickInfoAndCompletionList.ts index 127b4d626fd97..87c7aaf76a86e 100644 --- a/tests/cases/fourslash/letQuickInfoAndCompletionList.ts +++ b/tests/cases/fourslash/letQuickInfoAndCompletionList.ts @@ -8,21 +8,21 @@ ////} goTo.marker('1'); -verify.quickInfoIs("(let) a: number"); +verify.quickInfoIs("let a: number"); goTo.marker('2'); -verify.completionListContains("a", "(let) a: number"); -verify.quickInfoIs("(let) a: number"); +verify.completionListContains("a", "let a: number"); +verify.quickInfoIs("let a: number"); goTo.marker('3'); -verify.quickInfoIs("(let) b: number"); +verify.quickInfoIs("let b: number"); goTo.marker('4'); -verify.completionListContains("a", "(let) a: number"); -verify.completionListContains("b", "(let) b: number"); -verify.quickInfoIs("(let) b: number"); +verify.completionListContains("a", "let a: number"); +verify.completionListContains("b", "let b: number"); +verify.quickInfoIs("let b: number"); goTo.marker('5'); -verify.completionListContains("a", "(let) a: number"); -verify.completionListContains("b", "(let) b: number"); -verify.quickInfoIs("(let) a: number"); \ No newline at end of file +verify.completionListContains("a", "let a: number"); +verify.completionListContains("b", "let b: number"); +verify.quickInfoIs("let a: number"); diff --git a/tests/cases/fourslash/localFunction.ts b/tests/cases/fourslash/localFunction.ts index bf6d7636beb50..584fbae191911 100644 --- a/tests/cases/fourslash/localFunction.ts +++ b/tests/cases/fourslash/localFunction.ts @@ -10,7 +10,7 @@ ////} goTo.marker("1"); -verify.quickInfoIs('(function) foo(): void'); +verify.quickInfoIs('function foo(): void'); goTo.marker("2"); verify.quickInfoIs('(local function) bar2(): void'); goTo.marker("3"); diff --git a/tests/cases/fourslash/memberListOfModuleAfterInvalidCharater.ts b/tests/cases/fourslash/memberListOfModuleAfterInvalidCharater.ts index b5bd4fb6bb53b..76ffa87dd4f83 100644 --- a/tests/cases/fourslash/memberListOfModuleAfterInvalidCharater.ts +++ b/tests/cases/fourslash/memberListOfModuleAfterInvalidCharater.ts @@ -7,4 +7,4 @@ ////testModule./**/ goTo.marker(); -verify.completionListContains('foo', '(var) testModule.foo: number'); \ No newline at end of file +verify.completionListContains('foo', 'var testModule.foo: number'); diff --git a/tests/cases/fourslash/memberListOfModuleInAnotherModule.ts b/tests/cases/fourslash/memberListOfModuleInAnotherModule.ts index 4ac2778ac5ab5..2908e30385540 100644 --- a/tests/cases/fourslash/memberListOfModuleInAnotherModule.ts +++ b/tests/cases/fourslash/memberListOfModuleInAnotherModule.ts @@ -21,17 +21,17 @@ ////} goTo.marker('1'); -verify.completionListContains('meX', '(var) mod1.meX: number'); -verify.completionListContains('meFunc', '(function) mod1.meFunc(): void'); +verify.completionListContains('meX', 'var mod1.meX: number'); +verify.completionListContains('meFunc', 'function mod1.meFunc(): void'); verify.completionListContains('meClass', 'class mod1.meClass'); verify.completionListContains('meMod', 'module mod1.meMod'); verify.completionListContains('meInt', 'interface mod1.meInt'); goTo.marker('2'); -verify.completionListContains('meX', '(var) mod1.meX: number'); -verify.completionListContains('meFunc', '(function) mod1.meFunc(): void'); +verify.completionListContains('meX', 'var mod1.meX: number'); +verify.completionListContains('meFunc', 'function mod1.meFunc(): void'); verify.completionListContains('meClass', 'class mod1.meClass'); verify.completionListContains('meMod', 'module mod1.meMod'); goTo.marker('3'); -verify.completionListContains('iMex', '(var) mod1.meMod.iMex: number'); \ No newline at end of file +verify.completionListContains('iMex', 'var mod1.meMod.iMex: number'); diff --git a/tests/cases/fourslash/mergedDeclarationsWithExportAssignment1.ts b/tests/cases/fourslash/mergedDeclarationsWithExportAssignment1.ts index 3198b6e92434f..00b9aaf844727 100644 --- a/tests/cases/fourslash/mergedDeclarationsWithExportAssignment1.ts +++ b/tests/cases/fourslash/mergedDeclarationsWithExportAssignment1.ts @@ -25,11 +25,11 @@ goTo.marker('2'); verify.completionListContains('Foo'); goTo.marker('3'); -verify.quickInfoIs('(var) z: Foo'); +verify.quickInfoIs('var z: Foo'); goTo.marker('4'); verify.completionListContains('x'); goTo.marker('5'); -verify.quickInfoIs('(var) r2: number'); +verify.quickInfoIs('var r2: number'); diff --git a/tests/cases/fourslash/moduleMembersOfGenericType.ts b/tests/cases/fourslash/moduleMembersOfGenericType.ts index 57c08c900666a..1c5a3acff2c60 100644 --- a/tests/cases/fourslash/moduleMembersOfGenericType.ts +++ b/tests/cases/fourslash/moduleMembersOfGenericType.ts @@ -6,4 +6,4 @@ ////var r = M./**/; goTo.marker(); -verify.completionListContains('x', '(var) M.x: (x: T) => T'); \ No newline at end of file +verify.completionListContains('x', 'var M.x: (x: T) => T'); diff --git a/tests/cases/fourslash/moduleVariables.ts b/tests/cases/fourslash/moduleVariables.ts index d949bf677b1e8..24e4f400472a2 100644 --- a/tests/cases/fourslash/moduleVariables.ts +++ b/tests/cases/fourslash/moduleVariables.ts @@ -14,10 +14,10 @@ ////} goTo.marker('1'); -verify.quickInfoIs("(var) M.x: number", undefined); +verify.quickInfoIs("var M.x: number", undefined); goTo.marker('2'); -verify.quickInfoIs("(var) M.x: number", undefined); +verify.quickInfoIs("var M.x: number", undefined); goTo.marker('3'); -verify.quickInfoIs("(var) x: number", undefined); \ No newline at end of file +verify.quickInfoIs("var x: number", undefined); diff --git a/tests/cases/fourslash/multiModuleFundule1.ts b/tests/cases/fourslash/multiModuleFundule1.ts index 50acd8b495da5..bc3e1815fd88b 100644 --- a/tests/cases/fourslash/multiModuleFundule1.ts +++ b/tests/cases/fourslash/multiModuleFundule1.ts @@ -18,14 +18,14 @@ verify.completionListContains('C'); edit.insert('C.x);'); goTo.marker('2'); -verify.quickInfoIs('(var) r: void'); +verify.quickInfoIs('var r: void'); goTo.marker('3'); verify.completionListContains('C'); edit.insert('C.x);'); goTo.marker('4'); -verify.quickInfoIs('(var) r2: any'); +verify.quickInfoIs('var r2: any'); goTo.marker('5'); verify.completionListContains('x'); diff --git a/tests/cases/fourslash/nameOfRetypedClassInModule.ts b/tests/cases/fourslash/nameOfRetypedClassInModule.ts index 7dea74020f8a1..9ac1362ec1566 100644 --- a/tests/cases/fourslash/nameOfRetypedClassInModule.ts +++ b/tests/cases/fourslash/nameOfRetypedClassInModule.ts @@ -14,19 +14,19 @@ edit.disableFormatting(); goTo.marker('check'); -verify.quickInfoIs('(constructor) Check(val: any): Check'); +verify.quickInfoIs('constructor Check(val: any): Check'); goTo.marker('check2'); -verify.quickInfoIs('(constructor) M.Check2(val: any): Check2'); +verify.quickInfoIs('constructor M.Check2(val: any): Check2'); goTo.marker('A'); edit.deleteAtCaret('class A {}'.length); edit.insert('class A { constructor(val) {} }'); edit.moveLeft('constructor(val) {} }'.length); -verify.quickInfoIs('(constructor) A(val: any): A'); +verify.quickInfoIs('constructor A(val: any): A'); goTo.marker('B'); edit.deleteAtCaret('export class B {}'.length); edit.insert('export class B { constructor(val) {} }'); edit.moveLeft('constructor(val) {} }'.length); -verify.quickInfoIs('(constructor) M.B(val: any): B'); +verify.quickInfoIs('constructor M.B(val: any): B'); diff --git a/tests/cases/fourslash/noTypeParameterInLHS.ts b/tests/cases/fourslash/noTypeParameterInLHS.ts index 729532a669972..26d8366737a55 100644 --- a/tests/cases/fourslash/noTypeParameterInLHS.ts +++ b/tests/cases/fourslash/noTypeParameterInLHS.ts @@ -6,6 +6,6 @@ ////var /*2*/c: C; goTo.marker('1'); -verify.quickInfoIs('(var) i: I'); +verify.quickInfoIs('var i: I'); goTo.marker('2'); -verify.quickInfoIs('(var) c: C'); +verify.quickInfoIs('var c: C'); diff --git a/tests/cases/fourslash/numericPropertyNames.ts b/tests/cases/fourslash/numericPropertyNames.ts index 581308560741a..193b0135218df 100644 --- a/tests/cases/fourslash/numericPropertyNames.ts +++ b/tests/cases/fourslash/numericPropertyNames.ts @@ -3,4 +3,4 @@ ////var /**/t2 = { 0: 1, 1: "" }; goTo.marker(); -verify.quickInfoIs('(var) t2: {\n 0: number;\n 1: string;\n}'); \ No newline at end of file +verify.quickInfoIs('var t2: {\n 0: number;\n 1: string;\n}'); diff --git a/tests/cases/fourslash/objectLiteralCallSignatures.ts b/tests/cases/fourslash/objectLiteralCallSignatures.ts index d1bc919508638..4be651b7a1554 100644 --- a/tests/cases/fourslash/objectLiteralCallSignatures.ts +++ b/tests/cases/fourslash/objectLiteralCallSignatures.ts @@ -22,8 +22,8 @@ verify.not.errorExistsAfterMarker('1'); goTo.marker('1'); -verify.quickInfoIs('(var) x: {\n func1(x: number): number;\n func2: (x: number) => number;\n func3: (x: number) => number;\n}'); +verify.quickInfoIs('var x: {\n func1(x: number): number;\n func2: (x: number) => number;\n func3: (x: number) => number;\n}'); goTo.marker('2'); -verify.quickInfoIs('(var) y: {\n func4(x: number): number;\n func4(s: string): string;\n func5: {\n (x: number): number;\n (s: string): string;\n };\n}'); +verify.quickInfoIs('var y: {\n func4(x: number): number;\n func4(s: string): string;\n func5: {\n (x: number): number;\n (s: string): string;\n };\n}'); diff --git a/tests/cases/fourslash/overloadOnConstCallSignature.ts b/tests/cases/fourslash/overloadOnConstCallSignature.ts index 7e8075e365293..d729fd4da6f8d 100644 --- a/tests/cases/fourslash/overloadOnConstCallSignature.ts +++ b/tests/cases/fourslash/overloadOnConstCallSignature.ts @@ -15,4 +15,4 @@ verify.currentSignatureHelpIs('foo(name: \'order\'): string'); edit.insert('"hi"'); goTo.marker('2'); -verify.quickInfoIs('(var) x: string'); +verify.quickInfoIs('var x: string'); diff --git a/tests/cases/fourslash/overloadQuickInfo.ts b/tests/cases/fourslash/overloadQuickInfo.ts index 41cba67b391d4..5b5260d94a62f 100644 --- a/tests/cases/fourslash/overloadQuickInfo.ts +++ b/tests/cases/fourslash/overloadQuickInfo.ts @@ -18,6 +18,6 @@ ////Fo/**/o(); goTo.marker(); -verify.quickInfoIs("(function) Foo(): any (+12 overloads)"); +verify.quickInfoIs("function Foo(): any (+12 overloads)"); diff --git a/tests/cases/fourslash/promiseTyping1.ts b/tests/cases/fourslash/promiseTyping1.ts index 9a79c0eb7a9fb..9b03ecf64b300 100644 --- a/tests/cases/fourslash/promiseTyping1.ts +++ b/tests/cases/fourslash/promiseTyping1.ts @@ -15,7 +15,7 @@ //// } ); goTo.marker("1"); -verify.quickInfoIs('(var) p2: IPromise'); +verify.quickInfoIs('var p2: IPromise'); goTo.marker("2"); verify.quickInfoIs('(parameter) xx: string'); diff --git a/tests/cases/fourslash/promiseTyping2.ts b/tests/cases/fourslash/promiseTyping2.ts index e4e8039519916..b848238713dbe 100644 --- a/tests/cases/fourslash/promiseTyping2.ts +++ b/tests/cases/fourslash/promiseTyping2.ts @@ -16,19 +16,19 @@ goTo.marker("1"); -verify.quickInfoIs('(var) p1: IPromise'); +verify.quickInfoIs('var p1: IPromise'); goTo.marker("2"); verify.quickInfoIs('(parameter) xx: number'); goTo.marker("3"); -verify.quickInfoIs('(var) p2: IPromise'); +verify.quickInfoIs('var p2: IPromise'); goTo.marker("4"); verify.quickInfoIs('(parameter) xx: number'); goTo.marker("5"); -verify.quickInfoIs('(var) p3: IPromise'); +verify.quickInfoIs('var p3: IPromise'); goTo.marker("6"); verify.quickInfoIs('(parameter) xx: string'); diff --git a/tests/cases/fourslash/proto.ts b/tests/cases/fourslash/proto.ts index cdb279b5009bc..d99a3d8b5b580 100644 --- a/tests/cases/fourslash/proto.ts +++ b/tests/cases/fourslash/proto.ts @@ -10,11 +10,11 @@ goTo.marker('1'); verify.quickInfoIs("interface M.__proto__", ""); goTo.marker('2'); -verify.quickInfoIs("(var) __proto__: M.__proto__", ""); +verify.quickInfoIs("var __proto__: M.__proto__", ""); goTo.marker('3'); -verify.completionListContains("__proto__", "(var) __proto__: M.__proto__", ""); +verify.completionListContains("__proto__", "var __proto__: M.__proto__", ""); edit.insert("__proto__"); goTo.definition(); verify.caretAtMarker('2'); goTo.marker('4'); -verify.quickInfoIs("(var) fun: (__proto__: any) => boolean", ""); \ No newline at end of file +verify.quickInfoIs("var fun: (__proto__: any) => boolean", ""); diff --git a/tests/cases/fourslash/protoVarVisibleWithOuterScopeUnderscoreProto.ts b/tests/cases/fourslash/protoVarVisibleWithOuterScopeUnderscoreProto.ts index a36f5ddbfe2d6..c0c7eb9f3ce21 100644 --- a/tests/cases/fourslash/protoVarVisibleWithOuterScopeUnderscoreProto.ts +++ b/tests/cases/fourslash/protoVarVisibleWithOuterScopeUnderscoreProto.ts @@ -9,4 +9,4 @@ goTo.marker(''); verify.completionListContains("__proto__", '(local var) __proto__: string'); -verify.completionListContains("___proto__", '(var) ___proto__: number'); \ No newline at end of file +verify.completionListContains("___proto__", 'var ___proto__: number'); diff --git a/tests/cases/fourslash/qualifiedName_import-declaration-with-variable-entity-names.ts b/tests/cases/fourslash/qualifiedName_import-declaration-with-variable-entity-names.ts index b6f64e4be42df..97e5750241f2a 100644 --- a/tests/cases/fourslash/qualifiedName_import-declaration-with-variable-entity-names.ts +++ b/tests/cases/fourslash/qualifiedName_import-declaration-with-variable-entity-names.ts @@ -11,7 +11,7 @@ ////var x = Alpha.[|{| "name" : "mem" |}x|] goTo.marker('import'); -verify.completionListContains('x', '(var) Alpha.x: number'); +verify.completionListContains('x', 'var Alpha.x: number'); var def: FourSlashInterface.Range = test.ranges().filter(range => range.marker.data.name === "def")[0]; var imp: FourSlashInterface.Range = test.ranges().filter(range => range.marker.data.name === "import")[0]; diff --git a/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts b/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts index 3d996ae53caf2..5300e2f897b20 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsArrowFunctionExpression.ts @@ -9,7 +9,7 @@ var marker = 0; function verifyInstance(instanceName: string, paramCount: number, type: string) { marker++; goTo.marker(marker.toString()); - var displayParts = [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + var displayParts = [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "(", kind: "punctuation" }]; diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClass.ts b/tests/cases/fourslash/quickInfoDisplayPartsClass.ts index ee38c71792284..a0b5b2e64fc80 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsClass.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsClass.ts @@ -12,14 +12,14 @@ verify.verifyQuickInfoDisplayParts("class", "", { start: test.markerByName("1"). goTo.marker('2'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("2").position, length: "cInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], []); goTo.marker('3'); verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName("3").position, length: "c".length }, - [{ text: "(", kind: "punctuation" }, { text: "constructor", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "constructor", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], @@ -27,7 +27,7 @@ verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName goTo.marker('4'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("4").position, length: "cVal".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cVal", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts index f3a0f90ea33fb..a6d2eea0b9b94 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsClassAccessors.ts @@ -98,7 +98,7 @@ verifyProtectedStaticProperty('81s'); goTo.marker('9'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "cInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], []); @@ -114,7 +114,7 @@ verifyStaticProperty('12'); goTo.marker('9s'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9s").position, length: "cInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts index 1145e43e1dac2..a3ec3f3eb321b 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsClassConstructor.ts @@ -30,7 +30,7 @@ function verifyNonOverloadSignature(marker: string, textSpanLength: number) { goTo.marker(marker); verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName(marker).position, length: textSpanLength }, - [{ text: "(", kind: "punctuation" }, { text: "constructor", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "constructor", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], @@ -40,7 +40,7 @@ function verifyNonOverloadSignature(marker: string, textSpanLength: number) { function verifyClassInstance(markerName: string, instanceName: string, className: string) { goTo.marker(markerName); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: instanceName.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: className, kind: "className" }], []); @@ -56,7 +56,7 @@ function verifyClass(markerName: string, className: string) { function verifyTypeOfClass(markerName: string, typeOfVarName: string, className: string) { goTo.marker(markerName); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: typeOfVarName.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: typeOfVarName, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }, { text: className, kind: "className" }], @@ -66,7 +66,7 @@ function verifyTypeOfClass(markerName: string, typeOfVarName: string, className: function verifySingleOverloadSignature(marker: string, textSpanLength: number, parameterType: string) { goTo.marker(marker); verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName(marker).position, length: textSpanLength }, - [{ text: "(", kind: "punctuation" }, { text: "constructor", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "constructor", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cWithOverloads", kind: "className" }, { text: "(", kind: "punctuation" }, { text: "x", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: parameterType, kind: "keyword" }, @@ -82,7 +82,7 @@ function verifySingleOverloadSignature(marker: string, textSpanLength: number, p function verifyMultipleOverloadSignature(marker: string, textSpanLength: number, parameterType: string) { goTo.marker(marker); verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName(marker).position, length: textSpanLength }, - [{ text: "(", kind: "punctuation" }, { text: "constructor", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "constructor", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cWithMultipleOverloads", kind: "className" }, { text: "(", kind: "punctuation" }, { text: "x", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: parameterType, kind: "keyword" }, diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts index dbe225aa124fc..9ac30d09210b5 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsClassMethod.ts @@ -71,7 +71,7 @@ verifyProtectedStaticMethod('81'); goTo.marker('9'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "cInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts b/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts index a03bc3cd42b99..c5606881fcf21 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsClassProperty.ts @@ -70,7 +70,7 @@ verifyProtectedStaticProperty('81'); goTo.marker('9'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "cInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsConst.ts b/tests/cases/fourslash/quickInfoDisplayPartsConst.ts index 8871a6cc15ee3..b3d601368b99b 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsConst.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsConst.ts @@ -28,7 +28,7 @@ function verifyConst(name: string, typeDisplay: ts.SymbolDisplayPart[], optional marker++; goTo.marker(marker.toString()); verify.verifyQuickInfoDisplayParts("const", optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length }, - [{ text: "(", kind: "punctuation" }, { text: "const", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "const", kind: "keyword" }, { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat( { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay), []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsEnum.ts b/tests/cases/fourslash/quickInfoDisplayPartsEnum.ts index 405f9db936e8b..a42179d039fa9 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsEnum.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsEnum.ts @@ -65,7 +65,7 @@ function verifyEnumDeclaration(enumName: string, instanceName: string, isConst?: marker++; goTo.marker(marker.toString()); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: instanceName.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: enumName, kind: "enumName" }], []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts b/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts index 5a2f5e76d7f38..070b908d90103 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsExternalModules.ts @@ -33,7 +33,7 @@ function verifyModule(name: string, optionalParentName?: string) { function verifyVar(name: string, optionalFullName?: ts.SymbolDisplayPart[], typeDisplay: ts.SymbolDisplayPart[]= [{ text: "number", kind: "keyword" }]) { goToMarker(); verify.verifyQuickInfoDisplayParts("var", name === "moduleElemWithoutExport" ? "" : "export", { start: test.markerByName(marker.toString()).position, length: name.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }].concat(optionalFullName || [{ text: name, kind: "localName" }]).concat( { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay), []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts b/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts index a3c94a511b905..64726aec3dba6 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsFunction.ts @@ -25,7 +25,7 @@ function verifyFunctionWithoutOverload() { marker++; goTo.marker(marker.toString()); verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName(marker.toString()).position, length: "foo".length }, - [{ text: "(", kind: "punctuation" }, { text: "function", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "function", kind: "keyword" }, { text: " ", kind: "space" }, { text: "foo", kind: "functionName" }, { text: "(", kind: "punctuation" }, { text: "param", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" }, { text: ",", kind: "punctuation" }, { text: " ", kind: "space" }, @@ -43,7 +43,7 @@ function verifyFunctionWithOverload(functionName: string, type: string, overload marker++; goTo.marker(marker.toString()); verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName(marker.toString()).position, length: functionName.length }, - [{ text: "(", kind: "punctuation" }, { text: "function", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "function", kind: "keyword" }, { text: " ", kind: "space" }, { text: functionName, kind: "functionName" }, { text: "(", kind: "punctuation" }, { text: "a", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: type, kind: "keyword" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: type, kind: "keyword" }, diff --git a/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts b/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts index 2b88812d60df4..539ebeb066938 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsFunctionExpression.ts @@ -14,7 +14,7 @@ function verifyInstance(instanceName: string) { marker++; goTo.marker(marker.toString()); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(marker.toString()).position, length: instanceName.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }], diff --git a/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts b/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts index 410d45d32a156..0c18f1154fdc6 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsInterface.ts @@ -11,7 +11,7 @@ verify.verifyQuickInfoDisplayParts("interface", "", { start: test.markerByName(" goTo.marker('2'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("2").position, length: "iInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "iInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "i", kind: "interfaceName" }], []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts b/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts index 1b7fdad23aafc..e81c71a2a8dd1 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsInterfaceMembers.ts @@ -35,7 +35,7 @@ function verifyInterfaceMethod(markerName: string) { function verifyInterfaceInstanceVar(markerName: string, instanceName: string) { goTo.marker(markerName); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: instanceName.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: instanceName, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "I", kind: "interfaceName" }], []); @@ -52,7 +52,7 @@ verifyInterfaceMethod("6"); // Call signature goTo.marker("7"); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("7").position, length: "iInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "iInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "I", kind: "interfaceName" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, @@ -65,7 +65,7 @@ verifyInterfaceInstanceVar("8", "anotherInstance"); // Cosntruct signature goTo.marker("9"); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("9").position, length: "iInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "iInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "new", kind: "keyword" }, { text: " ", kind: "space" }, { text: "I", kind: "interfaceName" }, diff --git a/tests/cases/fourslash/quickInfoDisplayPartsLet.ts b/tests/cases/fourslash/quickInfoDisplayPartsLet.ts index b54617faa0e9f..71cad3db66f7e 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsLet.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsLet.ts @@ -27,7 +27,7 @@ function verifyVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNa marker++; goTo.marker(marker.toString()); verify.verifyQuickInfoDisplayParts("let", optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length }, - [{ text: "(", kind: "punctuation" }, { text: "let", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "let", kind: "keyword" }, { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat( { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay), []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts b/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts index b9578c7f5227f..8a449538383dc 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsLocalFunction.ts @@ -28,7 +28,7 @@ function verifyOuterFunction() { marker++; goTo.marker(marker.toString()); verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName(marker.toString()).position, length: "outerFoo".length }, - [{ text: "(", kind: "punctuation" }, { text: "function", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "function", kind: "keyword" }, { text: " ", kind: "space" }, { text: "outerFoo", kind: "functionName" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "void", kind: "keyword" }], []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsModules.ts b/tests/cases/fourslash/quickInfoDisplayPartsModules.ts index c86bce474ffd6..aaa415708f430 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsModules.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsModules.ts @@ -33,7 +33,7 @@ function verifyModule(name: string, optionalParentName?: string) { function verifyVar(name: string, optionalFullName?: ts.SymbolDisplayPart[], typeDisplay: ts.SymbolDisplayPart[]= [{ text: "number", kind: "keyword" }]) { goToMarker(); verify.verifyQuickInfoDisplayParts("var", optionalFullName ? "export" : "", { start: test.markerByName(marker.toString()).position, length: name.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }].concat(optionalFullName || [{ text: name, kind: "localName" }]).concat( { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay), []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts b/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts index a825030c98701..deea68aaf0ba4 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsParameters.ts @@ -9,7 +9,7 @@ goTo.marker("1"); verify.verifyQuickInfoDisplayParts("function", "", { start: test.markerByName('1').position, length: "foo".length }, - [{ text: "(", kind: "punctuation" }, { text: "function", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "function", kind: "keyword" }, { text: " ", kind: "space" }, { text: "foo", kind: "functionName" }, { text: "(", kind: "punctuation" }, { text: "param", kind: "parameterName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "string", kind: "keyword" }, { text: ",", kind: "punctuation" }, { text: " ", kind: "space" }, diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts index 5441ca353647c..dfbc5a6522145 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeAlias.ts @@ -26,7 +26,7 @@ verifyClassDisplay('3'); goTo.marker('4'); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName("4").position, length: "cInstance".length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: "cInstance", kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], []); @@ -35,7 +35,7 @@ verifyTypeAliasDisplay('5'); goTo.marker('6'); verify.verifyQuickInfoDisplayParts("constructor", "", { start: test.markerByName("6").position, length: "c".length }, - [{ text: "(", kind: "punctuation" }, { text: "constructor", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "constructor", kind: "keyword" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "c", kind: "className" }], diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts index dd32c8b236abe..ed4da7dac91d7 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInClass.ts @@ -75,7 +75,7 @@ function verifyTypeParameter(name: string, inDisplay: ts.SymbolDisplayPart[]) { function verifyConstructor(name: string, optionalInstanceType?: ts.SymbolDisplayPart[], optionalExtends?: ts.SymbolDisplayPart[]) { goToMarker(); - var constructorDisplay = [{ text: "(", kind: "punctuation" }, { text: "constructor", kind: "text" }, { text: ")", kind: "punctuation" }, + var constructorDisplay = [{ text: "constructor", kind: "keyword" }, { text: " ", kind: "space" }]; constructorDisplay = constructorDisplay.concat(getClassDisplay(name, optionalInstanceType, optionalExtends)); @@ -153,7 +153,7 @@ function verifyMethodDisplay(name: string, className: string, function verifyClassInstance(name: string, typeDisplay: ts.SymbolDisplayPart[]) { goToMarker(); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: name.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: name, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }].concat(typeDisplay), []); @@ -162,7 +162,7 @@ function verifyClassInstance(name: string, typeDisplay: ts.SymbolDisplayPart[]) function verifyVarTypeOf(name: string, typeOfSymbol: ts.SymbolDisplayPart) { goToMarker(); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: name.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: name, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "typeof", kind: "keyword" }, { text: " ", kind: "space" }].concat(typeOfSymbol), diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts index 0daabd43ad7c4..ff843b00db42a 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts @@ -85,8 +85,7 @@ function getFunctionDisplay(name: string, optionalInstanceType?: ts.SymbolDispla function verifyFunctionDisplay(name: string, optionalInstanceType?: ts.SymbolDisplayPart[], optionalExtends?: ts.SymbolDisplayPart[]) { goToMarker(); - var functionDisplay = [{ text: "(", kind: "punctuation" }, { text: "function", kind: "text" }, - { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }].concat( + var functionDisplay = [{ text: "function", kind: "keyword" }, { text: " ", kind: "space" }].concat( getFunctionDisplay(name, optionalInstanceType, optionalExtends)); verify.verifyQuickInfoDisplayParts("function", "", diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts index 95797166ea28b..d9ffd3fb922f4 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInInterface.ts @@ -154,7 +154,7 @@ function verifyMethodDisplay(name: string, interfaceName: string, function verifyInterfaceVar(name: string, typeDisplay: ts.SymbolDisplayPart[]) { goToMarker(); verify.verifyQuickInfoDisplayParts("var", "", { start: test.markerByName(markerName).position, length: name.length }, - [{ text: "(", kind: "punctuation" }, { text: "var", kind: "text" }, { text: ")", kind: "punctuation" }, + [{ text: "var", kind: "keyword" }, { text: " ", kind: "space" }, { text: name, kind: "localName" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }].concat(typeDisplay), []); diff --git a/tests/cases/fourslash/quickInfoDisplayPartsVar.ts b/tests/cases/fourslash/quickInfoDisplayPartsVar.ts index 56ccceb3ab376..a1f150d24576f 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsVar.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsVar.ts @@ -15,12 +15,22 @@ ////var /*11*/i = /*12*/h; /////*13*/h(10); /////*14*/h("hello"); - +debugger; var marker = 0; -function verifyVar(name: string, isLocal: boolean, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) { +function verifyVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) { marker++; goTo.marker(marker.toString()); - var kind = isLocal ? "local var" : "var"; + var kind = "var"; + verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length }, + [{ text: "var", kind: "keyword" }, + { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat( + { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay), + []); +} +function verifyLocalVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) { + marker++; + goTo.marker(marker.toString()); + var kind = "local var"; verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length }, [{ text: "(", kind: "punctuation" }, { text: kind, kind: "text" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat( @@ -28,20 +38,21 @@ function verifyVar(name: string, isLocal: boolean, typeDisplay: ts.SymbolDisplay []); } + var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }]; -verifyVar("a", /*isLocal*/false, numberTypeDisplay); -verifyVar("b", /*isLocal*/true, numberTypeDisplay); -verifyVar("a", /*isLocal*/false, numberTypeDisplay); -verifyVar("c", /*isLocal*/false, numberTypeDisplay); -verifyVar("d", /*isLocal*/false, numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export"); +verifyVar("a", numberTypeDisplay); +verifyLocalVar("b", numberTypeDisplay); +verifyVar("a", numberTypeDisplay); +verifyVar("c", numberTypeDisplay); +verifyVar("d", numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export"); var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }]; -verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); -verifyVar("g", /*isLocal*/ false, functionTypeReturningNumber); -verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); -verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); +verifyVar("f", functionTypeReturningNumber); +verifyVar("g", functionTypeReturningNumber); +verifyVar("f", functionTypeReturningNumber); +verifyVar("f", functionTypeReturningNumber); function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] { @@ -64,13 +75,13 @@ var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "p { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat( { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" }); -verifyVar("h", /*isLocal*/ false, typeLiteralWithOverloadCall); -verifyVar("i", /*isLocal*/ false, typeLiteralWithOverloadCall); -verifyVar("h", /*isLocal*/ false, typeLiteralWithOverloadCall); +verifyVar("h", typeLiteralWithOverloadCall); +verifyVar("i", typeLiteralWithOverloadCall); +verifyVar("h", typeLiteralWithOverloadCall); var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" }, { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" }, { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }]; -verifyVar("h", /*isLocal*/ false, getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay)); -verifyVar("h", /*isLocal*/ false, getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay)); \ No newline at end of file +verifyVar("h", getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay)); +verifyVar("h", getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay)); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoExportAssignmentOfGenericInterface.ts b/tests/cases/fourslash/quickInfoExportAssignmentOfGenericInterface.ts index 7a3b3b9d603a9..bf77d12669fce 100644 --- a/tests/cases/fourslash/quickInfoExportAssignmentOfGenericInterface.ts +++ b/tests/cases/fourslash/quickInfoExportAssignmentOfGenericInterface.ts @@ -13,4 +13,4 @@ goTo.file("quickInfoExportAssignmentOfGenericInterface_1.ts"); goTo.marker('1'); -verify.quickInfoIs("(var) x: a>", undefined); \ No newline at end of file +verify.quickInfoIs("var x: a>", undefined); diff --git a/tests/cases/fourslash/quickInfoForAliasedGeneric.ts b/tests/cases/fourslash/quickInfoForAliasedGeneric.ts index 30b8a16ba8970..1568fa79076eb 100644 --- a/tests/cases/fourslash/quickInfoForAliasedGeneric.ts +++ b/tests/cases/fourslash/quickInfoForAliasedGeneric.ts @@ -11,7 +11,7 @@ ////var /*2*/bb: d.D; goTo.marker('1'); -verify.quickInfoIs('(var) aa: d.C'); +verify.quickInfoIs('var aa: d.C'); goTo.marker('2'); -verify.quickInfoIs('(var) bb: d.D'); \ No newline at end of file +verify.quickInfoIs('var bb: d.D'); diff --git a/tests/cases/fourslash/quickInfoForConstDeclaration.ts b/tests/cases/fourslash/quickInfoForConstDeclaration.ts index 2b1f108c57940..a617e374b8ba0 100644 --- a/tests/cases/fourslash/quickInfoForConstDeclaration.ts +++ b/tests/cases/fourslash/quickInfoForConstDeclaration.ts @@ -3,4 +3,4 @@ ////const /**/c = 0 ; goTo.marker(); -verify.quickInfoIs("(const) c: number"); \ No newline at end of file +verify.quickInfoIs("const c: number"); diff --git a/tests/cases/fourslash/quickInfoForDerivedGenericTypeWithConstructor.ts b/tests/cases/fourslash/quickInfoForDerivedGenericTypeWithConstructor.ts index 34274a9c64317..066be20ff37c3 100644 --- a/tests/cases/fourslash/quickInfoForDerivedGenericTypeWithConstructor.ts +++ b/tests/cases/fourslash/quickInfoForDerivedGenericTypeWithConstructor.ts @@ -14,7 +14,7 @@ ////var /*2*/b2: B; goTo.marker('1'); -verify.quickInfoIs('(var) b: B'); +verify.quickInfoIs('var b: B'); goTo.marker('2'); -verify.quickInfoIs('(var) b2: B'); \ No newline at end of file +verify.quickInfoIs('var b2: B'); diff --git a/tests/cases/fourslash/quickInfoForFunctionDeclaration.ts b/tests/cases/fourslash/quickInfoForFunctionDeclaration.ts index 525959adc9a66..c19f2203f4455 100644 --- a/tests/cases/fourslash/quickInfoForFunctionDeclaration.ts +++ b/tests/cases/fourslash/quickInfoForFunctionDeclaration.ts @@ -12,7 +12,7 @@ ////var y = makeA(0); goTo.marker("makeA"); -verify.quickInfoIs("(function) makeA(t: T): A", undefined); +verify.quickInfoIs("function makeA(t: T): A", undefined); goTo.marker("f"); -verify.quickInfoIs("(function) f(t: T): A", undefined); \ No newline at end of file +verify.quickInfoIs("function f(t: T): A", undefined); diff --git a/tests/cases/fourslash/quickInfoForGenericPrototypeMember.ts b/tests/cases/fourslash/quickInfoForGenericPrototypeMember.ts index 895a897452ddd..48821bcd8f2b0 100644 --- a/tests/cases/fourslash/quickInfoForGenericPrototypeMember.ts +++ b/tests/cases/fourslash/quickInfoForGenericPrototypeMember.ts @@ -7,7 +7,7 @@ ////var y = C.proto/*2*/type; goTo.marker('1'); -verify.quickInfoIs('(constructor) C(): C'); +verify.quickInfoIs('constructor C(): C'); goTo.marker('2'); verify.quickInfoIs('(property) C.prototype: C'); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoForShorthandProperty.ts b/tests/cases/fourslash/quickInfoForShorthandProperty.ts index d4b30b0d736e2..0742459fc2083 100644 --- a/tests/cases/fourslash/quickInfoForShorthandProperty.ts +++ b/tests/cases/fourslash/quickInfoForShorthandProperty.ts @@ -7,14 +7,14 @@ //// var /*obj2*/obj2 = {/*name2*/name2, /*id2*/id2}; goTo.marker("obj1"); -verify.quickInfoIs("(var) obj1: {\n name1: any;\n id1: any;\n}"); +verify.quickInfoIs("var obj1: {\n name1: any;\n id1: any;\n}"); goTo.marker("name1"); verify.quickInfoIs("(property) name1: any"); goTo.marker("id1"); verify.quickInfoIs("(property) id1: any"); goTo.marker("obj2"); -verify.quickInfoIs("(var) obj2: {\n name2: string;\n id2: number;\n}"); +verify.quickInfoIs("var obj2: {\n name2: string;\n id2: number;\n}"); goTo.marker("name2"); verify.quickInfoIs("(property) name2: string"); goTo.marker("id2"); diff --git a/tests/cases/fourslash/quickInfoFromEmptyBlockComment.ts b/tests/cases/fourslash/quickInfoFromEmptyBlockComment.ts index 39da310bb251f..45c88ffc02f0b 100644 --- a/tests/cases/fourslash/quickInfoFromEmptyBlockComment.ts +++ b/tests/cases/fourslash/quickInfoFromEmptyBlockComment.ts @@ -7,4 +7,4 @@ ////var f/*A*/ff = new Foo(); goTo.marker('A'); -verify.quickInfoIs('(var) fff: Foo'); +verify.quickInfoIs('var fff: Foo'); diff --git a/tests/cases/fourslash/quickInfoInObjectLiteral.ts b/tests/cases/fourslash/quickInfoInObjectLiteral.ts index 94afb172be913..5c9828a7c52c2 100644 --- a/tests/cases/fourslash/quickInfoInObjectLiteral.ts +++ b/tests/cases/fourslash/quickInfoInObjectLiteral.ts @@ -22,4 +22,4 @@ goTo.marker("1"); verify.quickInfoIs("(property) y1: () => string", undefined); goTo.marker("2"); -verify.quickInfoIs("(var) value: number"); +verify.quickInfoIs("var value: number"); diff --git a/tests/cases/fourslash/quickInfoOfGenericTypeAssertions1.ts b/tests/cases/fourslash/quickInfoOfGenericTypeAssertions1.ts index b08026970b99f..b02767a025b85 100644 --- a/tests/cases/fourslash/quickInfoOfGenericTypeAssertions1.ts +++ b/tests/cases/fourslash/quickInfoOfGenericTypeAssertions1.ts @@ -8,10 +8,10 @@ ////var /*3*/r3 = < (x: (y: A) => A) => T>a; goTo.marker('1'); -verify.quickInfoIs('(var) r: (x: T) => T'); +verify.quickInfoIs('var r: (x: T) => T'); goTo.marker('2'); -verify.quickInfoIs('(var) r2: (x: T) => T'); +verify.quickInfoIs('var r2: (x: T) => T'); goTo.marker('3'); -verify.quickInfoIs('(var) r3: (x: (y: A) => A) => T'); \ No newline at end of file +verify.quickInfoIs('var r3: (x: (y: A) => A) => T'); diff --git a/tests/cases/fourslash/quickInfoOfStringPropertyNames1.ts b/tests/cases/fourslash/quickInfoOfStringPropertyNames1.ts index e44e5eb213bae..551db382668ea 100644 --- a/tests/cases/fourslash/quickInfoOfStringPropertyNames1.ts +++ b/tests/cases/fourslash/quickInfoOfStringPropertyNames1.ts @@ -21,13 +21,13 @@ ////var /*4*/r5 = b[1]; goTo.marker('1'); -verify.quickInfoIs('(var) r: string'); +verify.quickInfoIs('var r: string'); goTo.marker('2'); -verify.quickInfoIs('(var) r2: number'); +verify.quickInfoIs('var r2: number'); goTo.marker('3'); -verify.quickInfoIs('(var) r4: string'); +verify.quickInfoIs('var r4: string'); goTo.marker('4'); -verify.quickInfoIs('(var) r5: string'); +verify.quickInfoIs('var r5: string'); diff --git a/tests/cases/fourslash/quickInfoOnCircularTypes.ts b/tests/cases/fourslash/quickInfoOnCircularTypes.ts index e6a5277308706..92814e7818fbc 100644 --- a/tests/cases/fourslash/quickInfoOnCircularTypes.ts +++ b/tests/cases/fourslash/quickInfoOnCircularTypes.ts @@ -15,7 +15,7 @@ ////x/*B*/x = y/*C*/y; goTo.marker('B'); -verify.quickInfoIs('(var) xx: B'); +verify.quickInfoIs('var xx: B'); goTo.marker('C'); -verify.quickInfoIs('(var) yy: C'); +verify.quickInfoIs('var yy: C'); diff --git a/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts b/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts index 83cbd2bddb02e..d2ec8ca4f1417 100644 --- a/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts +++ b/tests/cases/fourslash/quickInfoOnConstructorWithGenericParameter.ts @@ -26,4 +26,4 @@ verify.currentSignatureHelpIs("B(a: Foo, b: number): B"); edit.insert("10);"); goTo.marker("2"); -verify.quickInfoIs("(constructor) B(a: Foo, b: number): B", undefined); \ No newline at end of file +verify.quickInfoIs("constructor B(a: Foo, b: number): B", undefined); diff --git a/tests/cases/fourslash/quickInfoOnErrorTypes1.ts b/tests/cases/fourslash/quickInfoOnErrorTypes1.ts index 097c9ff15d3b7..ba0c055762cf1 100644 --- a/tests/cases/fourslash/quickInfoOnErrorTypes1.ts +++ b/tests/cases/fourslash/quickInfoOnErrorTypes1.ts @@ -6,4 +6,4 @@ ////}; goTo.marker('A'); -verify.quickInfoIs('(var) f: {\n (): any;\n x: number;\n}', ""); +verify.quickInfoIs('var f: {\n (): any;\n x: number;\n}', ""); diff --git a/tests/cases/fourslash/quickInfoOnInternalAliases.ts b/tests/cases/fourslash/quickInfoOnInternalAliases.ts index b1c562df494eb..27ade4ff70fef 100644 --- a/tests/cases/fourslash/quickInfoOnInternalAliases.ts +++ b/tests/cases/fourslash/quickInfoOnInternalAliases.ts @@ -29,13 +29,13 @@ goTo.marker('3'); verify.quickInfoIs("class m1.m2.c", "class comment;"); goTo.marker('4'); -verify.quickInfoIs("(var) newVar: internalAlias", ""); +verify.quickInfoIs("var newVar: internalAlias", ""); goTo.marker('5'); verify.quickInfoIs("(alias) new internalAlias(): internalAlias\nimport internalAlias = m1.m2.c", ""); goTo.marker('6'); -verify.quickInfoIs("(var) anotherAliasVar: typeof internalAlias", ""); +verify.quickInfoIs("var anotherAliasVar: typeof internalAlias", ""); goTo.marker('7'); verify.quickInfoIs("import internalAlias = m1.m2.c", "This is on import declaration"); @@ -44,16 +44,16 @@ goTo.marker('8'); verify.quickInfoIs('import internalFoo = m1.foo', ""); goTo.marker('9'); -verify.quickInfoIs("(function) m1.foo(): void", ""); +verify.quickInfoIs("function m1.foo(): void", ""); goTo.marker('10'); -verify.quickInfoIs("(var) callVar: void", ""); +verify.quickInfoIs("var callVar: void", ""); goTo.marker('11'); verify.quickInfoIs("(alias) internalFoo(): void\nimport internalFoo = m1.foo", ""); goTo.marker('12'); -verify.quickInfoIs("(var) anotherAliasFoo: () => void", ""); +verify.quickInfoIs("var anotherAliasFoo: () => void", ""); goTo.marker('13'); verify.quickInfoIs("import internalFoo = m1.foo", ""); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoOnMergedInterfaces.ts b/tests/cases/fourslash/quickInfoOnMergedInterfaces.ts index a8e6e292d4454..5b3cdfcb63a16 100644 --- a/tests/cases/fourslash/quickInfoOnMergedInterfaces.ts +++ b/tests/cases/fourslash/quickInfoOnMergedInterfaces.ts @@ -17,4 +17,4 @@ ////} goTo.marker('1'); -verify.quickInfoIs("(var) r4: number"); \ No newline at end of file +verify.quickInfoIs("var r4: number"); diff --git a/tests/cases/fourslash/quickInfoOnMergedInterfacesWithIncrementalEdits.ts b/tests/cases/fourslash/quickInfoOnMergedInterfacesWithIncrementalEdits.ts index c08c16f1b6681..8ad8389b6020d 100644 --- a/tests/cases/fourslash/quickInfoOnMergedInterfacesWithIncrementalEdits.ts +++ b/tests/cases/fourslash/quickInfoOnMergedInterfacesWithIncrementalEdits.ts @@ -22,5 +22,5 @@ edit.backspace(1); edit.insert('a'); verify.quickInfoIs("(property) B.bar: string", undefined); goTo.marker('2'); -verify.quickInfoIs("(var) r4: string", undefined); +verify.quickInfoIs("var r4: string", undefined); verify.numberOfErrorsInCurrentFile(0); diff --git a/tests/cases/fourslash/quickInfoOnNarrowedTypeInModule.ts b/tests/cases/fourslash/quickInfoOnNarrowedTypeInModule.ts index 79d794a9c0de7..b2826d016509e 100644 --- a/tests/cases/fourslash/quickInfoOnNarrowedTypeInModule.ts +++ b/tests/cases/fourslash/quickInfoOnNarrowedTypeInModule.ts @@ -27,25 +27,25 @@ ////} goTo.marker('1'); -verify.quickInfoIs('(var) nonExportedStrOrNum: string | number'); -verify.completionListContains("nonExportedStrOrNum", "(var) nonExportedStrOrNum: string | number"); +verify.quickInfoIs('var nonExportedStrOrNum: string | number'); +verify.completionListContains("nonExportedStrOrNum", "var nonExportedStrOrNum: string | number"); goTo.marker('2'); -verify.quickInfoIs('(var) nonExportedStrOrNum: number'); -verify.completionListContains("nonExportedStrOrNum", "(var) nonExportedStrOrNum: number"); +verify.quickInfoIs('var nonExportedStrOrNum: number'); +verify.completionListContains("nonExportedStrOrNum", "var nonExportedStrOrNum: number"); goTo.marker('3'); -verify.quickInfoIs('(var) nonExportedStrOrNum: string'); -verify.completionListContains("nonExportedStrOrNum", "(var) nonExportedStrOrNum: string"); +verify.quickInfoIs('var nonExportedStrOrNum: string'); +verify.completionListContains("nonExportedStrOrNum", "var nonExportedStrOrNum: string"); ['4', '5', '6', '7', '8', '9'].forEach((marker, index, arr) => { goTo.marker(marker); - verify.quickInfoIs('(var) m.exportedStrOrNum: string | number'); - verify.completionListContains("exportedStrOrNum", "(var) m.exportedStrOrNum: string | number"); + verify.quickInfoIs('var m.exportedStrOrNum: string | number'); + verify.completionListContains("exportedStrOrNum", "var m.exportedStrOrNum: string | number"); }); ['7', '8', '9'].forEach((marker, index, arr) => { goTo.marker(marker); - verify.quickInfoIs('(var) m.exportedStrOrNum: string | number'); - verify.memberListContains("exportedStrOrNum", "(var) m.exportedStrOrNum: string | number"); + verify.quickInfoIs('var m.exportedStrOrNum: string | number'); + verify.memberListContains("exportedStrOrNum", "var m.exportedStrOrNum: string | number"); }); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoOnObjectLiteralWithAccessors.ts b/tests/cases/fourslash/quickInfoOnObjectLiteralWithAccessors.ts index 0803bc6910988..c326cb0236adb 100644 --- a/tests/cases/fourslash/quickInfoOnObjectLiteralWithAccessors.ts +++ b/tests/cases/fourslash/quickInfoOnObjectLiteralWithAccessors.ts @@ -12,10 +12,10 @@ ////point./*3*/x = 30; goTo.marker('1'); -verify.quickInfoIs("(function) makePoint(x: number): {\n b: number;\n x: number;\n}", undefined); +verify.quickInfoIs("function makePoint(x: number): {\n b: number;\n x: number;\n}", undefined); goTo.marker('2'); -verify.quickInfoIs("(var) x: number", undefined); +verify.quickInfoIs("var x: number", undefined); goTo.marker('3'); verify.memberListContains("x", "(property) x: number", undefined); @@ -23,4 +23,4 @@ verify.memberListContains("b", "(property) b: number", undefined); verify.quickInfoIs("(property) x: number", undefined); goTo.marker('4'); -verify.quickInfoIs("(var) point: {\n b: number;\n x: number;\n}", undefined); \ No newline at end of file +verify.quickInfoIs("var point: {\n b: number;\n x: number;\n}", undefined); diff --git a/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlyGetter.ts b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlyGetter.ts index b85a82c63d5eb..53f5e6988b7fe 100644 --- a/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlyGetter.ts +++ b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlyGetter.ts @@ -9,13 +9,13 @@ ////var /*2*/x = point./*3*/x; goTo.marker('1'); -verify.quickInfoIs("(function) makePoint(x: number): {\n x: number;\n}", undefined); +verify.quickInfoIs("function makePoint(x: number): {\n x: number;\n}", undefined); goTo.marker('2'); -verify.quickInfoIs("(var) x: number", undefined); +verify.quickInfoIs("var x: number", undefined); goTo.marker('3'); verify.memberListContains("x", "(property) x: number", undefined); goTo.marker('4'); -verify.quickInfoIs("(var) point: {\n x: number;\n}", undefined); +verify.quickInfoIs("var point: {\n x: number;\n}", undefined); diff --git a/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlySetter.ts b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlySetter.ts index 0cc7b6d0ed3cf..94bf486fef69e 100644 --- a/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlySetter.ts +++ b/tests/cases/fourslash/quickInfoOnObjectLiteralWithOnlySetter.ts @@ -10,7 +10,7 @@ ////point./*2*/x = 30; goTo.marker('1'); -verify.quickInfoIs("(function) makePoint(x: number): {\n b: number;\n x: number;\n}", undefined); +verify.quickInfoIs("function makePoint(x: number): {\n b: number;\n x: number;\n}", undefined); goTo.marker('2'); verify.memberListContains("x", "(property) x: number", undefined); @@ -18,4 +18,4 @@ verify.memberListContains("b", "(property) b: number", undefined); verify.quickInfoIs("(property) x: number", undefined); goTo.marker('3'); -verify.quickInfoIs("(var) point: {\n b: number;\n x: number;\n}", undefined); \ No newline at end of file +verify.quickInfoIs("var point: {\n b: number;\n x: number;\n}", undefined); diff --git a/tests/cases/fourslash/quickInfoOnUndefined.ts b/tests/cases/fourslash/quickInfoOnUndefined.ts index 1bb516d2c18dc..6be4a7edc70c8 100644 --- a/tests/cases/fourslash/quickInfoOnUndefined.ts +++ b/tests/cases/fourslash/quickInfoOnUndefined.ts @@ -9,7 +9,7 @@ ////x./*2*/undefined = 30; goTo.marker('1'); -verify.quickInfoIs('(var) undefined'); +verify.quickInfoIs('var undefined'); goTo.marker('2'); verify.quickInfoIs('(property) undefined: number'); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoShowsGenericSpecialization.ts b/tests/cases/fourslash/quickInfoShowsGenericSpecialization.ts index ab8454a3a27c7..86d24bd31ab21 100644 --- a/tests/cases/fourslash/quickInfoShowsGenericSpecialization.ts +++ b/tests/cases/fourslash/quickInfoShowsGenericSpecialization.ts @@ -4,4 +4,4 @@ ////var /**/foo = new A(); goTo.marker(); -verify.quickInfoIs('(var) foo: A'); +verify.quickInfoIs('var foo: A'); diff --git a/tests/cases/fourslash/quickinfoForUnionProperty.ts b/tests/cases/fourslash/quickinfoForUnionProperty.ts index b5c7dc0a01c0f..5292eb6c2c889 100644 --- a/tests/cases/fourslash/quickinfoForUnionProperty.ts +++ b/tests/cases/fourslash/quickinfoForUnionProperty.ts @@ -17,7 +17,7 @@ goTo.marker("1"); -verify.quickInfoIs('(var) x: One | Two'); +verify.quickInfoIs('var x: One | Two'); goTo.marker("2"); diff --git a/tests/cases/fourslash/quickinfoIsConsistent.ts b/tests/cases/fourslash/quickinfoIsConsistent.ts index cc27e698d34e5..d4b14f00ec1ef 100644 --- a/tests/cases/fourslash/quickinfoIsConsistent.ts +++ b/tests/cases/fourslash/quickinfoIsConsistent.ts @@ -8,5 +8,5 @@ [1, 2, 3].forEach((val) => { goTo.marker("" + val); - verify.quickInfoIs("(var) f: (x: number) => number", ""); + verify.quickInfoIs("var f: (x: number) => number", ""); } ); \ No newline at end of file diff --git a/tests/cases/fourslash/recursiveObjectLiteral.ts b/tests/cases/fourslash/recursiveObjectLiteral.ts index c384ab135c50f..a1d15d0d9a4a5 100644 --- a/tests/cases/fourslash/recursiveObjectLiteral.ts +++ b/tests/cases/fourslash/recursiveObjectLiteral.ts @@ -3,4 +3,4 @@ ////var a = { f: /**/a goTo.marker(); -verify.quickInfoIs("(var) a: any", null); \ No newline at end of file +verify.quickInfoIs("var a: any", null); diff --git a/tests/cases/fourslash/recursiveWrappedTypeParameters1.ts b/tests/cases/fourslash/recursiveWrappedTypeParameters1.ts index c7794b6674719..197e0a60722c1 100644 --- a/tests/cases/fourslash/recursiveWrappedTypeParameters1.ts +++ b/tests/cases/fourslash/recursiveWrappedTypeParameters1.ts @@ -15,22 +15,22 @@ ////var f/*7*/f = x.c.c; goTo.marker('1'); -verify.quickInfoIs('(var) yy: I>>>>>'); +verify.quickInfoIs('var yy: I>>>>>'); goTo.marker('2'); -verify.quickInfoIs('(var) aa: number'); +verify.quickInfoIs('var aa: number'); goTo.marker('3'); -verify.quickInfoIs('(var) bb: I'); +verify.quickInfoIs('var bb: I'); goTo.marker('4'); -verify.quickInfoIs('(var) cc: I>'); +verify.quickInfoIs('var cc: I>'); goTo.marker('5'); -verify.quickInfoIs('(var) dd: I'); +verify.quickInfoIs('var dd: I'); goTo.marker('6'); -verify.quickInfoIs('(var) ee: I>'); +verify.quickInfoIs('var ee: I>'); goTo.marker('7'); -verify.quickInfoIs('(var) ff: I>>'); \ No newline at end of file +verify.quickInfoIs('var ff: I>>'); diff --git a/tests/cases/fourslash/regexp.ts b/tests/cases/fourslash/regexp.ts index 6aae13993f33f..8431268923522 100644 --- a/tests/cases/fourslash/regexp.ts +++ b/tests/cases/fourslash/regexp.ts @@ -3,4 +3,4 @@ ////var /**/x = /aa/; goTo.marker(); -verify.quickInfoIs("(var) x: RegExp"); +verify.quickInfoIs("var x: RegExp"); diff --git a/tests/cases/fourslash/returnRecursiveType.ts b/tests/cases/fourslash/returnRecursiveType.ts index d87eac63f68c6..f72452f377039 100644 --- a/tests/cases/fourslash/returnRecursiveType.ts +++ b/tests/cases/fourslash/returnRecursiveType.ts @@ -8,4 +8,4 @@ ////var My/**/Var = MyFn(); goTo.marker(); -verify.quickInfoIs('(var) MyVar: MyInt'); \ No newline at end of file +verify.quickInfoIs('var MyVar: MyInt'); diff --git a/tests/cases/fourslash/returnTypeOfGenericFunction1.ts b/tests/cases/fourslash/returnTypeOfGenericFunction1.ts index 7d8d7e335c57e..1baca5cd92785 100644 --- a/tests/cases/fourslash/returnTypeOfGenericFunction1.ts +++ b/tests/cases/fourslash/returnTypeOfGenericFunction1.ts @@ -7,4 +7,4 @@ ////var /**/y = x.map(s => s.length); goTo.marker(); -verify.quickInfoIs('(var) y: number[]'); +verify.quickInfoIs('var y: number[]'); diff --git a/tests/cases/fourslash/selfReferencedExternalModule.ts b/tests/cases/fourslash/selfReferencedExternalModule.ts index f5e955839c743..39d785ffb0dc0 100644 --- a/tests/cases/fourslash/selfReferencedExternalModule.ts +++ b/tests/cases/fourslash/selfReferencedExternalModule.ts @@ -6,4 +6,4 @@ goTo.marker(); verify.completionListContains("A", "import A = require('app')"); -verify.completionListContains("I", "(var) I: number"); \ No newline at end of file +verify.completionListContains("I", "var I: number"); diff --git a/tests/cases/fourslash/selfReferencedExternalModule2.ts b/tests/cases/fourslash/selfReferencedExternalModule2.ts index 9b1c4470c993f..ab1f7a6c9018e 100644 --- a/tests/cases/fourslash/selfReferencedExternalModule2.ts +++ b/tests/cases/fourslash/selfReferencedExternalModule2.ts @@ -10,7 +10,7 @@ ////export var Y = 1; goTo.marker("1"); -verify.quickInfoIs("(var) A.Y: number"); +verify.quickInfoIs("var A.Y: number"); goTo.marker("2"); -verify.quickInfoIs("(var) I: number"); +verify.quickInfoIs("var I: number"); diff --git a/tests/cases/fourslash/server/completions2.ts b/tests/cases/fourslash/server/completions2.ts index b34aad66ba264..3e7e77b588c8d 100644 --- a/tests/cases/fourslash/server/completions2.ts +++ b/tests/cases/fourslash/server/completions2.ts @@ -15,4 +15,4 @@ edit.insert("a"); edit.backspace(); // Checking for completion details after edit should work too -verify.completionEntryDetailIs("x", "(var) Foo.x: number"); +verify.completionEntryDetailIs("x", "var Foo.x: number"); diff --git a/tests/cases/fourslash/server/quickinfo.ts b/tests/cases/fourslash/server/quickinfo.ts index b5c7dc0a01c0f..5292eb6c2c889 100644 --- a/tests/cases/fourslash/server/quickinfo.ts +++ b/tests/cases/fourslash/server/quickinfo.ts @@ -17,7 +17,7 @@ goTo.marker("1"); -verify.quickInfoIs('(var) x: One | Two'); +verify.quickInfoIs('var x: One | Two'); goTo.marker("2"); diff --git a/tests/cases/fourslash/shims/getQuickInfoAtPosition.ts b/tests/cases/fourslash/shims/getQuickInfoAtPosition.ts index 6c9fc7cf7958c..ef201f6709670 100644 --- a/tests/cases/fourslash/shims/getQuickInfoAtPosition.ts +++ b/tests/cases/fourslash/shims/getQuickInfoAtPosition.ts @@ -7,10 +7,10 @@ ////var x/*3*/3 = new SS; goTo.marker('1'); -verify.quickInfoIs('(var) x1: SS'); +verify.quickInfoIs('var x1: SS'); goTo.marker('2'); -verify.quickInfoIs('(var) x2: SS<{}>'); +verify.quickInfoIs('var x2: SS<{}>'); goTo.marker('3'); -verify.quickInfoIs('(var) x3: SS<{}>'); \ No newline at end of file +verify.quickInfoIs('var x3: SS<{}>'); diff --git a/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts b/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts index 56ccceb3ab376..234c23277b6a0 100644 --- a/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts +++ b/tests/cases/fourslash/shims/quickInfoDisplayPartsVar.ts @@ -17,10 +17,20 @@ /////*14*/h("hello"); var marker = 0; -function verifyVar(name: string, isLocal: boolean, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) { +function verifyVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) { marker++; goTo.marker(marker.toString()); - var kind = isLocal ? "local var" : "var"; + var kind = "var"; + verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length }, + [{ text: kind, kind: "keyword" }, + { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat( + { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }).concat(typeDisplay), + []); +} +function verifyLocalVar(name: string, typeDisplay: ts.SymbolDisplayPart[], optionalNameDisplay?: ts.SymbolDisplayPart[], optionalKindModifiers?: string) { + marker++; + goTo.marker(marker.toString()); + var kind = "local var"; verify.verifyQuickInfoDisplayParts(kind, optionalKindModifiers || "", { start: test.markerByName(marker.toString()).position, length: name.length }, [{ text: "(", kind: "punctuation" }, { text: kind, kind: "text" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }].concat(optionalNameDisplay || [{ text: name, kind: "localName" }]).concat( @@ -30,18 +40,18 @@ function verifyVar(name: string, isLocal: boolean, typeDisplay: ts.SymbolDisplay var numberTypeDisplay: ts.SymbolDisplayPart[] = [{ text: "number", kind: "keyword" }]; -verifyVar("a", /*isLocal*/false, numberTypeDisplay); -verifyVar("b", /*isLocal*/true, numberTypeDisplay); -verifyVar("a", /*isLocal*/false, numberTypeDisplay); -verifyVar("c", /*isLocal*/false, numberTypeDisplay); -verifyVar("d", /*isLocal*/false, numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export"); +verifyVar("a", numberTypeDisplay); +verifyLocalVar("b", numberTypeDisplay); +verifyVar("a", numberTypeDisplay); +verifyVar("c", numberTypeDisplay); +verifyVar("d", numberTypeDisplay, [{ text: "m", kind: "moduleName" }, { text: ".", kind: "punctuation" }, { text: "d", kind: "localName" }], "export"); var functionTypeReturningNumber: ts.SymbolDisplayPart[] = [{ text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "=>", kind: "punctuation" }, { text: " ", kind: "space" }, { text: "number", kind: "keyword" }]; -verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); -verifyVar("g", /*isLocal*/ false, functionTypeReturningNumber); -verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); -verifyVar("f", /*isLocal*/ false, functionTypeReturningNumber); +verifyVar("f", functionTypeReturningNumber); +verifyVar("g", functionTypeReturningNumber); +verifyVar("f", functionTypeReturningNumber); +verifyVar("f", functionTypeReturningNumber); function getFunctionType(parametertype: string, returnType: string, isArrow?: boolean): ts.SymbolDisplayPart[] { @@ -64,13 +74,13 @@ var typeLiteralWithOverloadCall: ts.SymbolDisplayPart[] = [{ text: "{", kind: "p { text: " ", kind: "space" }).concat(getFunctionType("number", "string")).concat( { text: ";", kind: "punctuation" }, { text: "\n", kind: "lineBreak" }, { text: "}", kind: "punctuation" }); -verifyVar("h", /*isLocal*/ false, typeLiteralWithOverloadCall); -verifyVar("i", /*isLocal*/ false, typeLiteralWithOverloadCall); -verifyVar("h", /*isLocal*/ false, typeLiteralWithOverloadCall); +verifyVar("h", typeLiteralWithOverloadCall); +verifyVar("i", typeLiteralWithOverloadCall); +verifyVar("h", typeLiteralWithOverloadCall); var overloadDisplay: ts.SymbolDisplayPart[] = [{ text: " ", kind: "space" }, { text: "(", kind: "punctuation" }, { text: "+", kind: "operator" }, { text: "1", kind: "numericLiteral" }, { text: " ", kind: "space" }, { text: "overload", kind: "text" }, { text: ")", kind: "punctuation" }]; -verifyVar("h", /*isLocal*/ false, getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay)); -verifyVar("h", /*isLocal*/ false, getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay)); \ No newline at end of file +verifyVar("h", getFunctionType("number", "string", /*isArrow*/true).concat(overloadDisplay)); +verifyVar("h", getFunctionType("string", "number", /*isArrow*/true).concat(overloadDisplay)); \ No newline at end of file diff --git a/tests/cases/fourslash/stringPropertyNames1.ts b/tests/cases/fourslash/stringPropertyNames1.ts index e3def4e34d559..446ac52aaacf4 100644 --- a/tests/cases/fourslash/stringPropertyNames1.ts +++ b/tests/cases/fourslash/stringPropertyNames1.ts @@ -7,4 +7,4 @@ ////var /**/x = a['artist']; goTo.marker(); -verify.quickInfoIs('(var) x: number'); \ No newline at end of file +verify.quickInfoIs('var x: number'); diff --git a/tests/cases/fourslash/stringPropertyNames2.ts b/tests/cases/fourslash/stringPropertyNames2.ts index b9250bc7616ec..58ccbacc09dc4 100644 --- a/tests/cases/fourslash/stringPropertyNames2.ts +++ b/tests/cases/fourslash/stringPropertyNames2.ts @@ -7,4 +7,4 @@ ////var /**/x = a['artist']; goTo.marker(); -verify.quickInfoIs('(var) x: number'); \ No newline at end of file +verify.quickInfoIs('var x: number'); diff --git a/tests/cases/fourslash/typeOfAFundule.ts b/tests/cases/fourslash/typeOfAFundule.ts index d2ddb4e6df5ce..c2b615d25e567 100644 --- a/tests/cases/fourslash/typeOfAFundule.ts +++ b/tests/cases/fourslash/typeOfAFundule.ts @@ -8,4 +8,4 @@ ////var /**/r13 = foo13(); goTo.marker(); -verify.quickInfoIs('(var) r13: typeof m1'); +verify.quickInfoIs('var r13: typeof m1'); diff --git a/tests/cases/fourslash/typedGenericPrototypeMember.ts b/tests/cases/fourslash/typedGenericPrototypeMember.ts index 016a7f7329800..5c348a3246d76 100644 --- a/tests/cases/fourslash/typedGenericPrototypeMember.ts +++ b/tests/cases/fourslash/typedGenericPrototypeMember.ts @@ -7,7 +7,7 @@ ////var /*2*/y = C.prototype; // Quick Info for y is C<{}> goTo.marker('1'); -verify.quickInfoIs('(var) x: C'); +verify.quickInfoIs('var x: C'); goTo.marker('2'); -verify.quickInfoIs('(var) y: C'); +verify.quickInfoIs('var y: C'); diff --git a/tests/cases/fourslash/underscoreTypings1.ts b/tests/cases/fourslash/underscoreTypings1.ts index 9a0bada65f2d7..6ad1c902b701d 100644 --- a/tests/cases/fourslash/underscoreTypings1.ts +++ b/tests/cases/fourslash/underscoreTypings1.ts @@ -28,32 +28,32 @@ ////var e = a.map(x => x./*13*/ goTo.marker('1'); -verify.quickInfoIs('(var) b: number[]'); +verify.quickInfoIs('var b: number[]'); goTo.marker('2'); verify.quickInfoIs('(parameter) x: string'); goTo.marker('3'); -verify.quickInfoIs('(var) c: number[]'); +verify.quickInfoIs('var c: number[]'); goTo.marker('4'); verify.quickInfoIs('(parameter) x: string'); goTo.marker('5'); -verify.quickInfoIs('(var) d: number[]'); +verify.quickInfoIs('var d: number[]'); goTo.marker('6'); verify.quickInfoIs('(parameter) x: string'); goTo.marker('7'); -verify.quickInfoIs('(var) bb: any[]'); +verify.quickInfoIs('var bb: any[]'); goTo.marker('8'); verify.quickInfoIs('(parameter) x: any'); goTo.marker('9'); -verify.quickInfoIs('(var) cc: any[]'); +verify.quickInfoIs('var cc: any[]'); goTo.marker('10'); verify.quickInfoIs('(parameter) x: any'); goTo.marker('11'); -verify.quickInfoIs('(var) dd: any[]'); +verify.quickInfoIs('var dd: any[]'); goTo.marker('12'); verify.quickInfoIs('(parameter) x: any'); diff --git a/tests/cases/fourslash/verifySingleFileEmitOutput1.ts b/tests/cases/fourslash/verifySingleFileEmitOutput1.ts index cd8c123c5b24a..f1c9002390fab 100644 --- a/tests/cases/fourslash/verifySingleFileEmitOutput1.ts +++ b/tests/cases/fourslash/verifySingleFileEmitOutput1.ts @@ -11,4 +11,4 @@ ////var /**/b = new f.A(); goTo.marker(); -verify.quickInfoIs('(var) b: f.A'); \ No newline at end of file +verify.quickInfoIs('var b: f.A'); diff --git a/tests/cases/fourslash/widenedTypes.ts b/tests/cases/fourslash/widenedTypes.ts index d657d5a40546b..3bc2f31d9acdd 100644 --- a/tests/cases/fourslash/widenedTypes.ts +++ b/tests/cases/fourslash/widenedTypes.ts @@ -6,13 +6,13 @@ ////var /*4*/d = [null, undefined]; // var d: any[] goTo.marker('1'); -verify.quickInfoIs('(var) a: any'); +verify.quickInfoIs('var a: any'); goTo.marker('2'); -verify.quickInfoIs('(var) b: any'); +verify.quickInfoIs('var b: any'); goTo.marker('3'); -verify.quickInfoIs('(var) c: {\n x: number;\n y: any;\n}'); +verify.quickInfoIs('var c: {\n x: number;\n y: any;\n}'); goTo.marker('4'); -verify.quickInfoIs('(var) d: any[]'); +verify.quickInfoIs('var d: any[]'); From c459bb7ce9eb88bb1918adf862330418ddb36e57 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 00:25:23 -0700 Subject: [PATCH 06/12] CR feedback. --- src/services/services.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index bfff0522f9336..b24a51f3db766 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2443,8 +2443,8 @@ module ts { }; } - function getCompletionData(fileName: string, position: number, symbolName?: string): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node } { - let result = getCompletionSymbolsWorker(fileName, position, symbolName); + function getCompletionData(fileName: string, position: number, symbolName?: string) { + let result = getCompletionDataWorker(fileName, position, symbolName); if (!result) { return undefined; } @@ -2457,7 +2457,7 @@ module ts { return result; } - function getCompletionSymbolsWorker(fileName: string, position: number, symbolName: string): { symbols: Symbol[], isMemberCompletion: boolean, isNewIdentifierLocation: boolean, location: Node }{ + function getCompletionDataWorker(fileName: string, position: number, symbolName: string) { let syntacticStart = new Date().getTime(); let sourceFile = getValidSourceFile(fileName); @@ -2590,8 +2590,8 @@ module ts { let symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace | SymbolFlags.Alias; // Filter down to the symbol that matches the symbolName if we were given one. - let predicate: (s: Symbol) => boolean = symbolName - ? s => getValidCompletionEntryDisplayName(s, target) === symbolName + let predicate = symbolName !== undefined + ? (s: Symbol) => getValidCompletionEntryDisplayName(s, target) === symbolName : undefined; symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings, predicate); } From 4802b4b2d60df72426a42371c0fb4ee019114434 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 00:35:30 -0700 Subject: [PATCH 07/12] CR feedback. --- src/services/services.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/services/services.ts b/src/services/services.ts index b24a51f3db766..cbdaa3b481687 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2666,7 +2666,7 @@ module ts { case SyntaxKind.EqualsToken: return containingNodeKind === SyntaxKind.VariableDeclaration // let x = a| - || containingNodeKind === SyntaxKind.BinaryExpression; // x = a| + || containingNodeKind === SyntaxKind.BinaryExpression; // x = a| case SyntaxKind.TemplateHead: return containingNodeKind === SyntaxKind.TemplateExpression; // `aa ${| From a5bd9196f26b89de27aff450130efa6cba70f39b Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 01:10:03 -0700 Subject: [PATCH 08/12] PR feedback. --- src/services/services.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/services/services.ts b/src/services/services.ts index cbdaa3b481687..2face29abcbcf 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2443,6 +2443,11 @@ module ts { }; } + // If symbolName is undefined, all symbols at the specified are returned. If symbolName + // is not undefined, then the first symbol with that name at the specified position + // will be returned. Calling without symbolName is useful when you want the entire + // list of symbols (like for getCompletionsAtPosition). Calling with a symbolName is + // useful when you want information about a single symbol (like for getCompletionEntryDetails). function getCompletionData(fileName: string, position: number, symbolName?: string) { let result = getCompletionDataWorker(fileName, position, symbolName); if (!result) { From 8d55fe00dd431f765e5edbe084e50d56a53d4a3c Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 12:28:41 -0700 Subject: [PATCH 09/12] PR feedback. --- src/services/services.ts | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 2face29abcbcf..9de88f2a7e76a 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -3379,17 +3379,19 @@ module ts { } function pushTypePart(symbolKind: string) { - if (symbolKind === ScriptElementKind.variableElement || - symbolKind === ScriptElementKind.functionElement || - symbolKind === ScriptElementKind.letElement || - symbolKind === ScriptElementKind.constElement || - symbolKind === ScriptElementKind.constructorImplementationElement) { - displayParts.push(textOrKeywordPart(symbolKind)); - } - else { - displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); - displayParts.push(textOrKeywordPart(symbolKind)); - displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + switch (symbolKind) { + case ScriptElementKind.variableElement: + case ScriptElementKind.functionElement: + case ScriptElementKind.letElement: + case ScriptElementKind.constElement: + case ScriptElementKind.constructorImplementationElement: + displayParts.push(textOrKeywordPart(symbolKind)); + return; + default: + displayParts.push(punctuationPart(SyntaxKind.OpenParenToken)); + displayParts.push(textOrKeywordPart(symbolKind)); + displayParts.push(punctuationPart(SyntaxKind.CloseParenToken)); + return; } } From 63278ca037d722611d644f460fd764a06e3dd2b3 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 15:30:32 -0700 Subject: [PATCH 10/12] Don't bother with a predicate. It doesn't provide enough of a perf savings. --- src/compiler/checker.ts | 56 +++-------- src/compiler/types.ts | 2 +- src/services/services.ts | 92 +++++++++---------- .../baselines/reference/APISample_compile.js | 2 +- .../reference/APISample_compile.types | 7 +- tests/baselines/reference/APISample_linter.js | 2 +- .../reference/APISample_linter.types | 7 +- .../reference/APISample_transform.js | 2 +- .../reference/APISample_transform.types | 7 +- .../baselines/reference/APISample_watcher.js | 2 +- .../reference/APISample_watcher.types | 7 +- 11 files changed, 69 insertions(+), 117 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 67a62165e0dc3..ddea4cf296693 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10556,7 +10556,7 @@ module ts { return false; } - function getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[] { + function getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[] { let symbols: SymbolTable = {}; let memberFlags: NodeFlags = 0; @@ -10572,85 +10572,59 @@ module ts { function populateSymbols() { while (location) { if (location.locals && !isGlobalSourceFile(location)) { - if (copySymbols(location.locals, meaning)) { - return; - } + copySymbols(location.locals, meaning); } + switch (location.kind) { case SyntaxKind.SourceFile: if (!isExternalModule(location)) { break; } case SyntaxKind.ModuleDeclaration: - if (copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.ModuleMember)) { - return; - } + copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.ModuleMember); break; case SyntaxKind.EnumDeclaration: - if (copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.EnumMember)) { - return; - } + copySymbols(getSymbolOfNode(location).exports, meaning & SymbolFlags.EnumMember); break; case SyntaxKind.ClassDeclaration: case SyntaxKind.InterfaceDeclaration: if (!(memberFlags & NodeFlags.Static)) { - if (copySymbols(getSymbolOfNode(location).members, meaning & SymbolFlags.Type)) { - return; - } + copySymbols(getSymbolOfNode(location).members, meaning & SymbolFlags.Type); } break; case SyntaxKind.FunctionExpression: if ((location).name) { - if (copySymbol(location.symbol, meaning)) { - return; - } + copySymbol(location.symbol, meaning); } break; } + memberFlags = location.flags; location = location.parent; } - if (copySymbols(globals, meaning)) { - return; - } + + copySymbols(globals, meaning); } // Returns 'true' if we should stop processing symbols. - function copySymbol(symbol: Symbol, meaning: SymbolFlags): boolean { + function copySymbol(symbol: Symbol, meaning: SymbolFlags): void { if (symbol.flags & meaning) { let id = symbol.name; if (!isReservedMemberName(id) && !hasProperty(symbols, id)) { - if (predicate) { - // If we were supplied a predicate function, then check if this symbol - // matches with it. If so, we're done and can immediately return. - // Otherwise, just ignore this symbol and keep going. - if (predicate(symbol)) { - symbols[id] = symbol; - return true; - } - } - else { - // If no predicate was supplied, then just add the symbol as is. - symbols[id] = symbol; - } + // If no predicate was supplied, then just add the symbol as is. + symbols[id] = symbol; } } - - return false; } - function copySymbols(source: SymbolTable, meaning: SymbolFlags): boolean { + function copySymbols(source: SymbolTable, meaning: SymbolFlags): void { if (meaning) { for (let id in source) { if (hasProperty(source, id)) { - if (copySymbol(source[id], meaning)) { - return true; - } + copySymbol(source[id], meaning); } } } - - return false; } } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 71ddb4d3261cb..ab6a7da1914dc 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1095,7 +1095,7 @@ module ts { // If 'predicate' is supplied, then only the first symbol in scope matching the predicate // will be returned. Otherwise, all symbols in scope will be returned. - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/src/services/services.ts b/src/services/services.ts index 23ff602ea4dcc..060695abd1f4b 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2398,42 +2398,51 @@ module ts { } /// Completion - function getValidCompletionEntryDisplayName(symbol: Symbol, target: ScriptTarget): string { + function getCompletionEntryDisplayName(symbol: Symbol, target: ScriptTarget, performCharacterChecks: boolean): string { let displayName = symbol.getName(); - if (displayName && displayName.length > 0) { - let firstCharCode = displayName.charCodeAt(0); - // First check of the displayName is not external module; if it is an external module, it is not valid entry - if ((symbol.flags & SymbolFlags.Namespace) && (firstCharCode === CharacterCodes.singleQuote || firstCharCode === CharacterCodes.doubleQuote)) { - // If the symbol is external module, don't show it in the completion list - // (i.e declare module "http" { let x; } | // <= request completion here, "http" should not be there) - return undefined; - } + if (!displayName) { + return undefined; + } - if (displayName && displayName.length >= 2 && firstCharCode === displayName.charCodeAt(displayName.length - 1) && - (firstCharCode === CharacterCodes.singleQuote || firstCharCode === CharacterCodes.doubleQuote)) { - // If the user entered name for the symbol was quoted, removing the quotes is not enough, as the name could be an - // invalid identifier name. We need to check if whatever was inside the quotes is actually a valid identifier name. - displayName = displayName.substring(1, displayName.length - 1); - } + let firstCharCode = displayName.charCodeAt(0); + // First check of the displayName is not external module; if it is an external module, it is not valid entry + if ((symbol.flags & SymbolFlags.Namespace) && (firstCharCode === CharacterCodes.singleQuote || firstCharCode === CharacterCodes.doubleQuote)) { + // If the symbol is external module, don't show it in the completion list + // (i.e declare module "http" { let x; } | // <= request completion here, "http" should not be there) + return undefined; + } - let isValid = isIdentifierStart(displayName.charCodeAt(0), target); - for (let i = 1, n = displayName.length; isValid && i < n; i++) { - isValid = isIdentifierPart(displayName.charCodeAt(i), target); + if (displayName && displayName.length >= 2 && firstCharCode === displayName.charCodeAt(displayName.length - 1) && + (firstCharCode === CharacterCodes.singleQuote || firstCharCode === CharacterCodes.doubleQuote)) { + // If the user entered name for the symbol was quoted, removing the quotes is not enough, as the name could be an + // invalid identifier name. We need to check if whatever was inside the quotes is actually a valid identifier name. + displayName = displayName.substring(1, displayName.length - 1); + } + + if (!displayName) { + return undefined; + } + + if (performCharacterChecks) { + if (!isIdentifierStart(displayName.charCodeAt(0), target)) { + return undefined; } - if (isValid) { - return unescapeIdentifier(displayName); + for (let i = 1, n = displayName.length; i < n; i++) { + if (!isIdentifierPart(displayName.charCodeAt(i), target)) { + return undefined; + } } } - return undefined; + return unescapeIdentifier(displayName); } function createCompletionEntry(symbol: Symbol, typeChecker: TypeChecker, location: Node): CompletionEntry { // Try to get a valid display name for this symbol, if we could not find one, then ignore it. // We would like to only show things that can be added after a dot, so for instance numeric properties can // not be accessed with a dot (a.1 <- invalid) - let displayName = getValidCompletionEntryDisplayName(symbol, program.getCompilerOptions().target); + let displayName = getCompletionEntryDisplayName(symbol, program.getCompilerOptions().target, /*performCharacterChecks:*/ true); if (!displayName) { return undefined; } @@ -2449,26 +2458,7 @@ module ts { }; } - // If symbolName is undefined, all symbols at the specified are returned. If symbolName - // is not undefined, then the first symbol with that name at the specified position - // will be returned. Calling without symbolName is useful when you want the entire - // list of symbols (like for getCompletionsAtPosition). Calling with a symbolName is - // useful when you want information about a single symbol (like for getCompletionEntryDetails). - function getCompletionData(fileName: string, position: number, symbolName?: string) { - let result = getCompletionDataWorker(fileName, position, symbolName); - if (!result) { - return undefined; - } - - if (result.symbols && symbolName) { - var target = program.getCompilerOptions().target; - result.symbols = filter(result.symbols, s => getValidCompletionEntryDisplayName(s, target) === symbolName); - } - - return result; - } - - function getCompletionDataWorker(fileName: string, position: number, symbolName: string) { + function getCompletionData(fileName: string, position: number) { let syntacticStart = new Date().getTime(); let sourceFile = getValidSourceFile(fileName); @@ -2600,11 +2590,7 @@ module ts { let scopeNode = getScopeNode(previousToken, position, sourceFile); let symbolMeanings = SymbolFlags.Type | SymbolFlags.Value | SymbolFlags.Namespace | SymbolFlags.Alias; - // Filter down to the symbol that matches the symbolName if we were given one. - let predicate = symbolName !== undefined - ? (s: Symbol) => getValidCompletionEntryDisplayName(s, target) === symbolName - : undefined; - symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings, predicate); + symbols = typeInfoResolver.getSymbolsInScope(scopeNode, symbolMeanings); } } @@ -2955,12 +2941,16 @@ module ts { function getCompletionEntryDetails(fileName: string, position: number, entryName: string): CompletionEntryDetails { synchronizeHostData(); - // Look up a completion symbol with this name. - let completionData = getCompletionData(fileName, position, entryName); + // Compute all the completion symbols again. + let completionData = getCompletionData(fileName, position); if (completionData) { let { symbols, location } = completionData; - if (symbols && symbols.length > 0) { - let symbol = symbols[0]; + + // Find the symbol with the matching entry name. + let target = program.getCompilerOptions().target; + let symbol = forEach(symbols, s => getCompletionEntryDisplayName(s, target, /*performCharacterChecks:*/ false) === entryName ? s : undefined); + + if (symbol) { let displayPartsDocumentationsAndSymbolKind = getSymbolDisplayPartsDocumentationAndSymbolKind(symbol, getValidSourceFile(fileName), location, typeInfoResolver, location, SemanticMeaning.All); return { name: entryName, diff --git a/tests/baselines/reference/APISample_compile.js b/tests/baselines/reference/APISample_compile.js index 31012de538043..0810e27cfa541 100644 --- a/tests/baselines/reference/APISample_compile.js +++ b/tests/baselines/reference/APISample_compile.js @@ -860,7 +860,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_compile.types b/tests/baselines/reference/APISample_compile.types index 383882b68b00c..ecdce6e34156b 100644 --- a/tests/baselines/reference/APISample_compile.types +++ b/tests/baselines/reference/APISample_compile.types @@ -2632,15 +2632,12 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags ->predicate : (symbol: Symbol) => boolean ->symbol : Symbol ->Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; diff --git a/tests/baselines/reference/APISample_linter.js b/tests/baselines/reference/APISample_linter.js index 764814f664ac7..36fef7edf47f1 100644 --- a/tests/baselines/reference/APISample_linter.js +++ b/tests/baselines/reference/APISample_linter.js @@ -891,7 +891,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_linter.types b/tests/baselines/reference/APISample_linter.types index 78989d5132a48..ee26ac6fe79de 100644 --- a/tests/baselines/reference/APISample_linter.types +++ b/tests/baselines/reference/APISample_linter.types @@ -2778,15 +2778,12 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags ->predicate : (symbol: Symbol) => boolean ->symbol : Symbol ->Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; diff --git a/tests/baselines/reference/APISample_transform.js b/tests/baselines/reference/APISample_transform.js index a1acb80c7733e..5fd12e2605148 100644 --- a/tests/baselines/reference/APISample_transform.js +++ b/tests/baselines/reference/APISample_transform.js @@ -892,7 +892,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_transform.types b/tests/baselines/reference/APISample_transform.types index 3055eadbc7e17..04462edf7fbb9 100644 --- a/tests/baselines/reference/APISample_transform.types +++ b/tests/baselines/reference/APISample_transform.types @@ -2728,15 +2728,12 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags ->predicate : (symbol: Symbol) => boolean ->symbol : Symbol ->Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 830639c9d2280..f5ce2567447b0 100644 --- a/tests/baselines/reference/APISample_watcher.js +++ b/tests/baselines/reference/APISample_watcher.js @@ -929,7 +929,7 @@ declare module "typescript" { getSignaturesOfType(type: Type, kind: SignatureKind): Signature[]; getIndexTypeOfType(type: Type, kind: IndexKind): Type; getReturnTypeOfSignature(signature: Signature): Type; - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; getSymbolAtLocation(node: Node): Symbol; getShorthandAssignmentValueSymbol(location: Node): Symbol; getTypeAtLocation(node: Node): Type; diff --git a/tests/baselines/reference/APISample_watcher.types b/tests/baselines/reference/APISample_watcher.types index 6b30746938fef..0ee78d1aa32e5 100644 --- a/tests/baselines/reference/APISample_watcher.types +++ b/tests/baselines/reference/APISample_watcher.types @@ -2901,15 +2901,12 @@ declare module "typescript" { >Signature : Signature >Type : Type - getSymbolsInScope(location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean): Symbol[]; ->getSymbolsInScope : (location: Node, meaning: SymbolFlags, predicate?: (symbol: Symbol) => boolean) => Symbol[] + getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[]; +>getSymbolsInScope : (location: Node, meaning: SymbolFlags) => Symbol[] >location : Node >Node : Node >meaning : SymbolFlags >SymbolFlags : SymbolFlags ->predicate : (symbol: Symbol) => boolean ->symbol : Symbol ->Symbol : Symbol >Symbol : Symbol getSymbolAtLocation(node: Node): Symbol; From e26c260822e498aaa49e90d44cff17cc2326ad9a Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 15:35:27 -0700 Subject: [PATCH 11/12] PR feedback. --- src/compiler/checker.ts | 1 - src/services/services.ts | 10 +++++----- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index ddea4cf296693..0b6e6c2ca2f97 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -10611,7 +10611,6 @@ module ts { if (symbol.flags & meaning) { let id = symbol.name; if (!isReservedMemberName(id) && !hasProperty(symbols, id)) { - // If no predicate was supplied, then just add the symbol as is. symbols[id] = symbol; } } diff --git a/src/services/services.ts b/src/services/services.ts index 060695abd1f4b..b6e0837077502 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2464,12 +2464,12 @@ module ts { let start = new Date().getTime(); let currentToken = getTokenAtPosition(sourceFile, position); - log("getCompletionsAtPosition: Get current token: " + (new Date().getTime() - start)); + log("getCompletionData: Get current token: " + (new Date().getTime() - start)); start = new Date().getTime(); // Completion not allowed inside comments, bail out if this is the case let insideComment = isInsideComment(sourceFile, currentToken, position); - log("getCompletionsAtPosition: Is inside comment: " + (new Date().getTime() - start)); + log("getCompletionData: Is inside comment: " + (new Date().getTime() - start)); if (insideComment) { log("Returning an empty list because completion was inside a comment."); @@ -2480,14 +2480,14 @@ module ts { // Note: previousToken can be undefined if we are the beginning of the file start = new Date().getTime(); let previousToken = findPrecedingToken(position, sourceFile); - log("getCompletionsAtPosition: Get previous token 1: " + (new Date().getTime() - start)); + log("getCompletionData: Get previous token 1: " + (new Date().getTime() - start)); // The caret is at the end of an identifier; this is a partial identifier that we want to complete: e.g. a.toS| // Skip this partial identifier to the previous token if (previousToken && position <= previousToken.end && previousToken.kind === SyntaxKind.Identifier) { let start = new Date().getTime(); previousToken = findPrecedingToken(previousToken.pos, sourceFile); - log("getCompletionsAtPosition: Get previous token 2: " + (new Date().getTime() - start)); + log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start)); } // Check if this is a valid completion location @@ -2594,7 +2594,7 @@ module ts { } } - log("getCompletionsAtPosition: Semantic work: " + (new Date().getTime() - semanticStart)); + log("getCompletionData: Semantic work: " + (new Date().getTime() - semanticStart)); return { symbols, isMemberCompletion, isNewIdentifierLocation, location }; From 69ff9b3c1348ec330c639de03fca986adf483313 Mon Sep 17 00:00:00 2001 From: Cyrus Najmabadi Date: Tue, 24 Mar 2015 16:50:11 -0700 Subject: [PATCH 12/12] PR feedback. --- src/services/services.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/services/services.ts b/src/services/services.ts index b6e0837077502..58fba22a71f07 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2948,6 +2948,9 @@ module ts { // Find the symbol with the matching entry name. let target = program.getCompilerOptions().target; + // We don't need to perform character checks here because we're only comparing the + // name against 'entryName' (which is known to be good), not building a new + // completion entry. let symbol = forEach(symbols, s => getCompletionEntryDisplayName(s, target, /*performCharacterChecks:*/ false) === entryName ? s : undefined); if (symbol) {