From 30761ef659a08b15bf43f2cf6731f1f896e3d8a0 Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Tue, 26 Jul 2016 10:41:20 -0700 Subject: [PATCH 1/3] Unify nodeKind implementations for navigationBar and navigateTo --- src/services/navigationBar.ts | 55 +------------------ src/services/services.ts | 28 +++++++--- .../fourslash/deleteClassWithEnumPresent.ts | 2 +- .../cases/fourslash/getNavigationBarItems.ts | 2 +- tests/cases/fourslash/navbar_const.ts | 2 +- .../navbar_contains-no-duplicates.ts | 2 +- tests/cases/fourslash/navbar_let.ts | 2 +- ...BarAnonymousClassAndFunctionExpressions.ts | 2 +- ...arAnonymousClassAndFunctionExpressions2.ts | 2 +- .../fourslash/navigationBarGetterAndSetter.ts | 2 +- .../navigationBarItemsBindingPatterns.ts | 2 +- ...ionBarItemsBindingPatternsInConstructor.ts | 2 +- .../navigationBarItemsEmptyConstructors.ts | 2 +- .../fourslash/navigationBarItemsFunctions.ts | 2 +- .../navigationBarItemsFunctionsBroken.ts | 2 +- .../navigationBarItemsFunctionsBroken2.ts | 2 +- ...ionBarItemsInsideMethodsAndConstructors.ts | 6 +- .../fourslash/navigationBarItemsItems.ts | 8 +-- .../navigationBarItemsItemsModuleVariables.ts | 4 +- .../navigationBarItemsMissingName2.ts | 2 +- .../fourslash/navigationBarItemsModules.ts | 2 +- ...ationBarItemsMultilineStringIdentifiers.ts | 2 +- ...BarItemsPropertiesDefinedInConstructors.ts | 2 +- .../fourslash/navigationBarItemsSymbols1.ts | 2 +- .../fourslash/navigationBarItemsSymbols2.ts | 2 +- .../fourslash/navigationBarItemsSymbols3.ts | 2 +- .../fourslash/navigationBarItemsTypeAlias.ts | 2 +- tests/cases/fourslash/navigationBarJsDoc.ts | 2 +- tests/cases/fourslash/navigationBarMerging.ts | 8 +-- .../cases/fourslash/navigationBarVariables.ts | 4 +- .../server/jsdocTypedefTagNavigateTo.ts | 2 +- tests/cases/fourslash/server/navbar01.ts | 8 +-- .../shims-pp/getNavigationBarItems.ts | 2 +- .../fourslash/shims/getNavigationBarItems.ts | 2 +- 34 files changed, 68 insertions(+), 105 deletions(-) diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index 022c538e762..f105a9fa6e2 100644 --- a/src/services/navigationBar.ts +++ b/src/services/navigationBar.ts @@ -506,7 +506,7 @@ namespace ts.NavigationBar { function convertToTopLevelItem(n: NavigationBarNode): NavigationBarItem { return { text: getItemName(n.node), - kind: nodeKind(n.node), + kind: getNodeKind(n.node), kindModifiers: getNodeModifiers(n.node), spans: getSpans(n), childItems: map(n.children, convertToChildItem) || emptyChildItemArray, @@ -518,7 +518,7 @@ namespace ts.NavigationBar { function convertToChildItem(n: NavigationBarNode): NavigationBarItem { return { text: getItemName(n.node), - kind: nodeKind(n.node), + kind: getNodeKind(n.node), kindModifiers: getNodeModifiers(n.node), spans: getSpans(n), childItems: emptyChildItemArray, @@ -539,57 +539,6 @@ namespace ts.NavigationBar { } } - // TODO: GH#9145: We should just use getNodeKind. No reason why navigationBar and navigateTo should have different behaviors. - function nodeKind(node: Node): string { - switch (node.kind) { - case SyntaxKind.SourceFile: - return ScriptElementKind.moduleElement; - - case SyntaxKind.EnumMember: - return ScriptElementKind.memberVariableElement; - - case SyntaxKind.VariableDeclaration: - case SyntaxKind.BindingElement: - let variableDeclarationNode: Node; - let name: Node; - - if (node.kind === SyntaxKind.BindingElement) { - name = (node).name; - variableDeclarationNode = node; - // binding elements are added only for variable declarations - // bubble up to the containing variable declaration - while (variableDeclarationNode && variableDeclarationNode.kind !== SyntaxKind.VariableDeclaration) { - variableDeclarationNode = variableDeclarationNode.parent; - } - Debug.assert(!!variableDeclarationNode); - } - else { - Debug.assert(!isBindingPattern((node).name)); - variableDeclarationNode = node; - name = (node).name; - } - - if (isConst(variableDeclarationNode)) { - return ts.ScriptElementKind.constElement; - } - else if (isLet(variableDeclarationNode)) { - return ts.ScriptElementKind.letElement; - } - else { - return ts.ScriptElementKind.variableElement; - } - - case SyntaxKind.ArrowFunction: - return ts.ScriptElementKind.functionElement; - - case SyntaxKind.JSDocTypedefTag: - return ScriptElementKind.typeElement; - - default: - return getNodeKind(node); - } - } - function getModuleName(moduleDeclaration: ModuleDeclaration): string { // We want to maintain quotation marks. if (isAmbientModule(moduleDeclaration)) { diff --git a/src/services/services.ts b/src/services/services.ts index 3b8be487aba..33299898024 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -1690,6 +1690,8 @@ namespace ts { /** enum E */ export const enumElement = "enum"; + // TODO: GH#9983 + export const enumMemberElement = "const"; /** * Inside module and script only @@ -2947,7 +2949,10 @@ namespace ts { /* @internal */ export function getNodeKind(node: Node): string { switch (node.kind) { - case SyntaxKind.ModuleDeclaration: return ScriptElementKind.moduleElement; + case SyntaxKind.SourceFile: + return isExternalModule( node) ? ScriptElementKind.moduleElement : ScriptElementKind.scriptElement; + case SyntaxKind.ModuleDeclaration: + return ScriptElementKind.moduleElement; case SyntaxKind.ClassDeclaration: case SyntaxKind.ClassExpression: return ScriptElementKind.classElement; @@ -2955,11 +2960,10 @@ namespace ts { case SyntaxKind.TypeAliasDeclaration: return ScriptElementKind.typeElement; case SyntaxKind.EnumDeclaration: return ScriptElementKind.enumElement; case SyntaxKind.VariableDeclaration: - return isConst(node) - ? ScriptElementKind.constElement - : isLet(node) - ? ScriptElementKind.letElement - : ScriptElementKind.variableElement; + return variableDeclarationKind( node); + case SyntaxKind.BindingElement: + return variableDeclarationKind( getRootDeclaration(node)); + case SyntaxKind.ArrowFunction: case SyntaxKind.FunctionDeclaration: case SyntaxKind.FunctionExpression: return ScriptElementKind.functionElement; @@ -2976,7 +2980,7 @@ namespace ts { case SyntaxKind.CallSignature: return ScriptElementKind.callSignatureElement; case SyntaxKind.Constructor: return ScriptElementKind.constructorImplementationElement; case SyntaxKind.TypeParameter: return ScriptElementKind.typeParameterElement; - case SyntaxKind.EnumMember: return ScriptElementKind.variableElement; + case SyntaxKind.EnumMember: return ScriptElementKind.enumMemberElement; case SyntaxKind.Parameter: return (node.flags & NodeFlags.ParameterPropertyModifier) ? ScriptElementKind.memberVariableElement : ScriptElementKind.parameterElement; case SyntaxKind.ImportEqualsDeclaration: case SyntaxKind.ImportSpecifier: @@ -2984,8 +2988,18 @@ namespace ts { case SyntaxKind.ExportSpecifier: case SyntaxKind.NamespaceImport: return ScriptElementKind.alias; + case SyntaxKind.JSDocTypedefTag: + return ScriptElementKind.typeElement; } return ScriptElementKind.unknown; + + function variableDeclarationKind(v: VariableDeclaration): string { + return isConst(v) + ? ScriptElementKind.constElement + : isLet(v) + ? ScriptElementKind.letElement + : ScriptElementKind.variableElement; + } } class CancellationTokenObject implements CancellationToken { diff --git a/tests/cases/fourslash/deleteClassWithEnumPresent.ts b/tests/cases/fourslash/deleteClassWithEnumPresent.ts index 17d2adae0b1..5dcb2226f9e 100644 --- a/tests/cases/fourslash/deleteClassWithEnumPresent.ts +++ b/tests/cases/fourslash/deleteClassWithEnumPresent.ts @@ -8,7 +8,7 @@ edit.deleteAtCaret('class Bar { }'.length); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Foo", diff --git a/tests/cases/fourslash/getNavigationBarItems.ts b/tests/cases/fourslash/getNavigationBarItems.ts index c3b519fe114..8041ba3b464 100644 --- a/tests/cases/fourslash/getNavigationBarItems.ts +++ b/tests/cases/fourslash/getNavigationBarItems.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "C", diff --git a/tests/cases/fourslash/navbar_const.ts b/tests/cases/fourslash/navbar_const.ts index 6ec594a2873..faaedb54482 100644 --- a/tests/cases/fourslash/navbar_const.ts +++ b/tests/cases/fourslash/navbar_const.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", diff --git a/tests/cases/fourslash/navbar_contains-no-duplicates.ts b/tests/cases/fourslash/navbar_contains-no-duplicates.ts index 10e4027ff84..ba48c4a93dd 100644 --- a/tests/cases/fourslash/navbar_contains-no-duplicates.ts +++ b/tests/cases/fourslash/navbar_contains-no-duplicates.ts @@ -30,7 +30,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "ABC", diff --git a/tests/cases/fourslash/navbar_let.ts b/tests/cases/fourslash/navbar_let.ts index 7ccd61cdfd6..bd0e702bbf9 100644 --- a/tests/cases/fourslash/navbar_let.ts +++ b/tests/cases/fourslash/navbar_let.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", diff --git a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts index f15959812fc..8ede0f07ea0 100644 --- a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts +++ b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts @@ -29,7 +29,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "", diff --git a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts index 214a14949ac..36b1e07cd8a 100644 --- a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts +++ b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts @@ -6,7 +6,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "A", diff --git a/tests/cases/fourslash/navigationBarGetterAndSetter.ts b/tests/cases/fourslash/navigationBarGetterAndSetter.ts index 48105e4e9af..3ae2e0f60ac 100644 --- a/tests/cases/fourslash/navigationBarGetterAndSetter.ts +++ b/tests/cases/fourslash/navigationBarGetterAndSetter.ts @@ -11,7 +11,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "X", diff --git a/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts b/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts index 849f918f473..ff1de04c07e 100644 --- a/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts +++ b/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", diff --git a/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts b/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts index 0ae3e692aa1..61e34d0f30e 100644 --- a/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts +++ b/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts @@ -14,7 +14,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "A", diff --git a/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts b/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts index fd534f4c6db..2e37f69b456 100644 --- a/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Test", diff --git a/tests/cases/fourslash/navigationBarItemsFunctions.ts b/tests/cases/fourslash/navigationBarItemsFunctions.ts index f5aa3fb681d..b85e898065c 100644 --- a/tests/cases/fourslash/navigationBarItemsFunctions.ts +++ b/tests/cases/fourslash/navigationBarItemsFunctions.ts @@ -17,7 +17,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "baz", diff --git a/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts b/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts index 2f17a5006ff..b0238a1ef06 100644 --- a/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts +++ b/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts @@ -7,7 +7,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "f", diff --git a/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts b/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts index f907bdad067..4f279446100 100644 --- a/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts +++ b/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "", diff --git a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts index 3af3b351114..a49f32d960e 100644 --- a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts @@ -21,7 +21,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Class", @@ -73,7 +73,7 @@ verify.navigationBar([ "childItems": [ { "text": "LocalEnumMemberInConstructor", - "kind": "property" + "kind": "const" } ], "indent": 3 @@ -113,7 +113,7 @@ verify.navigationBar([ "childItems": [ { "text": "LocalEnumMemberInMethod", - "kind": "property" + "kind": "const" } ], "indent": 3 diff --git a/tests/cases/fourslash/navigationBarItemsItems.ts b/tests/cases/fourslash/navigationBarItemsItems.ts index 87da8581734..e3d8f0e633c 100644 --- a/tests/cases/fourslash/navigationBarItemsItems.ts +++ b/tests/cases/fourslash/navigationBarItemsItems.ts @@ -42,7 +42,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "dist", @@ -155,15 +155,15 @@ verify.navigationBar([ "childItems": [ { "text": "value1", - "kind": "property" + "kind": "const" }, { "text": "value2", - "kind": "property" + "kind": "const" }, { "text": "value3", - "kind": "property" + "kind": "const" } ], "indent": 2 diff --git a/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts b/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts index 6b85d481612..9b8a65d0430 100644 --- a/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts +++ b/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts @@ -23,7 +23,7 @@ goTo.marker("file1"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Module1", @@ -49,7 +49,7 @@ goTo.marker("file2"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Module1.SubModule", diff --git a/tests/cases/fourslash/navigationBarItemsMissingName2.ts b/tests/cases/fourslash/navigationBarItemsMissingName2.ts index a878c5be845..9faeb6de902 100644 --- a/tests/cases/fourslash/navigationBarItemsMissingName2.ts +++ b/tests/cases/fourslash/navigationBarItemsMissingName2.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "", diff --git a/tests/cases/fourslash/navigationBarItemsModules.ts b/tests/cases/fourslash/navigationBarItemsModules.ts index ec11cd52b94..a41c75de550 100644 --- a/tests/cases/fourslash/navigationBarItemsModules.ts +++ b/tests/cases/fourslash/navigationBarItemsModules.ts @@ -30,7 +30,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "'X2.Y2.Z2'", diff --git a/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts b/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts index 4a29d718f2e..dcf8894bb61 100644 --- a/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts +++ b/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts @@ -27,7 +27,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "\"Multiline\\\nMadness\"", diff --git a/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts b/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts index 0ea7a0745c2..b741084dab5 100644 --- a/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "List", diff --git a/tests/cases/fourslash/navigationBarItemsSymbols1.ts b/tests/cases/fourslash/navigationBarItemsSymbols1.ts index 53f4c7af445..ba57916028b 100644 --- a/tests/cases/fourslash/navigationBarItemsSymbols1.ts +++ b/tests/cases/fourslash/navigationBarItemsSymbols1.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "C", diff --git a/tests/cases/fourslash/navigationBarItemsSymbols2.ts b/tests/cases/fourslash/navigationBarItemsSymbols2.ts index 2674047f9c0..6812c88c150 100644 --- a/tests/cases/fourslash/navigationBarItemsSymbols2.ts +++ b/tests/cases/fourslash/navigationBarItemsSymbols2.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "I", diff --git a/tests/cases/fourslash/navigationBarItemsSymbols3.ts b/tests/cases/fourslash/navigationBarItemsSymbols3.ts index 9564c496dd8..661005b86d9 100644 --- a/tests/cases/fourslash/navigationBarItemsSymbols3.ts +++ b/tests/cases/fourslash/navigationBarItemsSymbols3.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "E", diff --git a/tests/cases/fourslash/navigationBarItemsTypeAlias.ts b/tests/cases/fourslash/navigationBarItemsTypeAlias.ts index 8ff9854ac16..cba3fb8789c 100644 --- a/tests/cases/fourslash/navigationBarItemsTypeAlias.ts +++ b/tests/cases/fourslash/navigationBarItemsTypeAlias.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "T", diff --git a/tests/cases/fourslash/navigationBarJsDoc.ts b/tests/cases/fourslash/navigationBarJsDoc.ts index a2d33e216bf..89049e6011a 100644 --- a/tests/cases/fourslash/navigationBarJsDoc.ts +++ b/tests/cases/fourslash/navigationBarJsDoc.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "NumberLike", diff --git a/tests/cases/fourslash/navigationBarMerging.ts b/tests/cases/fourslash/navigationBarMerging.ts index 192efe5db44..2798d186c96 100644 --- a/tests/cases/fourslash/navigationBarMerging.ts +++ b/tests/cases/fourslash/navigationBarMerging.ts @@ -14,7 +14,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", @@ -63,7 +63,7 @@ goTo.file("file2.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", @@ -104,7 +104,7 @@ goTo.file("file3.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", @@ -150,7 +150,7 @@ goTo.file("file4.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "A", diff --git a/tests/cases/fourslash/navigationBarVariables.ts b/tests/cases/fourslash/navigationBarVariables.ts index 42344c96f73..93093df1306 100644 --- a/tests/cases/fourslash/navigationBarVariables.ts +++ b/tests/cases/fourslash/navigationBarVariables.ts @@ -7,7 +7,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "x", @@ -34,7 +34,7 @@ goTo.file("file2.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", diff --git a/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts b/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts index 1c617091f4c..978db18ab3b 100644 --- a/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts +++ b/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts @@ -13,7 +13,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "numberLike", diff --git a/tests/cases/fourslash/server/navbar01.ts b/tests/cases/fourslash/server/navbar01.ts index 9e0f2a36396..a5b22ee1fa9 100644 --- a/tests/cases/fourslash/server/navbar01.ts +++ b/tests/cases/fourslash/server/navbar01.ts @@ -41,7 +41,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "dist", @@ -154,15 +154,15 @@ verify.navigationBar([ "childItems": [ { "text": "value1", - "kind": "property" + "kind": "const" }, { "text": "value2", - "kind": "property" + "kind": "const" }, { "text": "value3", - "kind": "property" + "kind": "const" } ], "indent": 2 diff --git a/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts b/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts index b06d782d8bf..fba24bdcf77 100644 --- a/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts +++ b/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", diff --git a/tests/cases/fourslash/shims/getNavigationBarItems.ts b/tests/cases/fourslash/shims/getNavigationBarItems.ts index b06d782d8bf..fba24bdcf77 100644 --- a/tests/cases/fourslash/shims/getNavigationBarItems.ts +++ b/tests/cases/fourslash/shims/getNavigationBarItems.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", From 38e201eb7defe3b237002feee100d85583d98cd6 Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Wed, 27 Jul 2016 07:46:39 -0700 Subject: [PATCH 2/3] Fix test and rename a function --- src/services/services.ts | 9 +++++---- tests/cases/fourslash/deleteClassWithEnumPresent.ts | 6 +++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index 33299898024..cec97a4c906 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2960,9 +2960,9 @@ namespace ts { case SyntaxKind.TypeAliasDeclaration: return ScriptElementKind.typeElement; case SyntaxKind.EnumDeclaration: return ScriptElementKind.enumElement; case SyntaxKind.VariableDeclaration: - return variableDeclarationKind( node); + return getKindOfVariableDeclaration( node); case SyntaxKind.BindingElement: - return variableDeclarationKind( getRootDeclaration(node)); + return getKindOfVariableDeclaration( getRootDeclaration(node)); case SyntaxKind.ArrowFunction: case SyntaxKind.FunctionDeclaration: case SyntaxKind.FunctionExpression: @@ -2990,10 +2990,11 @@ namespace ts { return ScriptElementKind.alias; case SyntaxKind.JSDocTypedefTag: return ScriptElementKind.typeElement; + default: + return ScriptElementKind.unknown; } - return ScriptElementKind.unknown; - function variableDeclarationKind(v: VariableDeclaration): string { + function getKindOfVariableDeclaration(v: VariableDeclaration): string { return isConst(v) ? ScriptElementKind.constElement : isLet(v) diff --git a/tests/cases/fourslash/deleteClassWithEnumPresent.ts b/tests/cases/fourslash/deleteClassWithEnumPresent.ts index 5dcb2226f9e..eb40a27bcd7 100644 --- a/tests/cases/fourslash/deleteClassWithEnumPresent.ts +++ b/tests/cases/fourslash/deleteClassWithEnumPresent.ts @@ -22,15 +22,15 @@ verify.navigationBar([ "childItems": [ { "text": "a", - "kind": "property" + "kind": "const" }, { "text": "b", - "kind": "property" + "kind": "const" }, { "text": "c", - "kind": "property" + "kind": "const" } ], "indent": 1 From 958620b46d628a538fb4f1ae5d96ef0a165083ba Mon Sep 17 00:00:00 2001 From: Andy Hanson Date: Wed, 27 Jul 2016 08:30:22 -0700 Subject: [PATCH 3/3] Fix lint errors --- src/services/services.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/services/services.ts b/src/services/services.ts index cec97a4c906..4948238907f 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2950,7 +2950,7 @@ namespace ts { /* @internal */ export function getNodeKind(node: Node): string { switch (node.kind) { case SyntaxKind.SourceFile: - return isExternalModule( node) ? ScriptElementKind.moduleElement : ScriptElementKind.scriptElement; + return isExternalModule(node) ? ScriptElementKind.moduleElement : ScriptElementKind.scriptElement; case SyntaxKind.ModuleDeclaration: return ScriptElementKind.moduleElement; case SyntaxKind.ClassDeclaration: @@ -2960,9 +2960,9 @@ namespace ts { case SyntaxKind.TypeAliasDeclaration: return ScriptElementKind.typeElement; case SyntaxKind.EnumDeclaration: return ScriptElementKind.enumElement; case SyntaxKind.VariableDeclaration: - return getKindOfVariableDeclaration( node); + return getKindOfVariableDeclaration(node); case SyntaxKind.BindingElement: - return getKindOfVariableDeclaration( getRootDeclaration(node)); + return getKindOfVariableDeclaration(getRootDeclaration(node)); case SyntaxKind.ArrowFunction: case SyntaxKind.FunctionDeclaration: case SyntaxKind.FunctionExpression: