Table of Contents

Class BinaryExpressionNode

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

Constructors

BinaryExpressionNode(BinaryExpressionNode)

protected BinaryExpressionNode(BinaryExpressionNode original)

Parameters

original BinaryExpressionNode

BinaryExpressionNode(TokenLocation, ExpressionNode, ExpressionNode, BinaryExpressionOperator)

protected BinaryExpressionNode(TokenLocation OperatorLocation, ExpressionNode Left, ExpressionNode Right, BinaryExpressionOperator Op)

Parameters

OperatorLocation TokenLocation
Left ExpressionNode
Right ExpressionNode
Op BinaryExpressionOperator

Properties

EqualityContract

protected override Type EqualityContract { get; }

Property Value

Type

Left

public ExpressionNode Left { get; init; }

Property Value

ExpressionNode

Location

public override TokenLocation Location { get; }

Property Value

TokenLocation

Op

public BinaryExpressionOperator Op { get; init; }

Property Value

BinaryExpressionOperator

OperatorLocation

public TokenLocation OperatorLocation { get; init; }

Property Value

TokenLocation

Right

public ExpressionNode Right { get; init; }

Property Value

ExpressionNode

Methods

Deconstruct(out TokenLocation, out ExpressionNode, out ExpressionNode, out BinaryExpressionOperator)

public void Deconstruct(out TokenLocation OperatorLocation, out ExpressionNode Left, out ExpressionNode Right, out BinaryExpressionOperator Op)

Parameters

OperatorLocation TokenLocation
Left ExpressionNode
Right ExpressionNode
Op BinaryExpressionOperator

Equals(BinaryExpressionNode?)

public virtual bool Equals(BinaryExpressionNode? other)

Parameters

other BinaryExpressionNode

Returns

bool

Equals(ExpressionNode?)

public override sealed bool Equals(ExpressionNode? other)

Parameters

other ExpressionNode

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

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

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

Parameters

left BinaryExpressionNode
right BinaryExpressionNode

Returns

bool

operator !=(BinaryExpressionNode?, BinaryExpressionNode?)

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

Parameters

left BinaryExpressionNode
right BinaryExpressionNode

Returns

bool