9 types derived from ProjectElement
Microsoft.Build (9)
Construction\ProjectElementContainer.cs (1)
21public abstract class ProjectElementContainer : ProjectElement
Construction\ProjectExtensionsElement.cs (1)
20public class ProjectExtensionsElement : ProjectElement
Construction\ProjectImportElement.cs (1)
17public class ProjectImportElement : ProjectElement
Construction\ProjectMetadataElement.cs (1)
17public class ProjectMetadataElement : ProjectElement
Construction\ProjectOnErrorElement.cs (1)
16public class ProjectOnErrorElement : ProjectElement
Construction\ProjectOutputElement.cs (1)
18public class ProjectOutputElement : ProjectElement
Construction\ProjectPropertyElement.cs (1)
24public class ProjectPropertyElement : ProjectElement, IPropertyElementWithLocation
Construction\ProjectUsingTaskBodyElement.cs (1)
18public class ProjectUsingTaskBodyElement : ProjectElement
Construction\ProjectUsingTaskParameterElement.cs (1)
17public class ProjectUsingTaskParameterElement : ProjectElement
239 references to ProjectElement
Microsoft.Build (237)
Construction\ProjectChooseElement.cs (3)
105internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 124protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectElement.cs (16)
33private ProjectElement _previousSibling; 34private ProjectElement _nextSibling; 210public ProjectElement PreviousSibling 225public ProjectElement NextSibling 342public ProjectElement Clone() 351public virtual void CopyFrom(ProjectElement element) 474internal abstract void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer proposedParent, ProjectElement previousSibling, ProjectElement nextSibling); 504protected internal virtual ProjectElement Clone(ProjectRootElement factory) 506var clone = CreateNewInstance(factory); 522protected abstract ProjectElement CreateNewInstance(ProjectRootElement owner); 524internal static ProjectElement CreateNewInstance(ProjectElement xml, ProjectRootElement owner) 632internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 638protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectElementContainer.cs (69)
26private ProjectElement _firstChild; 27private ProjectElement _lastChild; 65public IEnumerable<ProjectElement> AllChildren => GetDescendants(); 68where T : ProjectElement 76public ICollection<ProjectElement> Children 80? Array.Empty<ProjectElement>() 81: new Collections.ReadOnlyCollection<ProjectElement>(new ProjectElementSiblingEnumerable(FirstChild)); 92where T : ProjectElement 100public ICollection<ProjectElement> ChildrenReversed 104? Array.Empty<ProjectElement>() 105: new Collections.ReadOnlyCollection<ProjectElement>(new ProjectElementSiblingEnumerable(LastChild, forwards: false)); 109where T : ProjectElement 123public ProjectElement FirstChild { get => Link != null ? ContainerLink.FirstChild : _firstChild; private set => _firstChild = value; } 129public ProjectElement LastChild { get => Link != null ? ContainerLink.LastChild : _lastChild; private set => _lastChild = value; } 143public void InsertAfterChild(ProjectElement child, ProjectElement reference) 198public void InsertBeforeChild(ProjectElement child, ProjectElement reference) 248public void AppendChild(ProjectElement child) 267public void PrependChild(ProjectElement child) 293public void RemoveChild(ProjectElement child) 338/// during enumeration. See <see cref="ProjectElementContainer.RemoveChild(ProjectElement)"/>. 342foreach (ProjectElement child in ChildrenEnumerable) 365foreach (ProjectElement child in element.ChildrenEnumerable) 387internal void AppendParentedChildNoChecks(ProjectElement child) 419foreach (ProjectElement child in ChildrenEnumerable) 439private void SetElementAsAttributeValue(ProjectElement child) 456internal void UpdateElementName(ProjectElement child, string oldName) 472internal void UpdateElementValue(ProjectElement child) 492internal void AddToXml(ProjectElement child) 520bool SiblingIsExplicitElement(ProjectElement _) => !_.ExpressedAsAttribute; 522if (TrySearchLeftSiblings(child.PreviousSibling, SiblingIsExplicitElement, out ProjectElement referenceSibling)) 607internal void RemoveFromXml(ProjectElement child) 649internal void AddInitialChild(ProjectElement child) 682private void VerifyForInsertBeforeAfterFirst(ProjectElement child, ProjectElement reference) 701private void VerifyThrowInvalidOperationNotSelfAncestor(ProjectElement element) 703ProjectElement ancestor = this; 717private IEnumerable<ProjectElement> GetDescendants() 719ProjectElement child = FirstChild; 727foreach (ProjectElement grandchild in container.AllChildren) 738where T : ProjectElement 740ProjectElement child = FirstChild; 761private static bool TrySearchLeftSiblings(ProjectElement initialElement, Predicate<ProjectElement> siblingIsAcceptable, out ProjectElement referenceSibling) 766private static bool TrySearchRightSiblings(ProjectElement initialElement, Predicate<ProjectElement> siblingIsAcceptable, out ProjectElement referenceSibling) 772ProjectElement initialElement, 773Predicate<ProjectElement> siblingIsAcceptable, 774Func<ProjectElement, ProjectElement> nextSibling, 775out ProjectElement referenceSibling) 783var sibling = initialElement; 796where T : ProjectElement 798private readonly ProjectElement _initial; 802internal ProjectElementSiblingSubTypeCollection(ProjectElement initial, bool forwards = true) 894internal Enumerator(ProjectElement initial, bool forwards = true) 922ProjectElement innerCurrent = _innerEnumerator.Current; 944internal readonly struct ProjectElementSiblingEnumerable : IEnumerable<ProjectElement> 954internal ProjectElementSiblingEnumerable(ProjectElement initial, bool forwards = true) 972IEnumerator<ProjectElement> IEnumerable<ProjectElement>.GetEnumerator() => _enumerator; 977public struct Enumerator : IEnumerator<ProjectElement> 982private readonly ProjectElement _initial; 994internal Enumerator(ProjectElement initial, bool forwards) 1005public ProjectElement Current { get; private set; } 1036ProjectElement next;
Construction\ProjectExtensionsElement.cs (4)
162public override void CopyFrom(ProjectElement element) 203internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 209protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectImportElement.cs (6)
22private ProjectElement _originalElement; 131public ProjectElement OriginalElement { get => Link != null ? ImportLink.OriginalElement : _originalElement; internal set => _originalElement = value; } 159ProjectElement originalElement) 176internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 182protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectImportGroupElement.cs (3)
87internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 93protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectItemDefinitionElement.cs (3)
113internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 119protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectItemDefinitionGroupElement.cs (3)
78internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 84protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectItemElement.cs (5)
365ProjectElement sibling = NextSibling; 415public override void CopyFrom(ProjectElement element) 478internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 503protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectItemGroupElement.cs (5)
107ProjectElement reference = LastChild; 152public override void CopyFrom(ProjectElement element) 175internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 181protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectMetadataElement.cs (3)
167internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 173protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectOnErrorElement.cs (3)
87internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 93protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectOtherwiseElement.cs (3)
99internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 106protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectOutputElement.cs (3)
168internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 174protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectPropertyElement.cs (3)
132internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 138protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectPropertyGroupElement.cs (3)
108internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 114protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectRootElement.cs (6)
1063ProjectElement reference = ItemGroupsReversed.FirstOrDefault(); 1140ProjectElement reference = null; 1832internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 1925foreach (ProjectElement child in ChildrenEnumerable) 2015protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectSdkElement.cs (3)
80ProjectElement previousSibling, ProjectElement nextSibling) 86protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectTargetElement.cs (4)
391public override void CopyFrom(ProjectElement element) 415internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 430protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectTaskElement.cs (4)
396public override void CopyFrom(ProjectElement element) 425internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 431protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectUsingTaskBodyElement.cs (3)
143internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 149protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectUsingTaskElement.cs (3)
266internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 272protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectUsingTaskParameterElement.cs (3)
191internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 197protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectWhenElement.cs (3)
80internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 87protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\UsingTaskParameterGroupElement.cs (3)
112internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 118protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Definition\Project.cs (12)
1128public IEnumerable<ProjectElement> GetLogicalProject() 2878public override IEnumerable<ProjectElement> GetLogicalProject() 2884foreach (ProjectElement child in GetLogicalProject(import.AllChildren)) 2890foreach (ProjectElement child in GetLogicalProject(Xml.AllChildren)) 2899foreach (ProjectElement child in GetLogicalProject(import.AllChildren)) 3031ProjectElement element = GetAnySuitableExistingItemXml(itemType, unevaluatedInclude, metadata, out ProjectItemElement itemElement); 3859private ProjectElement GetAnySuitableExistingItemXml(string itemType, string unevaluatedInclude, IEnumerable<KeyValuePair<string, string>> metadata, out ProjectItemElement suitableExistingItemXml) 3937private IEnumerable<ProjectElement> GetLogicalProject(IEnumerable<ProjectElement> projectElements) 3939foreach (ProjectElement element in projectElements) 3955IEnumerable<ProjectElement> childElements = GetLogicalProject(child.AllChildren); 3957foreach (ProjectElement childElement in childElements)
Definition\Toolset.cs (1)
982foreach (ProjectElement elementXml in projectRootElement.ChildrenEnumerable)
Evaluation\Evaluator.cs (8)
565foreach (ProjectElement targetChildElement in targetElement.ChildrenEnumerable) 904foreach (ProjectElement element in currentProjectOrImport.ChildrenEnumerable) 1479foreach (ProjectElement element in children) 2427private bool EvaluateCondition(ProjectElement element, ExpanderOptions expanderOptions, ParserOptions parserOptions) 2432private bool EvaluateCondition(ProjectElement element, string condition, ExpanderOptions expanderOptions, ParserOptions parserOptions) 2455private bool EvaluateConditionCollectingConditionedProperties(ProjectElement element, ExpanderOptions expanderOptions, ParserOptions parserOptions, ProjectRootElementCacheBase projectRootElementCache = null) 2463private bool EvaluateConditionCollectingConditionedProperties(ProjectElement element, string condition, ExpanderOptions expanderOptions, ParserOptions parserOptions, ProjectRootElementCacheBase projectRootElementCache = null) 2499private string GetCurrentDirectoryForConditionEvaluation(ProjectElement element)
Evaluation\LazyItemEvaluator.cs (3)
65public bool EvaluateConditionWithCurrentState(ProjectElement element, ExpanderOptions expanderOptions, ParserOptions parserOptions) 72ProjectElement element, 107private static string GetCurrentDirectoryForConditionEvaluation(ProjectElement element, LazyItemEvaluator<P, I, M, D> lazyEvaluator)
Evaluation\Profiler\EvaluationProfiler.cs (1)
70public IDisposable TrackElement(ProjectElement element)
Evaluation\ProjectParser.cs (4)
534ProjectElement child = null; 591ProjectElement child = null; 783ProjectElement child = null; 847ProjectElement child = null;
ObjectModelRemoting\ConstructionObjectLinks\ProjectElementContainerLink.cs (9)
22public abstract ProjectElement FirstChild { get; } 27public abstract ProjectElement LastChild { get; } 32public abstract void InsertAfterChild(ProjectElement child, ProjectElement reference); 37public abstract void InsertBeforeChild(ProjectElement child, ProjectElement reference); 42public abstract void AddInitialChild(ProjectElement child); 52public abstract void RemoveChild(ProjectElement child); 57public static void AddInitialChild(ProjectElementContainer xml, ProjectElement child) => xml.AddInitialChild(child);
ObjectModelRemoting\ConstructionObjectLinks\ProjectElementLink.cs (30)
17/// <see cref="ProjectElement.XmlElement"/> and <see cref="ProjectElement.Link"/> 34/// Allow for creating a local representation to external construction objects derived from <see cref="ProjectElement"/> 49/// Access to remote <see cref="ProjectElement.Parent"/>. 54/// Access to remote <see cref="ProjectElement.ContainingProject"/>. 59/// Access to remote <see cref="ProjectElement.ElementName"/>. 64/// Access to remote <see cref="ProjectElement.OuterElement"/>. 69/// Access to remote <see cref="ProjectElement.ExpressedAsAttribute"/>. 74/// Access to remote <see cref="ProjectElement.PreviousSibling"/>. 76public abstract ProjectElement PreviousSibling { get; } 79/// Access to remote <see cref="ProjectElement.NextSibling"/>. 81public abstract ProjectElement NextSibling { get; } 84/// Access to remote <see cref="ProjectElement.Location"/>. 89/// Supports <see cref="ProjectElement.CopyFrom"/>. 94/// Supports <see cref="ProjectElement.CopyFrom"/>. 115/// Facilitate remoting to remote <see cref="ProjectElement.CopyFrom"/>. 117public abstract void CopyFrom(ProjectElement element); 120/// Facilitate remoting to remote <see cref="ProjectElement.CreateNewInstance(ProjectRootElement)"/>. 122public abstract ProjectElement CreateNewInstance(ProjectRootElement owner); 127public static bool GetExpressedAsAttribute(ProjectElement xml) => xml.ExpressedAsAttribute; 128public static void SetExpressedAsAttribute(ProjectElement xml, bool value) => xml.ExpressedAsAttribute = value; 129public static ElementLocation GetAttributeLocation(ProjectElement xml, string attributeName) => xml.GetAttributeLocation(attributeName); 130public static string GetAttributeValue(ProjectElement xml, string attributeName, bool nullIfNotExists) => xml.GetAttributeValue(attributeName, nullIfNotExists); 131public static void SetOrRemoveAttribute(ProjectElement xml, string name, string value, bool clearAttributeCache, string reason, string param) => xml.SetOrRemoveAttributeForLink(name, value, clearAttributeCache, reason, param); 132public static void MarkDirty(ProjectElement xml, string reason, string param) => xml.MarkDirty(reason, param); 133public static ProjectElement CreateNewInstance(ProjectElement xml, ProjectRootElement owner) => ProjectElement.CreateNewInstance(xml, owner); 135public static string GetPureText(ProjectElement xml) 145public static IReadOnlyCollection<XmlAttributeLink> GetAttributes(ProjectElement xml)
ObjectModelRemoting\ConstructionObjectLinks\ProjectImportElementLink.cs (1)
22public abstract ProjectElement OriginalElement { get; }
ObjectModelRemoting\DefinitionObjectsLinks\ProjectLink.cs (1)
159public abstract IEnumerable<ProjectElement> GetLogicalProject();
Microsoft.DotNet.Cli.Utils (2)
Extensions\MSBuildProjectExtensions.cs (2)
10public static bool IsConditionalOnFramework(this ProjectElement el, string framework) 21public static ISet<string> ConditionChain(this ProjectElement projectElement)