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;