Packages

c

io.joern.x2cpg

AstCreatorBase

abstract class AstCreatorBase extends AnyRef

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AstCreatorBase
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new AstCreatorBase(filename: String)

Abstract Value Members

  1. abstract def createAst(): DiffGraphBuilder

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def absolutePath(filename: String): String

    Absolute path for the given file name

  5. def annotationAssignmentAst(assignmentValueName: String, code: String, assignmentAst: Ast): Ast

    Creates an AST that represents an annotation assignment with a name for the assigned value, its overall code, and the respective assignment AST.

  6. def annotationAst(annotation: NewAnnotation, children: Seq[Ast]): Ast

    Creates an AST that represents an annotation, including its content (annotation parameter assignments).

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def blockAst(blockNode: NewBlock, statements: List[Ast] = List()): Ast

    For a given block node and statement ASTs, create an AST that represents the block.

    For a given block node and statement ASTs, create an AST that represents the block. The main purpose of this method is to increase the readability of the code which creates block asts.

  9. def callAst(callNode: NewCall, arguments: Seq[Ast] = List(), base: Option[Ast] = None, receiver: Option[Ast] = None): Ast

    Create an abstract syntax tree for a call, including CPG-specific edges required for arguments and the receiver.

    Create an abstract syntax tree for a call, including CPG-specific edges required for arguments and the receiver.

    Our call representation is inspired by ECMAScript, that is, in addition to arguments, a call has a base and a receiver. For languages other than Javascript, leave receiver empty for now.

    callNode

    the node that represents the entire call

    arguments

    arguments (without the base argument (instance))

    base

    the value to use as this in the method call.

    receiver

    the object in which the property lookup is performed

  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  11. def controlStructureAst(controlStructureNode: NewControlStructure, condition: Option[Ast], children: Seq[Ast] = Seq(), placeConditionLast: Boolean = false): Ast

    For a given node, condition AST and children ASTs, create an AST that represents the control structure.

    For a given node, condition AST and children ASTs, create an AST that represents the control structure. The main purpose of this method is to automatically assign the correct condition edges.

  12. val diffGraph: DiffGraphBuilder
  13. def doWhileAst(condition: Option[Ast], body: Seq[Ast], code: Option[String] = None, lineNumber: Option[Integer] = None, columnNumber: Option[Integer] = None): Ast
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def forAst(forNode: NewControlStructure, locals: Seq[Ast], initAsts: Seq[Ast], conditionAsts: Seq[Ast], updateAsts: Seq[Ast], bodyAst: Ast): Ast
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def globalNamespaceBlock(): NewNamespaceBlock

    Create a global namespace block for the given filename

  19. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  20. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  21. def methodAst(method: NewMethod, parameters: Seq[NewMethodParameterIn], body: Ast, methodReturn: NewMethodReturn, modifiers: Seq[NewModifier] = Nil): Ast

    Creates an AST that represents an entire method, including its content.

  22. def methodAstWithAnnotations(method: NewMethod, parameters: Seq[Ast], body: Ast, methodReturn: NewMethodReturn, modifiers: Seq[NewModifier] = Nil, annotations: Seq[Ast] = Nil): Ast

    Creates an AST that represents an entire method, including its content and with support for both method and parameter annotations.

  23. def methodStubAst(method: NewMethod, parameters: Seq[NewMethodParameterIn], methodReturn: NewMethodReturn, modifiers: Seq[NewModifier] = Nil): Ast

    Creates an AST that represents a method stub, containing information about the method, its parameters, and the return type.

  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  27. def returnAst(returnNode: NewReturn, arguments: Seq[Ast] = List()): Ast

    For a given return node and arguments, create an AST that represents the return instruction.

    For a given return node and arguments, create an AST that represents the return instruction. The main purpose of this method is to automatically assign the correct argument indices.

  28. def setArgumentIndices(arguments: Seq[Ast]): Unit
  29. def staticInitMethodAst(initAsts: List[Ast], fullName: String, signature: Option[String], returnType: String): Ast
  30. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  31. def toString(): String
    Definition Classes
    AnyRef → Any
  32. def tryCatchAst(tryNode: NewControlStructure, tryBodyAst: Ast, catchAsts: Seq[Ast], finallyAst: Option[Ast]): Ast

    For the given try body, catch ASTs and finally AST, create a try-catch-finally AST with orders set correctly for the ossdataflow engine.

  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  36. def whileAst(condition: Option[Ast], body: Seq[Ast], code: Option[String] = None, lineNumber: Option[Integer] = None, columnNumber: Option[Integer] = None): Ast
  37. def withArgumentIndex[T <: ExpressionNew](node: T, argIdxOpt: Option[Int]): T
  38. def withArgumentName[T <: ExpressionNew](node: T, argNameOpt: Option[String]): T
  39. def withIndex[T, X](nodes: Array[T])(f: (T, Int) => X): Seq[X]
  40. def withIndex[T, X](nodes: Seq[T])(f: (T, Int) => X): Seq[X]
  41. def wrapMultipleInBlock(asts: Seq[Ast], lineNumber: Option[Integer]): Ast

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped