Table of Contents

Class ExpressionNode

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

Constructors

ExpressionNode()

protected ExpressionNode()

ExpressionNode(ExpressionNode)

protected ExpressionNode(ExpressionNode original)

Parameters

original ExpressionNode

Properties

EqualityContract

protected virtual Type EqualityContract { get; }

Property Value

Type

Location

public abstract TokenLocation Location { get; }

Property Value

TokenLocation

Methods

Equals(ExpressionNode?)

public virtual bool Equals(ExpressionNode? other)

Parameters

other ExpressionNode

Returns

bool

Equals(object?)

public override bool Equals(object? obj)

Parameters

obj object

Returns

bool

EvaluateUsing(IExpressionEvaluator)

public abstract ExpressionResult EvaluateUsing(IExpressionEvaluator evaluator)

Parameters

evaluator IExpressionEvaluator

Returns

ExpressionResult

GetHashCode()

public override int GetHashCode()

Returns

int

PrintMembers(StringBuilder)

protected virtual bool PrintMembers(StringBuilder builder)

Parameters

builder StringBuilder

Returns

bool

ToString()

public override string ToString()

Returns

string

Operators

operator ==(ExpressionNode?, ExpressionNode?)

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

Parameters

left ExpressionNode
right ExpressionNode

Returns

bool

operator !=(ExpressionNode?, ExpressionNode?)

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

Parameters

left ExpressionNode
right ExpressionNode

Returns

bool