Class FunctionDefinitionExpressionNode
- Namespace
- StepLang.Parsing
- Assembly
- StepLang.dll
public sealed record FunctionDefinitionExpressionNode : ExpressionNode, IEvaluatableNode<IExpressionEvaluator, ExpressionResult>, INode, IEquatable<ExpressionNode>, IEquatable<FunctionDefinitionExpressionNode>
- Inheritance
-
FunctionDefinitionExpressionNode
- Implements
-
- Inherited Members
-
Constructors
FunctionDefinitionExpressionNode(Token, IReadOnlyList<IVariableDeclarationNode>, IReadOnlyList<StatementNode>)
public FunctionDefinitionExpressionNode(Token OpenParenthesisToken, IReadOnlyList<IVariableDeclarationNode> Parameters, IReadOnlyList<StatementNode> Body)
Parameters
OpenParenthesisToken
Token
Parameters
IReadOnlyList<IVariableDeclarationNode>
Body
IReadOnlyList<StatementNode>
Properties
Body
public IReadOnlyList<StatementNode> Body { get; init; }
Property Value
- IReadOnlyList<StatementNode>
EqualityContract
protected override Type EqualityContract { get; }
Property Value
- Type
Location
public override TokenLocation Location { get; }
Property Value
- TokenLocation
OpenParenthesisToken
public Token OpenParenthesisToken { get; init; }
Property Value
- Token
Parameters
public IReadOnlyList<IVariableDeclarationNode> Parameters { get; init; }
Property Value
- IReadOnlyList<IVariableDeclarationNode>
Methods
Deconstruct(out Token, out IReadOnlyList<IVariableDeclarationNode>, out IReadOnlyList<StatementNode>)
public void Deconstruct(out Token OpenParenthesisToken, out IReadOnlyList<IVariableDeclarationNode> Parameters, out IReadOnlyList<StatementNode> Body)
Parameters
OpenParenthesisToken
Token
Parameters
IReadOnlyList<IVariableDeclarationNode>
Body
IReadOnlyList<StatementNode>
Equals(ExpressionNode?)
public override sealed bool Equals(ExpressionNode? other)
Parameters
other
ExpressionNode
Returns
- bool
Equals(FunctionDefinitionExpressionNode?)
public bool Equals(FunctionDefinitionExpressionNode? other)
Parameters
other
FunctionDefinitionExpressionNode
Returns
- bool
Equals(object?)
public override bool Equals(object? obj)
Parameters
obj
object
Returns
- bool
EvaluateUsing(IExpressionEvaluator)
public override ExpressionResult EvaluateUsing(IExpressionEvaluator evaluator)
Parameters
evaluator
IExpressionEvaluator
Returns
- ExpressionResult
GetHashCode()
public override int GetHashCode()
Returns
- int
PrintMembers(StringBuilder)
protected override bool PrintMembers(StringBuilder builder)
Parameters
builder
StringBuilder
Returns
- bool
ToString()
public override string ToString()
Returns
- string
Operators
operator ==(FunctionDefinitionExpressionNode?, FunctionDefinitionExpressionNode?)
public static bool operator ==(FunctionDefinitionExpressionNode? left, FunctionDefinitionExpressionNode? right)
Parameters
left
FunctionDefinitionExpressionNode
right
FunctionDefinitionExpressionNode
Returns
- bool
operator !=(FunctionDefinitionExpressionNode?, FunctionDefinitionExpressionNode?)
public static bool operator !=(FunctionDefinitionExpressionNode? left, FunctionDefinitionExpressionNode? right)
Parameters
left
FunctionDefinitionExpressionNode
right
FunctionDefinitionExpressionNode
Returns
- bool