Boo.Lang.Compiler.Steps.InitializeNameResolutionService.ResolveImportAssemblyReferences C# (CSharp) Метод

ResolveImportAssemblyReferences() публичный Метод

public ResolveImportAssemblyReferences ( ) : void
Результат void
        void ResolveImportAssemblyReferences()
        {
            foreach (Boo.Lang.Compiler.Ast.Module module in CompileUnit.Modules)
            {
                ImportCollection imports = module.Imports;
                Import[] importArray = imports.ToArray();
                for (int i=0; i<importArray.Length; ++i)
                {
                    Import u = importArray[i];
                    ReferenceExpression reference = u.AssemblyReference;
                    if (null != reference)
                    {
                        try
                        {
                            Assembly asm = Parameters.FindAssembly(reference.Name);
                            if (null == asm)
                            {
                                asm = Parameters.LoadAssembly(reference.Name);
                                if (null != asm)
                                {
                                    Parameters.AddAssembly(asm);
                                }
                            }
                            reference.Entity = new TypeSystem.AssemblyReference(asm);
                        }
                        catch (Exception x)
                        {
                            Errors.Add(CompilerErrorFactory.UnableToLoadAssembly(reference, reference.Name, x));
                            imports.RemoveAt(i);
                        }
                    }
                }
            }
        }