コード例 #1
0
        public AssemblyNameReference GetAssemblyNameReference(IAssemblyNameReference item)
        {
            var canr = JustDecompileHelper.ExtractCecilAssemblyNameReference(item);

            if (canr == null)
            {
                return(null);
            }

            return(TryGetOrAdd(_assemblynamereferencecache, canr,
                               anref => JustDecompileHelper.FindMatchingAssemblyReference(AssemblyDefinition, anref)));
        }
コード例 #2
0
        private IAssemblyContext SearchAssemblyReferenceContext(IAssemblyNameReference anr)
        {
            var canr = JustDecompileHelper.ExtractCecilAssemblyNameReference(anr);

            if (canr == null)
            {
                return(null);
            }

            foreach (var wrapper in Package.HostAssemblies)
            {
                var jdwrapper = (JustDecompileAssemblyWrapper)wrapper;
                foreach (var oanr in jdwrapper.AssemblyDefinition.MainModule.AssemblyReferences)
                {
                    var coanr = JustDecompileHelper.ExtractCecilAssemblyNameReference(oanr);
                    if (canr == coanr)
                    {
                        return(GetAssemblyContext(jdwrapper.Location));
                    }
                }
            }

            return(null);
        }