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)
18public class ProjectImportElement : ProjectElement
Construction\ProjectMetadataElement.cs (1)
18public class ProjectMetadataElement : ProjectElement
Construction\ProjectOnErrorElement.cs (1)
17public class ProjectOnErrorElement : ProjectElement
Construction\ProjectOutputElement.cs (1)
18public class ProjectOutputElement : ProjectElement
Construction\ProjectPropertyElement.cs (1)
25public class ProjectPropertyElement : ProjectElement, IPropertyElementWithLocation
Construction\ProjectUsingTaskBodyElement.cs (1)
19public class ProjectUsingTaskBodyElement : ProjectElement
Construction\ProjectUsingTaskParameterElement.cs (1)
17public class ProjectUsingTaskParameterElement : ProjectElement
239 references to ProjectElement
Microsoft.Build (237)
Construction\ProjectChooseElement.cs (3)
100internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 119protected 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) 636protected 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)
156public override void CopyFrom(ProjectElement element) 197internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 203protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectImportElement.cs (6)
23private ProjectElement _originalElement; 132public ProjectElement OriginalElement { get => Link != null ? ImportLink.OriginalElement : _originalElement; internal set => _originalElement = value; } 160ProjectElement originalElement) 177internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 183protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectImportGroupElement.cs (3)
88internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 94protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectItemDefinitionElement.cs (3)
114internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 120protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectItemDefinitionGroupElement.cs (3)
79internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 85protected 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)
168internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 174protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectOnErrorElement.cs (3)
88internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 94protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectOtherwiseElement.cs (3)
94internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 101protected 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)
133internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 139protected 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)
1057ProjectElement reference = ItemGroupsReversed.FirstOrDefault(); 1134ProjectElement reference = null; 1826internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 1919foreach (ProjectElement child in ChildrenEnumerable) 2009protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectSdkElement.cs (3)
81ProjectElement previousSibling, ProjectElement nextSibling) 87protected 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)
138internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 144protected 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)
185internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 191protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\ProjectWhenElement.cs (3)
81internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 88protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Construction\UsingTaskParameterGroupElement.cs (3)
106internal override void VerifyThrowInvalidOperationAcceptableLocation(ProjectElementContainer parent, ProjectElement previousSibling, ProjectElement nextSibling) 112protected override ProjectElement CreateNewInstance(ProjectRootElement owner)
Definition\Project.cs (12)
1128public IEnumerable<ProjectElement> GetLogicalProject() 2867public override IEnumerable<ProjectElement> GetLogicalProject() 2873foreach (ProjectElement child in GetLogicalProject(import.AllChildren)) 2879foreach (ProjectElement child in GetLogicalProject(Xml.AllChildren)) 2888foreach (ProjectElement child in GetLogicalProject(import.AllChildren)) 3020ProjectElement element = GetAnySuitableExistingItemXml(itemType, unevaluatedInclude, metadata, out ProjectItemElement itemElement); 3848private ProjectElement GetAnySuitableExistingItemXml(string itemType, string unevaluatedInclude, IEnumerable<KeyValuePair<string, string>> metadata, out ProjectItemElement suitableExistingItemXml) 3926private IEnumerable<ProjectElement> GetLogicalProject(IEnumerable<ProjectElement> projectElements) 3928foreach (ProjectElement element in projectElements) 3944IEnumerable<ProjectElement> childElements = GetLogicalProject(child.AllChildren); 3946foreach (ProjectElement childElement in childElements)
Definition\Toolset.cs (1)
982foreach (ProjectElement elementXml in projectRootElement.ChildrenEnumerable)
Evaluation\Evaluator.cs (8)
572foreach (ProjectElement targetChildElement in targetElement.ChildrenEnumerable) 914foreach (ProjectElement element in currentProjectOrImport.ChildrenEnumerable) 1492foreach (ProjectElement element in children) 2440private bool EvaluateCondition(ProjectElement element, ExpanderOptions expanderOptions, ParserOptions parserOptions) 2445private bool EvaluateCondition(ProjectElement element, string condition, ExpanderOptions expanderOptions, ParserOptions parserOptions) 2468private bool EvaluateConditionCollectingConditionedProperties(ProjectElement element, ExpanderOptions expanderOptions, ParserOptions parserOptions, ProjectRootElementCacheBase projectRootElementCache = null) 2476private bool EvaluateConditionCollectingConditionedProperties(ProjectElement element, string condition, ExpanderOptions expanderOptions, ParserOptions parserOptions, ProjectRootElementCacheBase projectRootElementCache = null) 2512private 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)