UnityEditor.MonoAOTRegistration.BuildReferencedTypeList C# (CSharp) Method

BuildReferencedTypeList() public static method

public static BuildReferencedTypeList ( AssemblyDefinition assemblies ) : HashSet
assemblies Mono.Cecil.AssemblyDefinition
return HashSet
        public static HashSet<string> BuildReferencedTypeList(AssemblyDefinition[] assemblies)
        {
            HashSet<string> set = new HashSet<string>();
            foreach (AssemblyDefinition definition in assemblies)
            {
                if (!definition.Name.Name.StartsWith("System") && !definition.Name.Name.Equals("UnityEngine"))
                {
                    foreach (TypeReference reference in definition.MainModule.GetTypeReferences())
                    {
                        set.Add(reference.FullName);
                    }
                }
            }
            return set;
        }

Usage Example

示例#1
0
        public void CollectReferences(string path, bool collectMethods, float progressValue, bool ignoreSystemDlls)
        {
            this._progressValue       = progressValue;
            this._assemblyDefinitions = new HashSet <AssemblyDefinition>();
            string[] array = (!Directory.Exists(path)) ? new string[0] : Directory.GetFiles(path);
            DefaultAssemblyResolver assemblyResolver = AssemblyReferenceChecker.AssemblyResolverFor(path);

            string[] array2 = array;
            for (int i = 0; i < array2.Length; i++)
            {
                string text = array2[i];
                if (!(Path.GetExtension(text) != ".dll"))
                {
                    AssemblyDefinition assemblyDefinition = AssemblyDefinition.ReadAssembly(text, new ReaderParameters
                    {
                        AssemblyResolver = assemblyResolver
                    });
                    if (!ignoreSystemDlls || !AssemblyReferenceChecker.IsIgnoredSystemDll(assemblyDefinition.Name.Name))
                    {
                        this._assemblyFileNames.Add(Path.GetFileName(text));
                        this._assemblyDefinitions.Add(assemblyDefinition);
                    }
                }
            }
            AssemblyDefinition[] array3 = this._assemblyDefinitions.ToArray <AssemblyDefinition>();
            this._referencedTypes = MonoAOTRegistration.BuildReferencedTypeList(array3);
            if (collectMethods)
            {
                this.CollectReferencedAndDefinedMethods(array3);
            }
        }
All Usage Examples Of UnityEditor.MonoAOTRegistration::BuildReferencedTypeList