Confuser.Core.Analyzers.NameAnalyzer.AnalyzeIvt C# (CSharp) Method

AnalyzeIvt() static private method

static private AnalyzeIvt ( AssemblyDefinition asm ) : void
asm AssemblyDefinition
return void
        void AnalyzeIvt(AssemblyDefinition asm)
        {
            List<string> ivts = ivtMap[asm];
            ivtRefs.Clear();
            AnalyzeCustomAttributes(asm);
            foreach (ModuleDefinition mod in asm.Modules)
            {
                foreach (TypeReference typeRef in mod.GetTypeReferences())
                {
                    TypeDefinition typeDef = typeRef.Resolve();
                    if (typeDef != null && ivts.Contains(typeDef.Module.Assembly.GetVersionName()))
                    {
                        Confuser.Database.AddEntry(DB_SRC, typeDef.FullName, string.Format("IVT ref @ {0} => Not renamed", asm.FullName));
                        (typeDef as IAnnotationProvider).Annotations[RenOk] = false;
                    }
                }
                foreach (MemberReference memRef in mod.GetMemberReferences())
                {
                    IMemberDefinition memDef;
                    if (memRef is MethodReference && (memDef = ((MethodReference)memRef).Resolve()) != null &&
                        ivts.Contains(((MethodDefinition)memDef).Module.Assembly.GetVersionName()))
                    {
                        Confuser.Database.AddEntry(DB_SRC, memDef.FullName, string.Format("IVT ref @ {0} => Not renamed", asm.FullName));
                        (memDef as IAnnotationProvider).Annotations[RenOk] = false;
                    }
                    if (memRef is FieldReference && (memDef = ((FieldReference)memRef).Resolve()) != null &&
                        ivts.Contains(((FieldDefinition)memDef).Module.Assembly.GetVersionName()))
                    {
                        Confuser.Database.AddEntry(DB_SRC, memDef.FullName, string.Format("IVT ref @ {0} => Not renamed", asm.FullName));
                        (memDef as IAnnotationProvider).Annotations[RenOk] = false;
                    }
                }
            }
        }
    }