Class GenericMatchNode<T>
- Namespace
- CilFi
- Assembly
- CilFi.Core.dll
Represents a generic node in a match tree.
public sealed record GenericMatchNode<T> : IMatchNode<T>, IMatchNode, IEquatable<GenericMatchNode<T>>
Type Parameters
TThe type of the value that was matched.
- Inheritance
-
GenericMatchNode<T>
- Implements
-
IMatchNode<T>
- Inherited Members
Constructors
GenericMatchNode(Pattern<T>, T)
Constructs a new leaf node.
public GenericMatchNode(Pattern<T> pattern, T concreteValue)
Parameters
patternPattern<T>The pattern that was matched.
concreteValueTThe value that matched the pattern.
GenericMatchNode(Pattern<T>, T, ImmutableArray<IMatchNode>)
Represents a generic node in a match tree.
public GenericMatchNode(Pattern<T> Pattern, T ConcreteValue, ImmutableArray<IMatchNode> Nodes)
Parameters
PatternPattern<T>The pattern that was matched.
ConcreteValueTThe value that matched the pattern.
NodesImmutableArray<IMatchNode>The child nodes of this node.
Properties
ConcreteValue
The value that matched the pattern.
public T ConcreteValue { get; init; }
Property Value
- T
Nodes
The child nodes of this node.
public ImmutableArray<IMatchNode> Nodes { get; init; }
Property Value
Pattern
The pattern that was matched.
public Pattern<T> Pattern { get; init; }
Property Value
- Pattern<T>
Methods
Deconstruct(out Pattern<T>, out T, out ImmutableArray<IMatchNode>)
public void Deconstruct(out Pattern<T> Pattern, out T ConcreteValue, out ImmutableArray<IMatchNode> Nodes)
Parameters
PatternPattern<T>ConcreteValueTNodesImmutableArray<IMatchNode>
Equals(GenericMatchNode<T>?)
public bool Equals(GenericMatchNode<T>? other)
Parameters
otherGenericMatchNode<T>
Returns
Equals(object?)
public override bool Equals(object? obj)
Parameters
objobject
Returns
GetHashCode()
public override int GetHashCode()
Returns
ToString()
public override string ToString()
Returns
Operators
operator ==(GenericMatchNode<T>?, GenericMatchNode<T>?)
public static bool operator ==(GenericMatchNode<T>? left, GenericMatchNode<T>? right)
Parameters
leftGenericMatchNode<T>rightGenericMatchNode<T>
Returns
operator !=(GenericMatchNode<T>?, GenericMatchNode<T>?)
public static bool operator !=(GenericMatchNode<T>? left, GenericMatchNode<T>? right)
Parameters
leftGenericMatchNode<T>rightGenericMatchNode<T>