ProgramNode

Represents a surface level program which is a sequence of top level declarations.

Instances are usually created by parse.

Constructors

Link copied to clipboard
fun ProgramNode(declarations: List<TopLevelDeclarationNode>, sourceLocation: SourceLocation)

Functions

Link copied to clipboard
open operator override fun contains(element: TopLevelDeclarationNode): Boolean
Link copied to clipboard
open override fun containsAll(elements: Collection<TopLevelDeclarationNode>): Boolean
Link copied to clipboard
Link copied to clipboard
open operator override fun get(index: Int): TopLevelDeclarationNode
Link copied to clipboard
open override fun indexOf(element: TopLevelDeclarationNode): Int
Link copied to clipboard
open override fun isEmpty(): Boolean
Link copied to clipboard
open operator override fun iterator(): Iterator<TopLevelDeclarationNode>
Link copied to clipboard
open override fun lastIndexOf(element: TopLevelDeclarationNode): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun subList(fromIndex: Int, toIndex: Int): List<TopLevelDeclarationNode>
Link copied to clipboard
open fun <T : Any> toArray(p0: IntFunction<Array<T>>): Array<T>
Link copied to clipboard
override fun toDocument(): Document
Link copied to clipboard
open override fun toString(): String

Properties

Link copied to clipboard
open override val comment: String?
Link copied to clipboard
Link copied to clipboard
open override val size: Int
Link copied to clipboard
open override val sourceLocation: SourceLocation

Extensions

Link copied to clipboard

Elaborates this surface program into a program in the intermediate representation.

Link copied to clipboard

Combines back ends for different protocols into one that supports all.

Combines multiple protocol composers into one.

fun <K, V> Iterable<Map<K, V>>.unions(): Map<K, V>

Returns the union of all given maps.

fun <T> Iterable<Set<T>>.unions(): Set<T>

Returns the union of all given sets.

Combines code generators for different protocols into one generator that can handle all protocols.

Combines given factories into a single factory that returns protocols from all of them.