private void AddType(TypeReference typeRef, Dictionary <TypeReference, TypeReference> genericInstanceTypeMap)
        {
            // ISSUE: object of a compiler-generated type is created
            // ISSUE: variable of a compiler-generated type
            AssemblyTypeInfoGenerator.\u003CAddType\u003Ec__AnonStorey67 typeCAnonStorey67 = new AssemblyTypeInfoGenerator.\u003CAddType\u003Ec__AnonStorey67();
            // ISSUE: reference to a compiler-generated field
            typeCAnonStorey67.typeRef = typeRef;
            // ISSUE: reference to a compiler-generated field
            typeCAnonStorey67.\u003C\u003Ef__this = this;
            // ISSUE: reference to a compiler-generated method
            if (this.classes_.Any <AssemblyTypeInfoGenerator.ClassInfo>(new Func <AssemblyTypeInfoGenerator.ClassInfo, bool>(typeCAnonStorey67.\u003C\u003Em__DE)))
            {
                return;
            }
            TypeDefinition type;

            try
            {
                // ISSUE: reference to a compiler-generated field
                type = typeCAnonStorey67.typeRef.Resolve();
            }
            catch (AssemblyResolutionException ex)
            {
                return;
            }
            catch (NotSupportedException ex)
            {
                return;
            }
            if (type == null)
            {
                return;
            }
            // ISSUE: reference to a compiler-generated field
            if (typeCAnonStorey67.typeRef.get_IsGenericInstance())
            {
                // ISSUE: reference to a compiler-generated field
                Collection <TypeReference>    genericArguments  = ((GenericInstanceType)typeCAnonStorey67.typeRef).get_GenericArguments();
                Collection <GenericParameter> genericParameters = type.get_GenericParameters();
                for (int index = 0; index < genericArguments.get_Count(); ++index)
                {
                    if (genericParameters.get_Item(index) != genericArguments.get_Item(index))
                    {
                        genericInstanceTypeMap[(TypeReference)genericParameters.get_Item(index)] = genericArguments.get_Item(index);
                    }
                }
                // ISSUE: reference to a compiler-generated field
                this.typeResolver.Add((GenericInstanceType)typeCAnonStorey67.typeRef);
            }
            bool flag = false;

            try
            {
                flag = UnitySerializationLogic.ShouldImplementIDeserializable((TypeReference)type);
            }
            catch
            {
            }
            if (!flag)
            {
                this.AddNestedTypes(type, genericInstanceTypeMap);
            }
            else
            {
                // ISSUE: reference to a compiler-generated field
                // ISSUE: reference to a compiler-generated field
                this.classes_.Add(new AssemblyTypeInfoGenerator.ClassInfo()
                {
                    name   = this.GetMonoEmbeddedFullTypeNameFor(typeCAnonStorey67.typeRef),
                    fields = this.GetFields(type, typeCAnonStorey67.typeRef.get_IsGenericInstance(), genericInstanceTypeMap)
                });
                this.AddNestedTypes(type, genericInstanceTypeMap);
                // ISSUE: reference to a compiler-generated field
                this.AddBaseType(typeCAnonStorey67.typeRef, genericInstanceTypeMap);
            }
            // ISSUE: reference to a compiler-generated field
            if (!typeCAnonStorey67.typeRef.get_IsGenericInstance())
            {
                return;
            }
            // ISSUE: reference to a compiler-generated field
            this.typeResolver.Remove((GenericInstanceType)typeCAnonStorey67.typeRef);
        }
 private void AddType(TypeReference typeRef, Dictionary<TypeReference, TypeReference> genericInstanceTypeMap)
 {
   // ISSUE: object of a compiler-generated type is created
   // ISSUE: variable of a compiler-generated type
   AssemblyTypeInfoGenerator.\u003CAddType\u003Ec__AnonStorey67 typeCAnonStorey67 = new AssemblyTypeInfoGenerator.\u003CAddType\u003Ec__AnonStorey67();
   // ISSUE: reference to a compiler-generated field
   typeCAnonStorey67.typeRef = typeRef;
   // ISSUE: reference to a compiler-generated field
   typeCAnonStorey67.\u003C\u003Ef__this = this;
   // ISSUE: reference to a compiler-generated method
   if (this.classes_.Any<AssemblyTypeInfoGenerator.ClassInfo>(new Func<AssemblyTypeInfoGenerator.ClassInfo, bool>(typeCAnonStorey67.\u003C\u003Em__DE)))
     return;
   TypeDefinition type;
   try
   {
     // ISSUE: reference to a compiler-generated field
     type = typeCAnonStorey67.typeRef.Resolve();
   }
   catch (AssemblyResolutionException ex)
   {
     return;
   }
   catch (NotSupportedException ex)
   {
     return;
   }
   if (type == null)
     return;
   // ISSUE: reference to a compiler-generated field
   if (typeCAnonStorey67.typeRef.get_IsGenericInstance())
   {
     // ISSUE: reference to a compiler-generated field
     Collection<TypeReference> genericArguments = ((GenericInstanceType) typeCAnonStorey67.typeRef).get_GenericArguments();
     Collection<GenericParameter> genericParameters = type.get_GenericParameters();
     for (int index = 0; index < genericArguments.get_Count(); ++index)
     {
       if (genericParameters.get_Item(index) != genericArguments.get_Item(index))
         genericInstanceTypeMap[(TypeReference) genericParameters.get_Item(index)] = genericArguments.get_Item(index);
     }
     // ISSUE: reference to a compiler-generated field
     this.typeResolver.Add((GenericInstanceType) typeCAnonStorey67.typeRef);
   }
   bool flag = false;
   try
   {
     flag = UnitySerializationLogic.ShouldImplementIDeserializable((TypeReference) type);
   }
   catch
   {
   }
   if (!flag)
   {
     this.AddNestedTypes(type, genericInstanceTypeMap);
   }
   else
   {
     // ISSUE: reference to a compiler-generated field
     // ISSUE: reference to a compiler-generated field
     this.classes_.Add(new AssemblyTypeInfoGenerator.ClassInfo()
     {
       name = this.GetMonoEmbeddedFullTypeNameFor(typeCAnonStorey67.typeRef),
       fields = this.GetFields(type, typeCAnonStorey67.typeRef.get_IsGenericInstance(), genericInstanceTypeMap)
     });
     this.AddNestedTypes(type, genericInstanceTypeMap);
     // ISSUE: reference to a compiler-generated field
     this.AddBaseType(typeCAnonStorey67.typeRef, genericInstanceTypeMap);
   }
   // ISSUE: reference to a compiler-generated field
   if (!typeCAnonStorey67.typeRef.get_IsGenericInstance())
     return;
   // ISSUE: reference to a compiler-generated field
   this.typeResolver.Remove((GenericInstanceType) typeCAnonStorey67.typeRef);
 }