Nemerle.VisualStudio.Project.NemerleProjectNode.Load C# (CSharp) Method

Load() public method

public Load ( string filename, string location, string name, uint flags, System.Guid &iidProject, int &canceled ) : void
filename string
location string
name string
flags uint
iidProject System.Guid
canceled int
return void
        public override void Load(
            string filename,
            string location,
            string name,
            uint flags,
            ref Guid iidProject,
            out int canceled)
        {
            Debug.Assert(BuildEngine != null);
            Debug.Assert(BuildProject != null);
            Debug.Assert(BuildProject.FullPath == Path.GetFullPath(filename));

            // IT: ProjectInfo needs to be created before loading
            // as we will catch assembly reference adding.
            //
            var langService = Utils.GetService<NemerleLanguageService>(Site);

            Debug.Assert(langService != null);

            _projectInfo = new ProjectInfo(this, InteropSafeHierarchy, langService, filename, location);

            ProjectInfo.Projects.Add(_projectInfo);

            base.Load(filename, location, name, flags, ref iidProject, out canceled);

            // WAP ask the designer service for the CodeDomProvider corresponding to the project node.
            //

            // AKhropov: now NemerleFileNode provides these services
            //OleServiceProvider.AddService(typeof(SVSMDCodeDomProvider), this.CodeDomProvider, false);
            //OleServiceProvider.AddService(typeof(CodeDomProvider), CodeDomProvider.CodeDomProvider, false);

            // IT: Initialization sequence is important.
            //
            ProjectInfo.InitListener();

            INemerleLibraryManager libraryManager = Utils.GetService<INemerleLibraryManager>(Site);

            if (libraryManager != null)
                libraryManager.RegisterHierarchy(InteropSafeHierarchy);

            // If this is a WPFFlavor-ed project, then add a project-level DesignerContext service to provide
            // event handler generation (EventBindingProvider) for the XAML designer.
            OleServiceProvider.AddService(typeof(DesignerContext), DesignerContext, false);
        }