StatementNode

sealed class StatementNode : Node

A computation with side effects.

Functions

copy
Link copied to clipboard
abstract override fun copy(children: List<Node>): StatementNode

Returns a shallow copy of this node where the child nodes are replaced by children.

toDocument
Link copied to clipboard
override fun toDocument(): Document
toDocumentWithMetadata
Link copied to clipboard
fun toDocumentWithMetadata(metadata: Metadata): Document

Returns a pretty representation of this Node where each descendant is decorated using metadata.

toSurfaceNode
Link copied to clipboard
abstract override fun toSurfaceNode(metadata: Metadata): StatementNode

Returns a representation of this node in the surface syntax.

Properties

children
Link copied to clipboard
abstract val children: Iterable<Node>
sourceLocation
Link copied to clipboard
abstract val sourceLocation: SourceLocation

Inheritors

SimpleStatementNode
Link copied to clipboard
ControlNode
Link copied to clipboard
AssertionNode
Link copied to clipboard
BlockNode
Link copied to clipboard

Extensions

canMux
Link copied to clipboard
fun StatementNode.canMux(): Boolean
createdVariables
Link copied to clipboard
fun StatementNode.createdVariables(): List<Variable>
immediateRHS
Link copied to clipboard
fun StatementNode.immediateRHS(): List<ExpressionNode>