Class LocalPattern.MatchNode
Represents a match node produced by a LocalPattern.
public sealed record LocalPattern.MatchNode : IMatchNode<CilLocalVariable>, IMatchNode, IEquatable<LocalPattern.MatchNode>
- Inheritance
-
LocalPattern.MatchNode
- Implements
- Inherited Members
Constructors
MatchNode(Pattern<CilLocalVariable>, CilLocalVariable, IMatchNode<int>, IMatchNode<TypeSignature?>)
Represents a match node produced by a LocalPattern.
public MatchNode(Pattern<CilLocalVariable> Pattern, CilLocalVariable ConcreteValue, IMatchNode<int> Index, IMatchNode<TypeSignature?> VariableType)
Parameters
PatternPattern<CilLocalVariable>ConcreteValueCilLocalVariableIndexIMatchNode<int>VariableTypeIMatchNode<TypeSignature>
Properties
ConcreteValue
Gets the value that matched the pattern.
public CilLocalVariable ConcreteValue { get; init; }
Property Value
Index
public IMatchNode<int> Index { get; init; }
Property Value
Pattern
Gets the pattern that was matched.
public Pattern<CilLocalVariable> Pattern { get; init; }
Property Value
VariableType
public IMatchNode<TypeSignature?> VariableType { get; init; }
Property Value
Methods
Deconstruct(out Pattern<CilLocalVariable>, out CilLocalVariable, out IMatchNode<int>, out IMatchNode<TypeSignature?>)
public void Deconstruct(out Pattern<CilLocalVariable> Pattern, out CilLocalVariable ConcreteValue, out IMatchNode<int> Index, out IMatchNode<TypeSignature?> VariableType)
Parameters
PatternPattern<CilLocalVariable>ConcreteValueCilLocalVariableIndexIMatchNode<int>VariableTypeIMatchNode<TypeSignature>
Equals(MatchNode?)
public bool Equals(LocalPattern.MatchNode? other)
Parameters
otherLocalPattern.MatchNode
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetChildren()
Enumerates all child nodes of this match node.
public IEnumerable<(string Name, IMatchNode Match)> GetChildren()
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(MatchNode?, MatchNode?)
public static bool operator ==(LocalPattern.MatchNode? left, LocalPattern.MatchNode? right)
Parameters
leftLocalPattern.MatchNoderightLocalPattern.MatchNode
Returns
operator !=(MatchNode?, MatchNode?)
public static bool operator !=(LocalPattern.MatchNode? left, LocalPattern.MatchNode? right)
Parameters
leftLocalPattern.MatchNoderightLocalPattern.MatchNode