File tree Expand file tree Collapse file tree
StyleCop.Analyzers/StyleCop.Analyzers/Helpers Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -79,11 +79,22 @@ internal static bool IsContainedInNativeMethodsClass(SyntaxNode syntax)
7979
8080 internal static string GetNameOrIdentifier ( MemberDeclarationSyntax member )
8181 {
82- string name = null ;
83- name = name ?? ( member as TypeDeclarationSyntax ) ? . Identifier . Text ;
84- name = name ?? ( member as EnumDeclarationSyntax ) ? . Identifier . Text ;
85- name = name ?? ( member as DelegateDeclarationSyntax ) ? . Identifier . Text ;
86- return name ;
82+ switch ( member . Kind ( ) )
83+ {
84+ case SyntaxKind . ClassDeclaration :
85+ case SyntaxKind . InterfaceDeclaration :
86+ case SyntaxKind . StructDeclaration :
87+ return ( ( TypeDeclarationSyntax ) member ) . Identifier . Text ;
88+
89+ case SyntaxKind . EnumDeclaration :
90+ return ( ( EnumDeclarationSyntax ) member ) . Identifier . Text ;
91+
92+ case SyntaxKind . DelegateDeclaration :
93+ return ( ( DelegateDeclarationSyntax ) member ) . Identifier . Text ;
94+
95+ default :
96+ throw new InvalidOperationException ( "Unhandled declaration kind: " + member . Kind ( ) ) ;
97+ }
8798 }
8899
89100 internal static Location GetNameOrIdentifierLocation ( SyntaxNode member )
You can’t perform that action at this time.
0 commit comments