Table of Contents

Class FunctionDefinitionCallExpressionNode

Namespace
StepLang.Parsing
Assembly
StepLang.dll
public record FunctionDefinitionCallExpressionNode : ExpressionNode, IEvaluatableNode<IExpressionEvaluator, ExpressionResult>, INode, IEquatable<ExpressionNode>, IEquatable<FunctionDefinitionCallExpressionNode>
Inheritance
FunctionDefinitionCallExpressionNode
Implements
Inherited Members

Constructors

FunctionDefinitionCallExpressionNode(FunctionDefinitionCallExpressionNode)

protected FunctionDefinitionCallExpressionNode(FunctionDefinitionCallExpressionNode original)

Parameters

original FunctionDefinitionCallExpressionNode

FunctionDefinitionCallExpressionNode(Token, IReadOnlyList<IVariableDeclarationNode>, IReadOnlyList<StatementNode>, IReadOnlyList<ExpressionNode>)

public FunctionDefinitionCallExpressionNode(Token OpenParenthesisToken, IReadOnlyList<IVariableDeclarationNode> Parameters, IReadOnlyList<StatementNode> Body, IReadOnlyList<ExpressionNode> CallArguments)

Parameters

OpenParenthesisToken Token
Parameters IReadOnlyList<IVariableDeclarationNode>
Body IReadOnlyList<StatementNode>
CallArguments IReadOnlyList<ExpressionNode>

Properties

Body

public IReadOnlyList<StatementNode> Body { get; init; }

Property Value

IReadOnlyList<StatementNode>

CallArguments

public IReadOnlyList<ExpressionNode> CallArguments { get; init; }

Property Value

IReadOnlyList<ExpressionNode>

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>, out IReadOnlyList<ExpressionNode>)

public void Deconstruct(out Token OpenParenthesisToken, out IReadOnlyList<IVariableDeclarationNode> Parameters, out IReadOnlyList<StatementNode> Body, out IReadOnlyList<ExpressionNode> CallArguments)

Parameters

OpenParenthesisToken Token
Parameters IReadOnlyList<IVariableDeclarationNode>
Body IReadOnlyList<StatementNode>
CallArguments IReadOnlyList<ExpressionNode>

Equals(ExpressionNode?)

public override sealed bool Equals(ExpressionNode? other)

Parameters

other ExpressionNode

Returns

bool

Equals(FunctionDefinitionCallExpressionNode?)

public virtual bool Equals(FunctionDefinitionCallExpressionNode? other)

Parameters

other FunctionDefinitionCallExpressionNode

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 ==(FunctionDefinitionCallExpressionNode?, FunctionDefinitionCallExpressionNode?)

public static bool operator ==(FunctionDefinitionCallExpressionNode? left, FunctionDefinitionCallExpressionNode? right)

Parameters

left FunctionDefinitionCallExpressionNode
right FunctionDefinitionCallExpressionNode

Returns

bool

operator !=(FunctionDefinitionCallExpressionNode?, FunctionDefinitionCallExpressionNode?)

public static bool operator !=(FunctionDefinitionCallExpressionNode? left, FunctionDefinitionCallExpressionNode? right)

Parameters

left FunctionDefinitionCallExpressionNode
right FunctionDefinitionCallExpressionNode

Returns

bool