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

CreateDependentFileNode() public method

Create dependent file node based on an msbuild item
public CreateDependentFileNode ( ProjectElement item ) : FileNode
item Microsoft.VisualStudio.Project.ProjectElement msbuild item
return Microsoft.VisualStudio.Project.FileNode
        public override FileNode CreateDependentFileNode(ProjectElement item)
        {
            ErrorHelper.ThrowIsNull(item, "item");

            NemerleDependentFileNode newNode = new NemerleDependentFileNode(this, item);
            string include = item.GetMetadata(ProjectFileConstants.Include);

            var provider = newNode.OleServiceProvider;

            provider.AddService(typeof(EnvDTE.Project), ProjectMgr.GetAutomationObject(), false);
            provider.AddService(typeof(EnvDTE.ProjectItem), newNode.GetAutomationObject(), false);
            provider.AddService(typeof(VSLangProj.VSProject), this.VSProject, false);

            if (IsCodeFile(include) && item.ItemName == "Compile")
                newNode.OleServiceProvider.AddService(typeof(SVSMDCodeDomProvider),
                    new NemerleVSMDProvider(newNode), false);

            return newNode;
        }