Types

Link copied to clipboard
data class ContextReceiver(val lPar: Node.Keyword.LPar, val receiverTypes: List<Node.Type>, val rPar: Node.Keyword.RPar, val supplement: NodeSupplement = NodeSupplement()) : Node

AST node that represents a context receiver. The node corresponds to KtContextReceiverList.

Link copied to clipboard

Common interface for AST nodes that are main contents of a Kotlin file or a class body.

Link copied to clipboard

Common interface for AST nodes that represent expressions.

Link copied to clipboard

Common interface for extra nodes.

Link copied to clipboard
data class FunctionParameter(val modifiers: List<Node.Modifier>, val valOrVarKeyword: Node.Keyword.ValOrVarKeyword?, val name: Node.Expression.NameExpression, val type: Node.Type?, val defaultValue: Node.Expression?, val supplement: NodeSupplement = NodeSupplement()) : Node, Node.WithModifiers

AST node that represents a formal function parameter of a function declaration. For example, x: Int in fun f(x: Int) is a function parameter. The node corresponds to KtParameter inside KtNamedFunction.

Link copied to clipboard
data class ImportDirective(val names: List<Node.Expression.NameExpression>, val aliasName: Node.Expression.NameExpression?, val supplement: NodeSupplement = NodeSupplement()) : Node

AST node that represents an import directive. The node corresponds to KtImportDirective.

Link copied to clipboard

Common interface for keywords.

Link copied to clipboard

Common interface for AST nodes that can be root node.

Link copied to clipboard
data class KotlinFile(val annotationSets: List<Node.Modifier.AnnotationSet>, val packageDirective: Node.PackageDirective?, val importDirectives: List<Node.ImportDirective>, val declarations: List<Node.Declaration>, val supplement: NodeSupplement = NodeSupplement()) : Node, Node.KotlinEntry, Node.WithDeclarations

AST node that represents whole Kotlin file. The node corresponds to KtFile.

Link copied to clipboard
data class KotlinScript(val annotationSets: List<Node.Modifier.AnnotationSet>, val packageDirective: Node.PackageDirective?, val importDirectives: List<Node.ImportDirective>, val expressions: List<Node.Expression>, val supplement: NodeSupplement = NodeSupplement()) : Node, Node.KotlinEntry
Link copied to clipboard
data class LambdaParameter(val lPar: Node.Keyword.LPar?, val variables: List<Node.Variable>, val rPar: Node.Keyword.RPar?, val destructuringType: Node.Type?, val supplement: NodeSupplement = NodeSupplement()) : Node

AST node that represents a formal parameter of lambda expression. For example, x in { x -> ... } is a lambda parameter. The node corresponds to KtParameter under KtLambdaExpression. Unlike FunctionParameter, this node can have multiple variables, i.e. destructuring declaration.

Link copied to clipboard
interface Modifier : Node

Common interface for modifiers.

Link copied to clipboard
data class PackageDirective(val names: List<Node.Expression.NameExpression>, val supplement: NodeSupplement = NodeSupplement()) : Node

AST node that represents a package directive. The node corresponds to KtPackageDirective.

Link copied to clipboard
interface PostModifier : Node

Common interface for post-modifiers.

Link copied to clipboard
interface SimpleTextNode : Node

Common interface for AST nodes that have a simple text representation.

Link copied to clipboard
interface Statement : Node

Common interface for Declaration, Expression and loop statements.

Link copied to clipboard

Common interface for AST nodes that represent types.

Link copied to clipboard
data class TypeArgument(val modifiers: List<Node.Modifier>, val type: Node.Type, val supplement: NodeSupplement = NodeSupplement()) : Node, Node.WithModifiers

AST node that represents an actual type argument. For example, Int in listOf<Int>() is a type argument. The node corresponds to KtTypeProjection.

Link copied to clipboard
data class TypeParameter(val modifiers: List<Node.Modifier>, val name: Node.Expression.NameExpression, val type: Node.Type?, val supplement: NodeSupplement = NodeSupplement()) : Node, Node.WithModifiers

AST node that represents a formal type parameter of a function or a class. For example, T in fun <T> f() is a type parameter. The node corresponds to KtTypeParameter.

Link copied to clipboard
data class ValueArgument(val name: Node.Expression.NameExpression?, val spreadOperator: Node.Keyword.Asterisk?, val expression: Node.Expression, val supplement: NodeSupplement = NodeSupplement()) : Node

AST node that represents an actual value argument of a function call. For example, foo(1, 2) has two value arguments 1 and 2. The node corresponds to KtValueArgument.

Link copied to clipboard
data class Variable(val annotationSets: List<Node.Modifier.AnnotationSet>, val name: Node.Expression.NameExpression, val type: Node.Type?, val supplement: NodeSupplement = NodeSupplement()) : Node, Node.WithAnnotationSets

AST node that represents a variable. The node corresponds to KtDestructuringDeclarationEntry, a part of KtProperty, or KtParameter whose child is IDENTIFIER.

Link copied to clipboard

Common interface for AST nodes that have annotations.

Link copied to clipboard

Common interface for AST nodes that have declarations.

Link copied to clipboard

Common interface for AST nodes that have function parameters.

Link copied to clipboard

Common interface for AST nodes that have modifiers.

Link copied to clipboard

Common interface for AST nodes that have post-modifiers.

Link copied to clipboard
interface WithStatements

Common interface for AST nodes that have statements.

Link copied to clipboard

Common interface for AST nodes that have type arguments.

Link copied to clipboard

Common interface for AST nodes that have type parameters.

Link copied to clipboard

Common interface for AST nodes that have value arguments.

Properties

Link copied to clipboard

Supplemental data for the node.