io.eleven19.krueger.cst

Members list

Type members

Classlikes

Attributes

Source
CstNodes.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Source
CstNodes.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class CstAnythingPattern()(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstAsPattern(pattern: CstPattern, alias: CstName)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstBinaryOp(left: CstExpression, operator: CstName, right: CstExpression)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstCaseBranch(pattern: CstPattern, body: CstExpression)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstCaseOf(expr: CstExpression, branches: List[CstCaseBranch])(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstCharLiteral(value: Char)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstCharPattern(value: Char)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstComment(kind: CommentKind, text: String)(span: Span) extends CstTriviaItem

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstConsPattern(head: CstPattern, tail: CstPattern)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstConstructor(name: CstName, parameters: IndexedSeq[CstTypeExpression])(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstConstructorPattern(name: CstQualifiedName, arguments: List[CstPattern])(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstConstructorRef(name: CstQualifiedName)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
object CstCursor

Attributes

Companion
class
Source
CstCursor.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
CstCursor.type
final case class CstCursor

A zipper-style cursor for navigating the CST. Tracks the current node and its position within the tree, allowing movement to parent, children, and siblings without re-traversing from the root.

A zipper-style cursor for navigating the CST. Tracks the current node and its position within the tree, allowing movement to parent, children, and siblings without re-traversing from the root.

Attributes

Companion
object
Source
CstCursor.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class CstCustomTypeDeclaration(name: CstName, typeVariables: IndexedSeq[CstName], constructors: IndexedSeq[CstConstructor], trivia: CstTrivia = ...)(span: Span) extends CstDeclaration

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
sealed trait CstDeclaration extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes
sealed trait CstExposedConstructors extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
sealed trait CstExposedItem extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes
case class CstExposedOperator(name: CstName)(span: Span) extends CstExposedItem

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstExposedType(name: CstName, constructors: Option[CstExposedConstructors])(span: Span) extends CstExposedItem

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstExposedValue(name: CstName)(span: Span) extends CstExposedItem

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstExposingAll()(span: Span) extends CstExposingList

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstExposingExplicit(items: List[CstExposedItem])(span: Span) extends CstExposingList

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
sealed trait CstExposingList extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes
sealed trait CstExpression extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes
case class CstFieldAccess(record: CstExpression, field: CstName)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstFieldAccessFunction(field: CstName)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstFloatLiteral(value: Double)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstFloatPattern(value: Double)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstFunctionApplication(function: CstExpression, arguments: List[CstExpression])(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstGlsl(code: String)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstIfThenElse(condition: CstExpression, thenBranch: CstExpression, elseBranch: CstExpression)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstImport(moduleName: CstQualifiedName, alias: Option[CstName], exposing: Option[CstExposingList])(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstInfixDeclaration(associativity: Associativity, precedence: Int, operator: CstName, function: CstName, trivia: CstTrivia = ...)(span: Span) extends CstDeclaration

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstIntLiteral(value: Long)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstIntPattern(value: Long)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstLambda(parameters: List[CstPattern], body: CstExpression)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstLetBinding(annotation: Option[CstTypeAnnotation], pattern: CstPattern, parameters: List[CstPattern], body: CstExpression)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstLetIn(bindings: List[CstLetBinding], body: CstExpression)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstListLiteral(elements: List[CstExpression])(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstListPattern(elements: List[CstPattern])(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstModule(moduleDecl: CstModuleDeclaration, imports: IndexedSeq[CstImport], declarations: IndexedSeq[CstDeclaration], trivia: CstTrivia = ...)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstModuleDeclaration(moduleType: ModuleType, name: CstQualifiedName, exposing: CstExposingList)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstName(value: String)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstNegate(expr: CstExpression)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
object CstNode

Attributes

Companion
trait
Source
CstNodes.scala
Supertypes
class Object
trait Matchable
class Any
Self type
CstNode.type
sealed trait CstNode

Attributes

Companion
object
Source
CstNodes.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class CstBinaryOp
class CstCaseOf
class CstGlsl
class CstLambda
class CstLetIn
class CstNegate
class CstImport
class CstModule
class CstName
trait CstPattern
class CstAsPattern
class CstComment
class CstTupleType
class CstUnitType
Show all
case class CstOperatorRef(name: CstName)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstParenthesized(expr: CstExpression)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstParenthesizedPattern(pattern: CstPattern)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
sealed trait CstPattern extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes
case class CstPortDeclaration(name: CstName, typeExpr: CstTypeExpression, trivia: CstTrivia = ...)(span: Span) extends CstDeclaration

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstQualifiedName(parts: List[CstName])(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all

QueryableTree instance for the Elm CST.

QueryableTree instance for the Elm CST.

nodeType is the Scala case-class simple name (e.g. "CstValueDeclaration"). children delegates to CstVisitor.children. fields exposes case-class field names whose values are themselves CstNodes; scalar leaves (String, Long, Double, Char) are surfaced through text instead. trivia is excluded from fields to keep queries focused on structure.

Attributes

Source
CstQueryableTree.scala
Supertypes
class Object
trait Matchable
class Any
Self type
case class CstRecordField(name: CstName, value: CstExpression)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstRecordFieldType(name: CstName, typeExpr: CstTypeExpression)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstRecordLiteral(fields: List[CstRecordField])(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstRecordPattern(fields: List[CstName])(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstRecordType(fields: List[CstRecordFieldType], extensionVariable: Option[CstName])(span: Span) extends CstTypeExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstRecordUpdate(record: CstName, fields: List[CstRecordField])(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstStringLiteral(value: String)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstStringPattern(value: String)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstTrivia(items: IndexedSeq[CstTriviaItem] = ...)

Attributes

Companion
object
Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object CstTrivia

Attributes

Companion
class
Source
CstNodes.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
CstTrivia.type
sealed trait CstTriviaItem extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes
class CstComment
case class CstTupleLiteral(elements: List[CstExpression])(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstTuplePattern(elements: List[CstPattern])(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstTupleType(elements: List[CstTypeExpression])(span: Span) extends CstTypeExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstTypeAliasDeclaration(name: CstName, typeVariables: IndexedSeq[CstName], body: CstTypeExpression, trivia: CstTrivia = ...)(span: Span) extends CstDeclaration

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstTypeAnnotation(name: CstName, typeExpr: CstTypeExpression)(span: Span) extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstTypeApplication(constructor: CstTypeExpression, arguments: List[CstTypeExpression])(span: Span) extends CstTypeExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
sealed trait CstTypeExpression extends CstNode

Attributes

Source
CstNodes.scala
Supertypes
trait CstNode
class Object
trait Matchable
class Any
Known subtypes
case class CstTypeReference(name: CstQualifiedName)(span: Span) extends CstTypeExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstTypeVariable(name: CstName)(span: Span) extends CstTypeExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all

Attributes

Source
CstUnistProjection.scala
Supertypes
class Object
trait Matchable
class Any
Self type
case class CstUnitLiteral()(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstUnitPattern()(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstUnitType()(span: Span) extends CstTypeExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstValueDeclaration(annotation: Option[CstTypeAnnotation], name: CstName, patterns: IndexedSeq[CstPattern], body: CstExpression, trivia: CstTrivia = ...)(span: Span) extends CstDeclaration

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstVariablePattern(name: CstName)(span: Span) extends CstPattern

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstPattern
trait CstNode
class Object
trait Matchable
class Any
Show all
case class CstVariableRef(name: CstQualifiedName)(span: Span) extends CstExpression

Attributes

Source
CstNodes.scala
Supertypes
trait Serializable
trait Product
trait Equals
trait CstNode
class Object
trait Matchable
class Any
Show all
object CstVisitor

Utilities for visiting and folding over CST trees.

Utilities for visiting and folding over CST trees.

Traversal uses trampolining (scala.util.control.TailCalls) for stack safety, so arbitrarily deep CST trees can be processed without risk of stack overflow.

Attributes

Companion
trait
Source
CstVisitor.scala
Supertypes
class Object
trait Matchable
class Any
Self type
CstVisitor.type
trait CstVisitor[A]

Visitor trait for CST nodes. Each method has a default that delegates up the type hierarchy, so you only need to override the methods you care about.

Visitor trait for CST nodes. Each method has a default that delegates up the type hierarchy, so you only need to override the methods you care about.

Hierarchy: CstNode → CstDeclaration, CstExpression, CstPattern, CstTypeExpression, CstExposingList, CstExposedItem. Override visitNode to handle all nodes, visitDeclaration for all declarations, etc.

Attributes

Companion
object
Source
CstVisitor.scala
Supertypes
class Object
trait Matchable
class Any
object KyoCstVisitor

Attributes

Source
KyoCstVisitor.scala
Supertypes
class Object
trait Matchable
class Any
Self type
enum ModuleType

Attributes

Source
CstNodes.scala
Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all