Class MethodReferencePattern.MatchNode
Represents a match node produced by a MethodReferencePattern.
public sealed record MethodReferencePattern.MatchNode : IMatchNode<IMethodDescriptor>, IMatchNode, IEquatable<MethodReferencePattern.MatchNode>
- Inheritance
-
MethodReferencePattern.MatchNode
- Implements
- Inherited Members
Constructors
MatchNode(Pattern<IMethodDescriptor>, IMethodDescriptor, IMatchNode<bool>, IMatchNode<TypeSignature>, IMatchNode<ITypeDefOrRef?>, IMatchNode<string?>, IMatchNode<IReadOnlyList<TypeSignature>>, IMatchNode<IReadOnlyList<TypeSignature>>)
Represents a match node produced by a MethodReferencePattern.
public MatchNode(Pattern<IMethodDescriptor> Pattern, IMethodDescriptor ConcreteValue, IMatchNode<bool> HasThis, IMatchNode<TypeSignature> ReturnType, IMatchNode<ITypeDefOrRef?> DeclaringType, IMatchNode<string?> Name, IMatchNode<IReadOnlyList<TypeSignature>> TypeArguments, IMatchNode<IReadOnlyList<TypeSignature>> ParameterTypes)
Parameters
PatternPattern<IMethodDescriptor>ConcreteValueIMethodDescriptorHasThisIMatchNode<bool>ReturnTypeIMatchNode<TypeSignature>DeclaringTypeIMatchNode<ITypeDefOrRef>NameIMatchNode<string>TypeArgumentsIMatchNode<IReadOnlyList<TypeSignature>>ParameterTypesIMatchNode<IReadOnlyList<TypeSignature>>
Properties
ConcreteValue
Gets the value that matched the pattern.
public IMethodDescriptor ConcreteValue { get; init; }
Property Value
DeclaringType
public IMatchNode<ITypeDefOrRef?> DeclaringType { get; init; }
Property Value
HasThis
public IMatchNode<bool> HasThis { get; init; }
Property Value
Name
public IMatchNode<string?> Name { get; init; }
Property Value
ParameterTypes
public IMatchNode<IReadOnlyList<TypeSignature>> ParameterTypes { get; init; }
Property Value
Pattern
Gets the pattern that was matched.
public Pattern<IMethodDescriptor> Pattern { get; init; }
Property Value
ReturnType
public IMatchNode<TypeSignature> ReturnType { get; init; }
Property Value
TypeArguments
public IMatchNode<IReadOnlyList<TypeSignature>> TypeArguments { get; init; }
Property Value
Methods
Deconstruct(out Pattern<IMethodDescriptor>, out IMethodDescriptor, out IMatchNode<bool>, out IMatchNode<TypeSignature>, out IMatchNode<ITypeDefOrRef?>, out IMatchNode<string?>, out IMatchNode<IReadOnlyList<TypeSignature>>, out IMatchNode<IReadOnlyList<TypeSignature>>)
public void Deconstruct(out Pattern<IMethodDescriptor> Pattern, out IMethodDescriptor ConcreteValue, out IMatchNode<bool> HasThis, out IMatchNode<TypeSignature> ReturnType, out IMatchNode<ITypeDefOrRef?> DeclaringType, out IMatchNode<string?> Name, out IMatchNode<IReadOnlyList<TypeSignature>> TypeArguments, out IMatchNode<IReadOnlyList<TypeSignature>> ParameterTypes)
Parameters
PatternPattern<IMethodDescriptor>ConcreteValueIMethodDescriptorHasThisIMatchNode<bool>ReturnTypeIMatchNode<TypeSignature>DeclaringTypeIMatchNode<ITypeDefOrRef>NameIMatchNode<string>TypeArgumentsIMatchNode<IReadOnlyList<TypeSignature>>ParameterTypesIMatchNode<IReadOnlyList<TypeSignature>>
Equals(MatchNode?)
public bool Equals(MethodReferencePattern.MatchNode? other)
Parameters
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 ==(MethodReferencePattern.MatchNode? left, MethodReferencePattern.MatchNode? right)
Parameters
Returns
operator !=(MatchNode?, MatchNode?)
public static bool operator !=(MethodReferencePattern.MatchNode? left, MethodReferencePattern.MatchNode? right)