private void CollectReferencedMethods(TypeDefinition typ, HashSet<string> referencedMethods, HashSet<string> definedMethods, float progressValue) { this.DisplayProgress(progressValue); using (Collection<TypeDefinition>.Enumerator enumerator = typ.get_NestedTypes().GetEnumerator()) { // ISSUE: explicit reference operation while (((Collection<TypeDefinition>.Enumerator) @enumerator).MoveNext()) { // ISSUE: explicit reference operation this.CollectReferencedMethods(((Collection<TypeDefinition>.Enumerator) @enumerator).get_Current(), referencedMethods, definedMethods, progressValue); } } using (Collection<MethodDefinition>.Enumerator enumerator1 = typ.get_Methods().GetEnumerator()) { // ISSUE: explicit reference operation while (((Collection<MethodDefinition>.Enumerator) @enumerator1).MoveNext()) { // ISSUE: explicit reference operation MethodDefinition current1 = ((Collection<MethodDefinition>.Enumerator) @enumerator1).get_Current(); if (current1.get_HasBody()) { using (Collection<Instruction>.Enumerator enumerator2 = current1.get_Body().get_Instructions().GetEnumerator()) { // ISSUE: explicit reference operation while (((Collection<Instruction>.Enumerator) @enumerator2).MoveNext()) { // ISSUE: explicit reference operation Instruction current2 = ((Collection<Instruction>.Enumerator) @enumerator2).get_Current(); if (OpCode.op_Equality((OpCode) OpCodes.Call, current2.get_OpCode())) referencedMethods.Add(current2.get_Operand().ToString()); } } definedMethods.Add(((MemberReference) current1).ToString()); } } } }
private void AddNestedTypes(TypeDefinition type, Dictionary<TypeReference, TypeReference> genericInstanceTypeMap) { using (Collection<TypeDefinition>.Enumerator enumerator = type.get_NestedTypes().GetEnumerator()) { // ISSUE: explicit reference operation while (((Collection<TypeDefinition>.Enumerator) @enumerator).MoveNext()) { // ISSUE: explicit reference operation this.AddType((TypeReference) ((Collection<TypeDefinition>.Enumerator) @enumerator).get_Current(), genericInstanceTypeMap); } } }