Class ParameterPattern.MatchNode
Represents a match node produced by a ParameterPattern.
public sealed record ParameterPattern.MatchNode : IMatchNode<Parameter>, IMatchNode, IEquatable<ParameterPattern.MatchNode>
- Inheritance
-
ParameterPattern.MatchNode
- Implements
- Inherited Members
Constructors
MatchNode(Pattern<Parameter>, Parameter, IMatchNode<TypeSignature>, IMatchNode<string?>)
Represents a match node produced by a ParameterPattern.
public MatchNode(Pattern<Parameter> Pattern, Parameter ConcreteValue, IMatchNode<TypeSignature> ParameterType, IMatchNode<string?> Name)
Parameters
PatternPattern<Parameter>ConcreteValueParameterParameterTypeIMatchNode<TypeSignature>NameIMatchNode<string>
Properties
ConcreteValue
Gets the value that matched the pattern.
public Parameter ConcreteValue { get; init; }
Property Value
Name
public IMatchNode<string?> Name { get; init; }
Property Value
ParameterType
public IMatchNode<TypeSignature> ParameterType { get; init; }
Property Value
Pattern
Gets the pattern that was matched.
public Pattern<Parameter> Pattern { get; init; }
Property Value
Methods
Deconstruct(out Pattern<Parameter>, out Parameter, out IMatchNode<TypeSignature>, out IMatchNode<string?>)
public void Deconstruct(out Pattern<Parameter> Pattern, out Parameter ConcreteValue, out IMatchNode<TypeSignature> ParameterType, out IMatchNode<string?> Name)
Parameters
PatternPattern<Parameter>ConcreteValueParameterParameterTypeIMatchNode<TypeSignature>NameIMatchNode<string>
Equals(MatchNode?)
public bool Equals(ParameterPattern.MatchNode? other)
Parameters
otherParameterPattern.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 ==(ParameterPattern.MatchNode? left, ParameterPattern.MatchNode? right)
Parameters
leftParameterPattern.MatchNoderightParameterPattern.MatchNode
Returns
operator !=(MatchNode?, MatchNode?)
public static bool operator !=(ParameterPattern.MatchNode? left, ParameterPattern.MatchNode? right)
Parameters
leftParameterPattern.MatchNoderightParameterPattern.MatchNode