@@ -99,22 +99,26 @@ public CodeObjectsHost(Lifetime lifetime, ISolution solution,
9999 {
100100 var className = methodId . SubstringBefore ( "$_$" ) ;
101101 var methodName = methodId . SubstringAfter ( "$_$" ) . SubstringBefore ( "(" ) ;
102- //LibrarySymbolScope.NONE means we'll find only workspace classes
103- var symbolScope = myPsiServices . Symbols . GetSymbolScope ( LibrarySymbolScope . NONE , false ) ;
104- var elements = symbolScope . GetTypeElementsByCLRName ( className ) ;
105- foreach ( var typeElement in elements )
102+ if ( className != null && className . IsNotEmpty ( ) && methodName != null && methodName . IsNotEmpty ( ) )
106103 {
107- if ( typeElement . IsClassLike ( ) )
104+ //LibrarySymbolScope.NONE means we'll find only workspace classes
105+ var symbolScope = myPsiServices . Symbols . GetSymbolScope ( LibrarySymbolScope . NONE , false ) ;
106+ var elements = symbolScope . GetTypeElementsByCLRName ( className ) ;
107+ foreach ( var typeElement in elements )
108108 {
109- foreach ( var typeElementMethod in typeElement . Methods )
109+ if ( typeElement . IsClassLike ( ) )
110110 {
111- if ( typeElementMethod . ShortName . Equals ( methodName ) )
111+ foreach ( var typeElementMethod in typeElement . Methods )
112112 {
113- if ( typeElementMethod . GetSourceFiles ( ) . SingleItem != null )
113+ if ( typeElementMethod . ShortName . Equals ( methodName ) )
114114 {
115- var fileUri = typeElementMethod . GetSourceFiles ( ) . SingleItem . GetLocation ( ) . ToUri ( ) . ToString ( ) ;
116- uris . Add ( new CodeObjectIdUriPair ( methodId , fileUri ) ) ;
117- break ;
115+ if ( typeElementMethod . GetSourceFiles ( ) . SingleItem != null )
116+ {
117+ var fileUri = typeElementMethod . GetSourceFiles ( ) . SingleItem
118+ . GetLocation ( ) . ToUri ( ) . ToString ( ) ;
119+ uris . Add ( new CodeObjectIdUriPair ( methodId , fileUri ) ) ;
120+ break ;
121+ }
118122 }
119123 }
120124 }
0 commit comments