@@ -3687,76 +3687,15 @@ module ts {
36873687
36883688 // Only allow a symbol to be renamed if it actually has at least one declaration.
36893689 if ( symbol && symbol . getDeclarations ( ) && symbol . getDeclarations ( ) . length > 0 ) {
3690- var kind = getKind ( symbol ) ;
3690+ var kind = getSymbolKind ( symbol ) ;
36913691 if ( kind ) {
3692- return RenameInfo . Create ( symbol . name , typeInfoResolver . getFullyQualifiedName ( symbol ) , kind , getKindModifiers ( symbol ) ,
3692+ return RenameInfo . Create ( symbol . name , typeInfoResolver . getFullyQualifiedName ( symbol ) , kind ,
3693+ getNodeModifiers ( symbol . getDeclarations ( ) [ 0 ] ) ,
36933694 new TypeScript . TextSpan ( node . getStart ( ) , node . getWidth ( ) ) ) ;
36943695 }
36953696 }
36963697 }
36973698
3698- function getKindModifiers ( symbol : Symbol ) : string {
3699- var modifiers : string [ ] = [ ] ;
3700- var decl = symbol . getDeclarations ( ) [ 0 ] ;
3701-
3702- if ( decl . flags & NodeFlags . Ambient ) {
3703- modifiers . push ( ScriptElementKindModifier . ambientModifier ) ;
3704- }
3705- if ( decl . flags & NodeFlags . Export ) {
3706- modifiers . push ( ScriptElementKindModifier . exportedModifier ) ;
3707- }
3708- if ( decl . flags & NodeFlags . Private ) {
3709- modifiers . push ( ScriptElementKindModifier . privateMemberModifier ) ;
3710- }
3711- if ( decl . flags & NodeFlags . Public ) {
3712- modifiers . push ( ScriptElementKindModifier . publicMemberModifier ) ;
3713- }
3714- if ( decl . flags & NodeFlags . Static ) {
3715- modifiers . push ( ScriptElementKindModifier . staticModifier ) ;
3716- }
3717-
3718- return modifiers . length == 0 ? ScriptElementKindModifier . none : modifiers . join ( ',' ) ;
3719- }
3720-
3721- function getKind ( symbol : Symbol ) : string {
3722- if ( symbol . flags & SymbolFlags . Module ) {
3723- return ScriptElementKind . moduleElement ;
3724- }
3725- else if ( symbol . flags & SymbolFlags . Class ) {
3726- return ScriptElementKind . classElement ;
3727- }
3728- else if ( symbol . flags & SymbolFlags . Interface ) {
3729- return ScriptElementKind . interfaceElement ;
3730- }
3731- else if ( symbol . flags & SymbolFlags . Enum ) {
3732- return ScriptElementKind . enumElement ;
3733- }
3734- else if ( symbol . flags & SymbolFlags . Variable ) {
3735- return ScriptElementKind . variableElement ;
3736- }
3737- else if ( symbol . flags & SymbolFlags . Function ) {
3738- return ScriptElementKind . functionElement ;
3739- }
3740- else if ( symbol . flags & SymbolFlags . Method ) {
3741- return ScriptElementKind . memberFunctionElement ;
3742- }
3743- else if ( symbol . flags & SymbolFlags . GetAccessor ) {
3744- return ScriptElementKind . memberGetAccessorElement ;
3745- }
3746- else if ( symbol . flags & SymbolFlags . SetAccessor ) {
3747- return ScriptElementKind . memberSetAccessorElement ;
3748- }
3749- else if ( symbol . flags & SymbolFlags . Property ) {
3750- return ScriptElementKind . memberVariableElement ;
3751- }
3752- else if ( symbol . flags & SymbolFlags . TypeParameter ) {
3753- return ScriptElementKind . typeParameterElement ;
3754- }
3755- else if ( symbol . flags & SymbolFlags . EnumMember ) {
3756- return ScriptElementKind . memberVariableElement ;
3757- }
3758- }
3759-
37603699 return RenameInfo . CreateError ( getLocaleSpecificMessage ( Diagnostics . You_cannot_rename_this_element . key ) ) ;
37613700 }
37623701
0 commit comments