3 interfaces inheriting from INode
Microsoft.Maui.Controls.Xaml (3)
XamlNode.cs (3)
21 interface IValueNode : INode 25 interface IElementNode : INode, IListNode 34 interface IListNode : INode
1 implementation of INode
Microsoft.Maui.Controls.Xaml (1)
XamlNode.cs (1)
88 abstract class BaseNode : IXmlLineInfo, INode
301 references to INode
Microsoft.Maui.Controls.Build.Tasks (114)
CompiledConverters\BindablePropertyConverter.cs (1)
80 static string GetTargetTypeName(INode node)
CompiledConverters\RDSourceTypeConverter.cs (1)
20 INode rootNode = node;
CompiledMarkupExtensions\ArrayExtension.cs (1)
20 IEnumerable<Instruction> ProvideValue(TypeReference typeTypeRef, IReadOnlyList<INode> items, ModuleDefinition module, ILContext context)
CompiledMarkupExtensions\DataTemplateExtension.cs (1)
19 if (!node.Properties.TryGetValue(name, out INode typeNameNode) && node.CollectionItems.Any())
CompiledMarkupExtensions\StaticExtension.cs (1)
15 INode ntype;
CompiledMarkupExtensions\StaticResourceExtension.cs (7)
20 if (!eNode.Properties.TryGetValue(name, out INode keyNode) && eNode.CollectionItems.Any()) 29 if (n.Properties.TryGetValue(new XmlName(XamlParser.MauiUri, "Resources"), out var resourcesNode)) 33 && irn.Properties.TryGetValue(XmlName.xKey, out INode xKeyNode) 51 foreach (var rn in lr.CollectionItems) 54 && irn2.Properties.TryGetValue(XmlName.xKey, out INode xKeyNode2) 75 foreach (var rn in resourceDictionary.CollectionItems) 78 && irn3.Properties.TryGetValue(XmlName.xKey, out INode xKeyNode3)
CompiledMarkupExtensions\TypeExtension.cs (1)
19 if (!node.Properties.TryGetValue(name, out INode typeNameNode) && node.CollectionItems.Any())
CompiledValueProviders\SetterValueProvider.cs (1)
14 INode valueNode = null;
CompiledValueProviders\StyleSheetProvider.cs (3)
16 INode sourceNode = null; 21 INode styleNode = null; 51 INode rootNode = node;
CreateObjectVisitor.cs (14)
30 public bool SkipChildren(INode node, INode parentNode) => false; 39 public void Visit(ValueNode node, INode parentNode) 44 public void Visit(MarkupNode node, INode parentNode) 49 public void Visit(ElementNode node, INode parentNode) 59 foreach (var cnode in children) 63 foreach (var n in en.Properties.Values.ToList()) 65 foreach (var n in en.CollectionItems) 255 public void Visit(RootNode node, INode parentNode) 270 public void Visit(ListNode node, INode parentNode) 303 var node = enode.Properties[new XmlName("", propname)]; 329 var arguments = new List<INode>(); 336 foreach (var n in list.CollectionItems) 343 var arg = arguments[i];
ExpandMarkupsVisitor.cs (15)
27 public bool SkipChildren(INode node, INode parentNode) => false; 36 public void Visit(ValueNode node, INode parentNode) 40 public void Visit(MarkupNode markupnode, INode parentNode) 56 public void Visit(ElementNode node, INode parentNode) 60 public void Visit(RootNode node, INode parentNode) 64 public void Visit(ListNode node, INode parentNode) 68 public static bool TryGetProperyName(INode node, INode parentNode, out XmlName name) 83 static INode ParseExpression(ref string expression, ILContext context, IXmlNamespaceResolver nsResolver, 113 class MarkupExpansionParser : MarkupExpressionParser, IExpressionParser<INode> 119 public INode Parse(string match, ref string remaining, IServiceProvider serviceProvider) 139 var childnodes = new List<(XmlName, INode)>(); 184 var childnode = parsed.value as INode ?? new ValueNode(parsed.strValue, nsResolver);
ILContext.cs (4)
18 Scopes = new Dictionary<INode, Tuple<VariableDefinition, IList<string>>>(); 19 TypeExtensions = new Dictionary<INode, TypeReference>(); 32 public Dictionary<INode, Tuple<VariableDefinition, IList<string>>> Scopes { get; private set; } 34 public Dictionary<INode, TypeReference> TypeExtensions { get; }
MethodDefinitionExtensions.cs (2)
14 var arguments = new List<INode>(); 21 foreach (var n in list.CollectionItems)
NodeILExtensions.cs (5)
434 public static IEnumerable<Instruction> PushXmlLineInfo(this INode node, ILContext context) 463 public static IEnumerable<Instruction> PushParentObjectsArray(this INode node, ILContext context) 472 INode n = node.Parent; 579 static IEnumerable<Instruction> PushNamescopes(INode node, ILContext context, ModuleDefinition module) 605 public static IEnumerable<Instruction> PushServiceProvider(this INode node, ILContext context, TypeReference[] requiredServices, FieldReference bpRef = null, PropertyReference propertyRef = null, TypeReference declaringTypeReference = null)
SetFieldVisitor.cs (9)
20 public bool SkipChildren(INode node, INode parentNode) => false; 29 public void Visit(ValueNode node, INode parentNode) 41 public void Visit(MarkupNode node, INode parentNode) 45 public void Visit(ElementNode node, INode parentNode) 49 public void Visit(RootNode node, INode parentNode) 53 public void Visit(ListNode node, INode parentNode) 57 static bool IsXNameProperty(ValueNode node, INode parentNode) 60 INode xNameNode;
SetNamescopesAndRegisterNamesVisitor.cs (15)
21 public bool SkipChildren(INode node, INode parentNode) => false; 30 public void Visit(ValueNode node, INode parentNode) 39 public void Visit(MarkupNode node, INode parentNode) 44 public void Visit(ElementNode node, INode parentNode) 77 public void Visit(RootNode node, INode parentNode) 86 public void Visit(ListNode node, INode parentNode) 91 static bool IsDataTemplate(INode node, INode parentNode) 92 => parentNode is IElementNode parentElement && parentElement.Properties.TryGetValue(XmlName._CreateContent, out INode createContent) && createContent == node; 94 static bool IsStyle(INode node, INode parentNode) => parentNode is ElementNode pnode && pnode.XmlType.Name == "Style"; 98 static bool IsXNameProperty(ValueNode node, INode parentNode) 99 => parentNode is IElementNode parentElement && parentElement.Properties.TryGetValue(XmlName.xName, out INode xNameNode) && xNameNode == node; 152 void RegisterName(string str, VariableDefinition namescopeVarDef, IList<string> namesInNamescope, VariableDefinition element, INode node)
SetPropertiesVisitor.cs (26)
40 public bool SkipChildren(INode node, INode parentNode) => false; 51 public void Visit(ValueNode node, INode parentNode) 79 public void Visit(MarkupNode node, INode parentNode) 83 public void Visit(ElementNode node, INode parentNode) 210 public void Visit(RootNode node, INode parentNode) 214 public void Visit(ListNode node, INode parentNode) 218 public static bool TryGetPropertyName(INode node, INode parentNode, out XmlName name) 233 static bool IsCollectionItem(INode node, INode parentNode) 269 var typeNode = node.Properties[new XmlName("", "Type")]; 434 if (!node.Properties.TryGetValue(new XmlName("", "Path"), out INode pathNode) && node.CollectionItems.Any()) 437 if (!node.Properties.TryGetValue(new XmlName("", "Mode"), out INode modeNode) 441 INode dataTypeNode = null; 1102 public static IEnumerable<Instruction> SetPropertyValue(VariableDefinition parent, XmlName propertyName, INode valueNode, ILContext context, IXmlLineInfo iXmlLineInfo) 1179 static bool CanConnectEvent(VariableDefinition parent, string localName, INode valueNode, bool attached, ILContext context) 1184 static IEnumerable<Instruction> ConnectEvent(VariableDefinition parent, string localName, INode valueNode, IXmlLineInfo iXmlLineInfo, ILContext context) 1270 static bool CanSetDynamicResource(FieldReference bpRef, INode valueNode, ILContext context) 1305 static bool CanSetBinding(FieldReference bpRef, INode valueNode, ILContext context) 1343 static bool CanSetValue(FieldReference bpRef, bool attached, INode node, IXmlLineInfo iXmlLineInfo, ILContext context) 1390 static IEnumerable<Instruction> SetValue(VariableDefinition parent, FieldReference bpRef, INode node, IXmlLineInfo iXmlLineInfo, ILContext context) 1477 static bool CanSet(VariableDefinition parent, string localName, INode node, ILContext context) 1534 static IEnumerable<Instruction> Set(VariableDefinition parent, string localName, INode node, IXmlLineInfo iXmlLineInfo, ILContext context) 1609 static bool CanAdd(VariableDefinition parent, XmlName propertyName, INode valueNode, IXmlLineInfo lineInfo, ILContext context) 1672 static IEnumerable<Instruction> Add(VariableDefinition parent, XmlName propertyName, INode node, IXmlLineInfo iXmlLineInfo, ILContext context)
SetResourcesVisitor.cs (7)
25 public void Visit(ValueNode node, INode parentNode) 33 public void Visit(MarkupNode node, INode parentNode) 38 public void Visit(ElementNode node, INode parentNode) 62 public void Visit(RootNode node, INode parentNode) 66 public void Visit(ListNode node, INode parentNode) 79 public bool SkipChildren(INode node, INode parentNode)
Microsoft.Maui.Controls.Xaml (187)
ApplyPropertiesVisitor.cs (13)
39 Dictionary<INode, object> Values => Context.Values; 46 public bool SkipChildren(INode node, INode parentNode) => false; 49 public void Visit(ValueNode node, INode parentNode) 85 public void Visit(MarkupNode node, INode parentNode) 89 public void Visit(ElementNode node, INode parentNode) 229 public void Visit(RootNode node, INode parentNode) 233 public void Visit(ListNode node, INode parentNode) 237 internal static bool IsCollectionItem(INode node, INode parentNode) 346 public static void SetPropertyValue(object xamlelement, XmlName propertyName, object value, object rootElement, INode node, HydrationContext context, IXmlLineInfo lineInfo) 785 void SetTemplate(ElementTemplate dt, INode node) 789 var cnode = node.Clone();
CreateValuesVisitor.cs (13)
24 Dictionary<INode, object> Values 35 public bool SkipChildren(INode node, INode parentNode) => false; 38 public void Visit(ValueNode node, INode parentNode) 43 public void Visit(MarkupNode node, INode parentNode) 47 public void Visit(ElementNode node, INode parentNode) 132 foreach (var cnode in node.Properties.Values.ToList()) 134 foreach (var cnode in node.CollectionItems) 151 if (!node.Properties.TryGetValue(XmlName.xKey, out INode xKey)) 177 public void Visit(RootNode node, INode parentNode) 195 public void Visit(ListNode node, INode parentNode) 288 var node = enode.Properties[XmlName.xArguments]; 318 if (!enode.Properties.TryGetValue(name, out INode node))
ExpandMarkupsVisitor.cs (16)
26 Dictionary<INode, object> Values 37 public bool SkipChildren(INode node, INode parentNode) => false; 40 public void Visit(ValueNode node, INode parentNode) 44 public void Visit(MarkupNode markupnode, INode parentNode) 65 public void Visit(ElementNode node, INode parentNode) 69 public void Visit(RootNode node, INode parentNode) 73 public void Visit(ListNode node, INode parentNode) 77 INode ParseExpression(ref string expression, IXmlNamespaceResolver nsResolver, IXmlLineInfo xmlLineInfo, INode node, 78 INode parentNode) 115 public class MarkupExpansionParser : MarkupExpressionParser, IExpressionParser<INode> 124 public INode Parse(string match, ref string remaining, IServiceProvider serviceProvider) 137 var childnodes = new List<(XmlName, INode)>(); 175 var childnode = parsed.value as INode ?? new ValueNode(parsed.strValue, nsResolver);
FillResourceDictionariesVisitor.cs (8)
19 Dictionary<INode, object> Values => Context.Values; 28 public void Visit(ValueNode node, INode parentNode) 36 public void Visit(MarkupNode node, INode parentNode) 40 public void Visit(ElementNode node, INode parentNode) 69 public void Visit(RootNode node, INode parentNode) 73 public void Visit(ListNode node, INode parentNode) 77 public bool SkipChildren(INode node, INode parentNode)
HydrationContext.cs (2)
11 Values = new Dictionary<INode, object>(); 15 public Dictionary<INode, object> Values { get; }
NamescopingVisitor.cs (14)
8 readonly Dictionary<INode, NameScopeRef> _scopes = new Dictionary<INode, NameScopeRef>(); 18 public bool SkipChildren(INode node, INode parentNode) => false; 21 public void Visit(ValueNode node, INode parentNode) => _scopes[node] = _scopes[parentNode]; 22 public void Visit(MarkupNode node, INode parentNode) => _scopes[node] = _scopes[parentNode]; 24 public void Visit(ElementNode node, INode parentNode) 29 public void Visit(RootNode node, INode parentNode) => _scopes[node] = node.NameScopeRef = new NameScopeRef { NameScope = new NameScope() }; 31 public void Visit(ListNode node, INode parentNode) => 34 static bool IsDataTemplate(INode node, INode parentNode) 37 && parentElement.Properties.TryGetValue(XmlName._CreateContent, out var createContent) 43 static bool IsStyle(INode node, INode parentNode) => (parentNode as ElementNode)?.XmlType.Name == "Style";
NodeExtensions.cs (2)
5 public static bool TryGetPropertyName(this INode node, INode parentNode, out XmlName name)
PruneIgnoredNodesVisitor.cs (9)
16 public bool SkipChildren(INode node, INode parentNode) => false; 19 public void Visit(ElementNode node, INode parentNode) 51 foreach (var prop in node.CollectionItems.ToList()) 66 public void Visit(RootNode node, INode parentNode) 71 public void Visit(MarkupNode node, INode parentNode) 75 public void Visit(ListNode node, INode parentNode) 77 foreach (var prop in node.CollectionItems.ToList()) 86 public void Visit(ValueNode node, INode parentNode)
RegisterXNamesVisitor.cs (10)
15 Dictionary<INode, object> Values { get; } 21 public bool SkipChildren(INode node, INode parentNode) => false; 24 public void Visit(ValueNode node, INode parentNode) 59 public void Visit(MarkupNode node, INode parentNode) 63 public void Visit(ElementNode node, INode parentNode) 67 public void Visit(RootNode node, INode parentNode) 71 public void Visit(ListNode node, INode parentNode) 75 static bool IsXNameProperty(ValueNode node, INode parentNode) 76 => parentNode is IElementNode parentElement && parentElement.Properties.TryGetValue(XmlName.xName, out INode xNameNode) && xNameNode == node;
RemoveDuplicateDesignNodes.cs (7)
11 public bool SkipChildren(INode node, INode parentNode) => false; 14 public void Visit(ValueNode node, INode parentNode) 18 public void Visit(MarkupNode node, INode parentNode) 22 public void Visit(ElementNode node, INode parentNode) 40 public void Visit(RootNode node, INode parentNode) 45 public void Visit(ListNode node, INode parentNode)
SimplifyOnPlatformVisitor.cs (8)
33 public bool SkipChildren(INode node, INode parentNode) => false; 35 public void Visit(ValueNode node, INode parentNode) 39 public void Visit(MarkupNode node, INode parentNode) 44 public void Visit(ElementNode node, INode parentNode) 52 if (node.Properties.TryGetValue(new XmlName("", Target), out INode targetNode) 133 public void Visit(RootNode node, INode parentNode) 137 public void Visit(ListNode node, INode parentNode)
SimplifyTypeExtensionVisitor.cs (9)
15 public bool SkipChildren(INode node, INode parentNode) => false; 17 public void Visit(ValueNode node, INode parentNode) 21 public void Visit(MarkupNode node, INode parentNode) 26 public void Visit(ElementNode node, INode parentNode) 38 static bool IsValueOfXDataTypeOrTargetType(ElementNode node, INode parentNode, out XmlName propertyName) 42 static bool IsTargetTypePropertyOfMauiType(INode parentNode, XmlName propertyName) 82 public void Visit(RootNode node, INode parentNode) 86 public void Visit(ListNode node, INode parentNode)
XamlLoader.cs (2)
165 if (!rNode.Properties.TryGetValue(new XmlName(XamlParser.MauiUri, "Resources"), out var resources)) 181 foreach (var n in resourcesLN.CollectionItems)
XamlNode.cs (37)
15 INode Parent { get; set; } 17 void Accept(IXamlNodeVisitor visitor, INode parentNode); 18 INode Clone(); 27 Dictionary<XmlName, INode> Properties { get; } 36 List<INode> CollectionItems { get; } 98 public INode Parent { get; set; } 105 public abstract void Accept(IXamlNodeVisitor visitor, INode parentNode); 106 public abstract INode Clone(); 120 public override void Accept(IXamlNodeVisitor visitor, INode parentNode) 125 public override INode Clone() => new ValueNode(Value, NamespaceResolver, LineNumber, LinePosition) 142 public override void Accept(IXamlNodeVisitor visitor, INode parentNode) 147 public override INode Clone() => new MarkupNode(MarkupString, NamespaceResolver, LineNumber, LinePosition) 161 Properties = new Dictionary<XmlName, INode>(); 163 CollectionItems = new List<INode>(); 168 public Dictionary<XmlName, INode> Properties { get; } 170 public List<INode> CollectionItems { get; } 175 public override void Accept(IXamlNodeVisitor visitor, INode parentNode) 182 foreach (var node in Properties.Values.ToArray()) 184 foreach (var node in CollectionItems.ToArray()) 193 bool IsDataTemplate(INode parentNode) 196 parentElement.Properties.TryGetValue(XmlName._CreateContent, out INode createContent) && 202 protected bool SkipChildren(IXamlNodeVisitor visitor, INode node, INode parentNode) => 207 protected bool SkipVisitNode(IXamlNodeVisitor visitor, INode parentNode) => 210 public override INode Clone() 220 foreach (var p in CollectionItems) 232 public override void Accept(IXamlNodeVisitor visitor, INode parentNode) 239 foreach (var node in Properties.Values.ToList()) 241 foreach (var node in CollectionItems.ToList()) 252 public ListNode(IList<INode> nodes, IXmlNamespaceResolver namespaceResolver, int linenumber = -1, int lineposition = -1) 259 public List<INode> CollectionItems { get; set; } 261 public override void Accept(IXamlNodeVisitor visitor, INode parentNode) 265 foreach (var node in CollectionItems) 271 public override INode Clone() 273 var items = new List<INode>(); 274 foreach (var p in CollectionItems) 285 public static bool SkipPrefix(this INode node, string prefix)
XamlNodeVisitor.cs (18)
13 void Visit(ValueNode node, INode parentNode); 14 void Visit(MarkupNode node, INode parentNode); 15 void Visit(ElementNode node, INode parentNode); 16 void Visit(RootNode node, INode parentNode); 17 void Visit(ListNode node, INode parentNode); 18 bool SkipChildren(INode node, INode parentNode); 30 readonly Action<INode, INode> action; 32 public XamlNodeVisitor(Action<INode, INode> action, TreeVisitingMode visitingMode = TreeVisitingMode.TopDown, bool stopOnDataTemplate = false, bool visitNodeOnDataTemplate = true) 45 public void Visit(ValueNode node, INode parentNode) => action(node, parentNode); 46 public void Visit(MarkupNode node, INode parentNode) => action(node, parentNode); 47 public void Visit(ElementNode node, INode parentNode) => action(node, parentNode); 48 public void Visit(RootNode node, INode parentNode) => action(node, parentNode); 49 public void Visit(ListNode node, INode parentNode) => action(node, parentNode); 50 public bool SkipChildren(INode node, INode parentNode) => false;
XamlParser.cs (11)
82 INode prop = null; 97 var prop = ReadNode(reader); 108 var prop = ReadNode(reader, true); 115 var item = ReadNode(reader, true); 136 static INode ReadNode(XmlReader reader, bool nested = false) 141 var nodes = new List<INode>(); 147 INode node; 197 static IList<XmlType> GetTypeArguments(IList<KeyValuePair<XmlName, INode>> attributes) 204 static IList<KeyValuePair<XmlName, INode>> ParseXamlAttributes(XmlReader reader, out IList<KeyValuePair<string, string>> xmlns) 207 var attributes = new List<KeyValuePair<XmlName, INode>>(); 234 attributes.Add(new KeyValuePair<XmlName, INode>(propertyName, propertyNode));
XamlServiceProvider.cs (8)
22 internal XamlServiceProvider(INode node, HydrationContext context) 82 public XamlValueTargetProvider(object targetObject, INode node, HydrationContext context, object targetProperty) 90 INode Node { get; } 102 var n = Node; 263 readonly INode _node; 264 internal ReferenceProvider(INode node) => _node = node; 268 var n = _node; 342 INode dataTypeNode = null;