File tree Expand file tree Collapse file tree 2 files changed +18
-3
lines changed
Expand file tree Collapse file tree 2 files changed +18
-3
lines changed Original file line number Diff line number Diff line change @@ -167,16 +167,24 @@ private void HandlePropertyBackingFieldDependencies(MethodBody methodBody)
167167 private IEnumerable < MethodCallDependency > CreateMethodCallDependenciesFromBody ( MethodMember methodMember ,
168168 MethodBody methodBody )
169169 {
170- return methodBody . Instructions
171- . Select ( instruction => instruction . Operand )
172- . OfType < MethodReference > ( )
170+ var operands = methodBody . Instructions
171+ . Select ( instruction => instruction . Operand ) . ToList ( ) ;
172+
173+ return operands . OfType < MethodReference > ( )
173174 . Select ( methodReference =>
174175 {
175176 var calledType =
176177 _typeFactory . GetOrCreateStubTypeFromTypeReference ( methodReference . DeclaringType ) ;
177178
178179 return calledType . GetMethodMemberWithFullName ( methodReference . FullName ) ;
179180 } )
181+ . Concat ( operands . OfType < GenericInstanceMethod > ( )
182+ . Select ( genericMethod =>
183+ {
184+ var calledType = _typeFactory . GetOrCreateStubTypeFromTypeReference ( genericMethod . DeclaringType ) ;
185+
186+ return calledType . GetMethodMemberWithFullName ( genericMethod . GetFullName ( ) ) ;
187+ } ) )
180188 . Where ( calledMethodMember => calledMethodMember != null )
181189 . Select ( calledMethodMember => new MethodCallDependency ( methodMember , calledMethodMember ) ) ;
182190 }
Original file line number Diff line number Diff line change @@ -208,5 +208,12 @@ public static string GetFullName(this MethodDefinition methodDefinition)
208208 return methodDefinition . FullName + methodDefinition . GenericParameters . Aggregate ( string . Empty ,
209209 ( current , newElement ) => current + "<" + newElement . Name + ">" ) ;
210210 }
211+
212+ public static string GetFullName ( this GenericInstanceMethod genericInstanceMethod )
213+ {
214+ return genericInstanceMethod . GetElementMethod ( ) . FullName + genericInstanceMethod . GetElementMethod ( )
215+ . GenericParameters . Aggregate ( string . Empty ,
216+ ( current , newElement ) => current + "<" + newElement . Name + ">" ) ;
217+ }
211218 }
212219}
You can’t perform that action at this time.
0 commit comments