ExpressionNode

sealed class ExpressionNode : Node

A computation that produces a result.

Functions

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

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 fun toSurfaceNode(): ExpressionNode

override fun toSurfaceNode(metadata: Metadata): ExpressionNode

Returns a representation of this node in the surface syntax.

Properties

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

Inheritors

PureExpressionNode
Link copied to clipboard
InputNode
Link copied to clipboard

Extensions

involvedVariables
Link copied to clipboard
fun ExpressionNode.involvedVariables(): List<Variable>
readsFrom
Link copied to clipboard
fun ExpressionNode.readsFrom(nameAnalysis: NameAnalysis, prots: Set<Protocol>): SelectionConstraint

States whether an expression reads only from the protocols in prots