Package-level declarations

Types

Link copied to clipboard
open class AstEdge<T : Node>(start: Node, end: T) : Edge<T>

This property edge describes a parent/child relationship in the Abstract Syntax Tree (AST).

Link copied to clipboard
open class AstEdges<NodeType : Node, PropertyEdgeType : AstEdge<NodeType>>(thisRef: Node, onAdd: (PropertyEdgeType) -> Unit? = null, onRemove: (PropertyEdgeType) -> Unit? = null, init: (start: Node, end: NodeType) -> PropertyEdgeType = { start, end -> AstEdge(start, end) as PropertyEdgeType }) : EdgeList<NodeType, PropertyEdgeType>

This property edge list describes elements that are AST children of a node.

Link copied to clipboard
class TemplateArgument<NodeType : Node>(start: Node, end: NodeType, var instantiation: TemplateDeclaration.TemplateInitialization? = TemplateInitialization.EXPLICIT) : AstEdge<NodeType>

This edge represents a template argument that is attached to a CallExpression.

Link copied to clipboard

Functions

Link copied to clipboard

Creates a single AstEdge starting from this node (wrapped in a EdgeSingletonList container).

Link copied to clipboard
fun <NodeType : Node> Node.astEdgesOf(onAdd: (AstEdge<NodeType>) -> Unit? = null, onRemove: (AstEdge<NodeType>) -> Unit? = null): AstEdges<NodeType, AstEdge<NodeType>>

Creates an AstEdges container starting from this node.

Link copied to clipboard

Creates a single optional AstEdge starting from this node (wrapped in a EdgeSingletonList container).