Packages

package cst

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Package Members

  1. package stmts

Type Members

  1. final case class Annotation(name: Option[QualifiedName], elementValuePairs: List[ElementValuePair], elementValue: Option[ElementValue]) extends CST with Product with Serializable
  2. final case class AnnotationElementValue(annotation: Annotation) extends ElementValue with Product with Serializable
  3. class AnyReturnMethodDeclaration extends MethodDeclaration
  4. final case class ApexConstructorDeclaration(_modifiers: ModifierResults, qualifiedName: QualifiedName, parameters: ArraySeq[FormalParameter], thisType: ThisType, block: Block) extends ClassBodyDeclaration with ApexConstructorLike with Product with Serializable
  5. final case class ApexFieldDeclaration(thisType: ThisType, _modifiers: ModifierResults, typeName: TypeName, variableDeclarator: VariableDeclarator, isEnumConstant: Boolean = false) extends ClassBodyDeclaration with ApexFieldLike with Product with Serializable
  6. final case class ApexInitializerBlock(_modifiers: ModifierResults, block: Block, thisType: ThisType) extends ClassBodyDeclaration with ApexBlockLike with Product with Serializable
  7. class ApexMethodDeclaration extends ClassBodyDeclaration with ApexMethodLike with Referenceable
  8. final case class ApexPropertyDeclaration(thisType: ThisType, _modifiers: ModifierResults, typeName: TypeName, id: Id, propertyBlocks: Seq[PropertyBlock]) extends ClassBodyDeclaration with ApexFieldLike with Product with Serializable
  9. final case class ArrayCreatorRest(indexExpression: Option[Expression], arrayInitializer: Option[ArrayInitializer]) extends CreatorRest with Product with Serializable

    Array creation arguments, e.g.

    Array creation arguments, e.g. either new String[3] or new Account[]{accountA, accountB}

    indexExpression

    expression for size of array

    arrayInitializer

    an list of initializer expressions

  10. final case class ArrayExpression(expression: Expression, arrayExpression: Expression) extends Expression with Product with Serializable
  11. final case class ArrayInitializer(expressions: ArraySeq[Expression]) extends CST with Product with Serializable
  12. final case class ArrayInitializerElementValue(arrayInitializer: ElementValueArrayInitializer) extends ElementValue with Product with Serializable
  13. final case class BasicForControl(forInit: Option[ForInit], expression: Option[Expression], forUpdate: Option[ForUpdate]) extends ForControl with Product with Serializable

    for loop, e.g.

    for loop, e.g. for(Integer i; i<10; i++}

    forInit

    initialization statement

    expression

    continuation condition

    forUpdate

    increment statement

  14. final case class BinaryExpression(lhs: Expression, rhs: Expression, op: String) extends Expression with Product with Serializable
  15. abstract class Block extends Statement

    Block of statements, nesting uses a Block as a Statement.

    Block of statements, nesting uses a Block as a Statement.

    There are two types of Block, an Outer which can use lazy loading and an Inner which does not. The OuterBlock helps significantly reduce memory needs at the cost of needing to re-parse the block contents. As re-parsing will parse all nested blocks we use an InnerBlock for these just to reduce the number of WeakReferences we need to use.

  16. abstract class BlockVerifyContext extends VerifyContext with ControlFlowContext
  17. final class BodyDeclarationVerifyContext extends ValidateResultHolder with HolderVerifyContext with VerifyContext
  18. class BoundExprVisitor extends ApexParserBaseVisitor[ArraySeq[ExpressionContext]]

    ANTLR visitor for extracting bound expressions from SOQL or SOSL queries, e.g.

    ANTLR visitor for extracting bound expressions from SOQL or SOSL queries, e.g. WHERE Id in :Ids

  19. final case class BoundStringLiteral(bound: Set[Name]) extends Literal with Product with Serializable
  20. final case class BreakStatement() extends Statement with Product with Serializable
  21. class CST extends Positionable

    Base for all CST nodes, provides some basic location handling.

    Base for all CST nodes, provides some basic location handling.

    This is mutable for historic reasons, you must call withContext() on all CST nodes for them to pick up the location information from the parser. It also supports lines & column adjustments for when we re-parse blocks, see LazyBlock for details.

  22. trait CSTTypeArguments extends AnyRef
  23. trait CSTTypeName extends AnyRef
  24. trait CSTTypeReference extends AnyRef
  25. final case class CastExpression(typeName: TypeName, expression: Expression) extends Expression with Product with Serializable
  26. final case class CatchClause(modifiers: ModifierResults, qname: QualifiedName, id: String, block: Option[Block]) extends CST with Product with Serializable
  27. abstract class ClassBodyDeclaration extends CST with DependencyHolder with ApexNode
  28. final case class ClassCreatorRest(arguments: ArraySeq[Expression]) extends CreatorRest with Product with Serializable

    Object creation with arguments, e.g.

    Object creation with arguments, e.g. new Foo(a, b)

    arguments

    constructor argument expressions

  29. final case class ClassDeclaration(_source: Source, _module: Module, _typeContext: RelativeTypeContext, _typeName: TypeName, _outerTypeName: Option[TypeName], _id: Id, _modifiers: ModifierResults, _inTest: Boolean, _extendsType: Option[TypeName], _implementsTypes: ArraySeq[TypeName], _bodyDeclarations: ArraySeq[ClassBodyDeclaration]) extends FullDeclaration with ApexNode with Product with Serializable
  30. class CompilationUnit extends CST
  31. final case class ConstructorMap(typeName: Option[TypeName], td: Option[ApexClassDeclaration], constructorsByParam: Map[Int, Array[ConstructorDeclaration]], superConstructorsByParam: Option[ConstructorMap], errors: List[Issue]) extends Product with Serializable
  32. final case class ContinueStatement() extends Statement with Product with Serializable
  33. final case class CreatedName(idPairs: List[IdCreatedNamePair]) extends CST with Product with Serializable

    New expression type name, similar to a typeRef

  34. final case class Creator(createdName: CreatedName, creatorRest: Option[CreatorRest]) extends CST with Product with Serializable

    New expression node, these always start 'new TYPE' but there a few form alternatives

  35. sealed abstract class CreatorRest extends CST

    Base for things that appear after 'new TYPE' expressions

  36. final case class DeleteStatement(expression: Expression) extends Statement with Product with Serializable
  37. final case class DoWhileStatement(block: Block, expression: Expression) extends Statement with Product with Serializable
  38. final case class DotExpressionWithId(expression: Expression, safeNavigation: Boolean, target: Id) extends Expression with Product with Serializable
  39. final case class DotExpressionWithMethod(expression: Expression, safeNavigation: Boolean, target: Option[MethodCallWithId]) extends Expression with Product with Serializable
  40. sealed abstract class ElementValue extends CST
  41. final case class ElementValueArrayInitializer(elementValues: Seq[ElementValue]) extends CST with Product with Serializable
  42. final case class ElementValuePair(id: String, elementValue: Option[ElementValue]) extends CST with Product with Serializable
  43. final case class EmptyExpr() extends Expression with Product with Serializable
  44. final case class EnhancedForControl(typeName: TypeName, id: Id, expression: Expression) extends ForControl with Product with Serializable

    for-each iteration, e.g.

    for-each iteration, e.g. for(String a: new List<String>{'x', 'y', 'z'}

    typeName

    loop variable type

    id

    loop variable identifier

    expression

    iteration expression

  45. final case class EnumDeclaration(_source: Source, _module: Module, _typeContext: RelativeTypeContext, _typeName: TypeName, _outerTypeName: Option[TypeName], _id: Id, _modifiers: ModifierResults, _inTest: Boolean, _bodyDeclarations: ArraySeq[ClassBodyDeclaration]) extends FullDeclaration with Product with Serializable
  46. case class ExprContext(isStatic: Option[Boolean], declaration: Option[TypeDeclaration], locatable: Option[Locatable] = None) extends Product with Serializable

    Context used during expression verification to indicate focus & return state.

    Context used during expression verification to indicate focus & return state.

    Declaration provides the current context TypeDeclaration. isStatic=None is used as a marker that we have yet to enter an explicit static/instance context as you find on the outermost expression used in an instance method. In this state declaration == this & both static/instance resolution is allowed. If isStatic is set the specific expression should become restricted to either static or instance resolution.

    isStatic

    static or instance or either context

    declaration

    input/return type declaration, for return None is used to mean unknown/indeterminable

    locatable

    position of code that generated this context to support introspection

  47. sealed abstract class Expression extends CST

    base for any type of expression, provides helpers for type validation

  48. final case class ExpressionElementValue(expression: Expression) extends ElementValue with Product with Serializable
  49. final case class ExpressionListForInit(expressions: ArraySeq[Expression]) extends ForInit with Product with Serializable
  50. final case class ExpressionStatement(expression: Expression) extends Statement with Product with Serializable
  51. final class ExpressionVerifyContext extends VerifyContext
  52. sealed abstract class ForControl extends CST

    base for the two types of 'for' loop, Base style e.g.

    base for the two types of 'for' loop, Base style e.g. for(Integer i=0; i<10; i++) or enhanced style e.g. for(String a: new List<String>{'x', 'y', 'z'}

  53. sealed abstract class ForInit extends CST
  54. final case class ForStatement(control: Option[ForControl], statement: Option[Statement]) extends Statement with Product with Serializable
  55. final case class ForUpdate(expressions: ArraySeq[Expression]) extends CST with Product with Serializable
  56. final case class FormalParameter(modifiers: ModifierResults, relativeTypeName: RelativeTypeName, id: Id) extends ParameterDeclaration with Product with Serializable
  57. final case class GetterPropertyBlock(modifiers: ModifierResults, block: Option[Block]) extends PropertyBlock with Product with Serializable
  58. trait HolderVerifyContext extends AnyRef
  59. final case class Id(name: Name) extends CST with Product with Serializable
  60. final case class IdCreatedNamePair(id: Id, types: ArraySeq[TypeName]) extends CST with Product with Serializable
  61. final case class IdPrimary(id: Id) extends Primary with Product with Serializable
  62. final case class IfStatement(expression: Expression, statements: Seq[Statement]) extends Statement with Product with Serializable
  63. final class InnerBlockVerifyContext extends BlockVerifyContext
  64. final case class InsertStatement(expression: Expression) extends Statement with Product with Serializable
  65. final case class InstanceOfExpression(expression: Expression, typeName: TypeName) extends Expression with Product with Serializable
  66. final case class InterfaceDeclaration(_source: Source, _module: Module, _typeContext: RelativeTypeContext, _typeName: TypeName, _outerTypeName: Option[TypeName], _id: Id, _modifiers: ModifierResults, _inTest: Boolean, _implementsTypes: ArraySeq[TypeName], _bodyDeclarations: ArraySeq[ClassBodyDeclaration]) extends FullDeclaration with Product with Serializable
  67. sealed abstract class Literal extends AnyRef
  68. final case class LiteralPrimary(literal: Literal) extends Primary with Product with Serializable
  69. final case class LocalVariableDeclaration(modifiers: ModifierResults, typeName: TypeName, variableDeclarators: VariableDeclarators) extends CST with Product with Serializable
  70. final case class LocalVariableDeclarationStatement(localVariableDeclaration: LocalVariableDeclaration) extends Statement with Product with Serializable
  71. final case class LocalVariableForInit(variable: LocalVariableDeclaration) extends ForInit with Product with Serializable
  72. final case class MapCreatorRest(pairs: List[MapCreatorRestPair]) extends CreatorRest with Product with Serializable
  73. final case class MapCreatorRestPair(from: Expression, to: Expression) extends CST with Product with Serializable
  74. final case class MergeStatement(expression1: Expression, expression2: Expression) extends Statement with Product with Serializable
  75. abstract class MethodCall extends Expression
  76. final case class MethodCallCtor(isSuper: Boolean, arguments: ArraySeq[Expression]) extends MethodCall with Product with Serializable
  77. sealed abstract class MethodCallError extends AnyRef
  78. final case class MethodCallWithId(target: Id, arguments: ArraySeq[Expression]) extends MethodCall with Product with Serializable
  79. final case class MethodMap(typeName: Option[TypeName], td: Option[ApexClassDeclaration], methodsByName: Map[(Name, Int), Array[MethodDeclaration]], testVisiblePrivateMethods: Set[MethodDeclaration], errors: List[Issue]) extends Product with Serializable
  80. final case class NegationExpression(expression: Expression, isBitwise: Boolean) extends Expression with Product with Serializable
  81. final case class NewExpression(creator: Creator) extends Expression with Product with Serializable
  82. final class NoRest extends CreatorRest

    Object creation without arguments, e.g.

    Object creation without arguments, e.g. new Foo()

  83. abstract class Operation extends AnyRef
  84. final class OuterBlockVerifyContext extends BlockVerifyContext with OuterControlFlowContext
  85. final case class PostfixExpression(expression: Expression, op: String) extends Expression with Product with Serializable
  86. final case class PrefixExpression(expression: Expression, op: String) extends Expression with Product with Serializable
  87. sealed abstract class Primary extends CST
  88. final case class PrimaryExpression(primary: Primary) extends Expression with Product with Serializable
  89. sealed abstract class PropertyBlock extends CST
  90. final case class QualifiedName(names: Seq[Name]) extends CST with Product with Serializable
  91. final case class QueryExpression(query: Expression, lhs: Expression, rhs: Expression) extends Expression with Product with Serializable
  92. sealed trait QueryResultType extends AnyRef

    Type of return from SOQL queries, based on functions used in the query

  93. final case class ReturnStatement(expression: Option[Expression]) extends Statement with Product with Serializable
  94. final case class RunAsStatement(expressions: ArraySeq[Expression], block: Option[Block]) extends Statement with Product with Serializable
  95. final case class SOQL(queryResultType: QueryResultType, fromNames: Array[DotName], boundExpressions: ArraySeq[Expression]) extends Primary with Product with Serializable

    Inline SOQL primary, captures just enough detail to enable downstream processing

    Inline SOQL primary, captures just enough detail to enable downstream processing

    queryResultType

    type of results expected from query

    fromNames

    dot names used in FROM

    boundExpressions

    bound expressions used anywhere in the query

  96. final case class SOSL(boundExpressions: ArraySeq[Expression]) extends Primary with Product with Serializable

    Inline SOSL primary, captures just enough detail to enable downstream processing

    Inline SOSL primary, captures just enough detail to enable downstream processing

    boundExpressions

    bound expressions used anywhere in the query

  97. final case class SetOrListCreatorRest(parts: ArraySeq[Expression]) extends CreatorRest with Product with Serializable

    Set or List creation arguments, e.g.

    Set or List creation arguments, e.g. new List<Account>{accountA, accountB}

    parts

    expressions for each argument

  98. final case class SetterPropertyBlock(modifiers: ModifierResults, typeName: TypeName, block: Option[Block]) extends PropertyBlock with Product with Serializable
  99. abstract class Statement extends CST with ControlFlow

    Base class for all types of Statement

  100. final case class SubExpression(expression: Expression) extends Expression with Product with Serializable
  101. final case class SuperPrimary() extends Primary with Product with Serializable
  102. final case class ThisPrimary() extends Primary with Product with Serializable
  103. final case class ThrowStatement(expression: Expression) extends Statement with Product with Serializable
  104. final case class TryStatement(block: Block, catches: Seq[CatchClause], finallyBlock: Option[Block]) extends Statement with Product with Serializable
  105. final case class TypeReferencePrimary(typeName: TypeName) extends Primary with Product with Serializable
  106. final class TypeVerifyContext extends ValidateResultHolder with HolderVerifyContext with VerifyContext
  107. final case class UndeleteStatement(expression: Expression) extends Statement with Product with Serializable
  108. final case class UpdateStatement(expression: Expression) extends Statement with Product with Serializable
  109. final case class UpsertStatement(expression: Expression, field: Option[QualifiedName]) extends Statement with Product with Serializable
  110. class ValidateResultHolder extends AnyRef
  111. final case class ValidationResult(cst: CST, result: ExprContext, vars: Option[Map[Name, VarTypeAndDefinition]]) extends Product with Serializable
  112. case class VarTypeAndDefinition(declaration: TypeDeclaration, definition: Option[CST], isReadOnly: Boolean) extends Product with Serializable
  113. final case class VariableDeclarator(typeName: TypeName, isReadOnly: Boolean, id: Id, init: Option[Expression]) extends CST with Product with Serializable
  114. final case class VariableDeclarators(declarators: Seq[VariableDeclarator]) extends CST with Product with Serializable
  115. trait VerifyContext extends AnyRef
  116. class VoidExprContext extends ExprContext

    ExprContext of type 'void'

    ExprContext of type 'void'

    void is not commonly used in expressions, essentially just as method return type so we use simple null-object style implementation for it.

  117. final case class WhileStatement(expression: Expression, statement: Option[Statement]) extends Statement with Product with Serializable

Value Members

  1. case object AGGREGATE_RESULT_QUERY extends QueryResultType with Product with Serializable
  2. case object AMBIGUOUS_ERROR extends MethodCallError with Product with Serializable
  3. object Annotation extends Serializable
  4. object ApexConstructorDeclaration extends Serializable
  5. object ApexFieldDeclaration extends Serializable
  6. object ApexInitializerBlock extends Serializable
  7. object ApexMethodDeclaration
  8. object ApexPropertyDeclaration extends Serializable
  9. object Arguments
  10. case object ArithmeticAddSubtractAssignmentOperation extends Operation with Product with Serializable
  11. case object ArithmeticMultiplyDivideAssignmentOperation extends Operation with Product with Serializable
  12. case object ArithmeticOperation extends Operation with Product with Serializable
  13. object ArrayCreatorRest extends Serializable
  14. object ArrayInitializer extends Serializable
  15. object AssignableSupport

    Rules for determining if one type is assignable to another

  16. case object AssignmentOperation extends Operation with Product with Serializable
  17. object BasicForControl extends Serializable
  18. case object BitwiseAssignmentOperation extends Operation with Product with Serializable
  19. case object BitwiseOperation extends Operation with Product with Serializable
  20. object Block
  21. case object BooleanLiteral extends Literal with Product with Serializable
  22. object BreakStatement extends Serializable
  23. case object COUNT_RESULT_QUERY extends QueryResultType with Product with Serializable
  24. object CST
  25. object CSTTypeReference
  26. object CatchClause extends Serializable
  27. object ClassBodyDeclaration
  28. object ClassCreatorRest extends Serializable
  29. object ClassDeclaration extends Serializable
  30. case object CompareOperation extends Operation with Product with Serializable
  31. object CompilationUnit
  32. case object ConditionalOperation extends Operation with Product with Serializable
  33. object ConstructorMap extends Serializable
  34. object ContinueStatement extends Serializable
  35. object CreatedName extends Serializable
  36. object Creator extends Serializable
  37. case object DecimalLiteral extends Literal with Product with Serializable
  38. object DeleteStatement extends Serializable
  39. object DoWhileStatement extends Serializable
  40. object DotExpression
  41. object DotExpressionWithMethod extends Serializable
  42. case object DoubleLiteral extends Literal with Product with Serializable
  43. object DoubleOrDecimalLiteral
  44. object ElementValue
  45. object ElementValueArrayInitializer extends Serializable
  46. object ElementValuePair extends Serializable
  47. object ElementValuePairs
  48. object EnhancedForControl extends Serializable
  49. object EnumDeclaration extends Serializable
  50. case object EqualityOperation extends Operation with Product with Serializable
  51. case object ExactEqualityOperation extends Operation with Product with Serializable
  52. object ExprContext extends Serializable
  53. object Expression
  54. object ExpressionStatement extends Serializable
  55. object ForControl
  56. object ForInit
  57. object ForStatement extends Serializable
  58. object ForUpdate extends Serializable
  59. object FormalParameter extends Serializable
  60. object FormalParameterList
  61. object FormalParameters
  62. object Id extends Serializable
  63. object IdCreatedNamePair extends Serializable
  64. object IfStatement extends Serializable
  65. object InsertStatement extends Serializable
  66. case object IntegerLiteral extends Literal with Product with Serializable
  67. object IntegerOrLongLiteral
  68. object InterfaceDeclaration extends Serializable
  69. case object LIST_RESULT_QUERY extends QueryResultType with Product with Serializable
  70. object Literal
  71. object LocalVariableDeclaration extends Serializable
  72. object LocalVariableDeclarationStatement extends Serializable
  73. case object LogicalOperation extends Operation with Product with Serializable
  74. case object LongLiteral extends Literal with Product with Serializable
  75. object MapCreatorRest extends Serializable
  76. object MapCreatorRestPair extends Serializable
  77. object MergeStatement extends Serializable
  78. object MethodCall
  79. object MethodMap extends Serializable
  80. case object NO_MATCH_ERROR extends MethodCallError with Product with Serializable
  81. object NoRest
  82. case object NullLiteral extends Literal with Product with Serializable
  83. object Operation
  84. case object PlusOperation extends Operation with Product with Serializable
  85. object Primary
  86. object PropertyBlock
  87. object QualifiedName extends Serializable
  88. object ReturnStatement extends Serializable
  89. object RunAsStatement extends Serializable
  90. object SOQL extends Serializable
  91. object SOSL extends Serializable
  92. object SetOrListCreatorRest extends Serializable
  93. object Statement
  94. case object StringLiteral extends Literal with Product with Serializable
  95. object ThrowStatement extends Serializable
  96. object TryStatement extends Serializable
  97. object TypeList
  98. object TypeReference
  99. object UndeleteStatement extends Serializable
  100. object UpdateStatement extends Serializable
  101. object UpsertStatement extends Serializable
  102. object VariableDeclarator extends Serializable
  103. object VariableDeclarators extends Serializable
  104. object VoidExprContext extends Serializable
  105. object WhileStatement extends Serializable

Ungrouped