@@ -1235,7 +1235,9 @@ module ts {
1235
1235
1236
1236
static label = "label" ;
1237
1237
1238
- static alias = "alias"
1238
+ static alias = "alias" ;
1239
+
1240
+ static constantElement = "constant" ;
1239
1241
}
1240
1242
1241
1243
export class ScriptElementKindModifier {
@@ -2720,6 +2722,9 @@ module ts {
2720
2722
if ( isFirstDeclarationOfSymbolParameter ( symbol ) ) {
2721
2723
return ScriptElementKind . parameterElement ;
2722
2724
}
2725
+ else if ( forEach ( symbol . declarations , d => d . flags & NodeFlags . Const ) ) {
2726
+ return ScriptElementKind . constantElement ;
2727
+ }
2723
2728
return isLocalVariableOrFunction ( symbol ) ? ScriptElementKind . localVariableElement : ScriptElementKind . variableElement ;
2724
2729
}
2725
2730
if ( flags & SymbolFlags . Function ) return isLocalVariableOrFunction ( symbol ) ? ScriptElementKind . localFunctionElement : ScriptElementKind . functionElement ;
@@ -2751,7 +2756,7 @@ module ts {
2751
2756
case SyntaxKind . ClassDeclaration : return ScriptElementKind . classElement ;
2752
2757
case SyntaxKind . InterfaceDeclaration : return ScriptElementKind . interfaceElement ;
2753
2758
case SyntaxKind . EnumDeclaration : return ScriptElementKind . enumElement ;
2754
- case SyntaxKind . VariableDeclaration : return ScriptElementKind . variableElement ;
2759
+ case SyntaxKind . VariableDeclaration : return node . flags & NodeFlags . Const ? ScriptElementKind . constantElement : ScriptElementKind . variableElement ;
2755
2760
case SyntaxKind . FunctionDeclaration : return ScriptElementKind . functionElement ;
2756
2761
case SyntaxKind . GetAccessor : return ScriptElementKind . memberGetAccessorElement ;
2757
2762
case SyntaxKind . SetAccessor : return ScriptElementKind . memberSetAccessorElement ;
@@ -2840,6 +2845,7 @@ module ts {
2840
2845
switch ( symbolKind ) {
2841
2846
case ScriptElementKind . memberVariableElement :
2842
2847
case ScriptElementKind . variableElement :
2848
+ case ScriptElementKind . constantElement :
2843
2849
case ScriptElementKind . parameterElement :
2844
2850
case ScriptElementKind . localVariableElement :
2845
2851
// If it is call or construct signature of lambda's write type name
0 commit comments