Table of Contents

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

T

The type of the value that was matched.

Inheritance
GenericMatchNode<T>
Implements
Inherited Members

Constructors

GenericMatchNode(Pattern<T>, T)

Constructs a new leaf node.

public GenericMatchNode(Pattern<T> pattern, T concreteValue)

Parameters

pattern Pattern<T>

The pattern that was matched.

concreteValue T

The 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

Pattern Pattern<T>

The pattern that was matched.

ConcreteValue T

The value that matched the pattern.

Nodes ImmutableArray<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

ImmutableArray<IMatchNode>

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

Pattern Pattern<T>
ConcreteValue T
Nodes ImmutableArray<IMatchNode>

Equals(GenericMatchNode<T>?)

public bool Equals(GenericMatchNode<T>? other)

Parameters

other GenericMatchNode<T>

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

ToString()

public override string ToString()

Returns

string

Operators

operator ==(GenericMatchNode<T>?, GenericMatchNode<T>?)

public static bool operator ==(GenericMatchNode<T>? left, GenericMatchNode<T>? right)

Parameters

left GenericMatchNode<T>
right GenericMatchNode<T>

Returns

bool

operator !=(GenericMatchNode<T>?, GenericMatchNode<T>?)

public static bool operator !=(GenericMatchNode<T>? left, GenericMatchNode<T>? right)

Parameters

left GenericMatchNode<T>
right GenericMatchNode<T>

Returns

bool