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);
}
}