Ast

io.joern.x2cpg.Ast
See theAst companion object
case class Ast(nodes: Seq[NewNode], edges: Seq[AstEdge], conditionEdges: Seq[AstEdge], refEdges: Seq[AstEdge], bindsEdges: Seq[AstEdge], receiverEdges: Seq[AstEdge], argEdges: Seq[AstEdge])(implicit withSchemaValidation: ValidationMode)

Attributes

Companion
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def merge(other: Ast): Ast
def rightMostLeaf: Option[NewNode]
def root: Option[NewNode]
def subTreeCopy(node: AstNodeNew, argIndex: Int, replacementNode: Option[AstNodeNew]): Ast

Returns a deep copy of the sub tree rooted in node. If order is set, then the order and argumentIndex fields of the new root node are set to order. If replacementNode is set, then this replaces node in the new copy.

Returns a deep copy of the sub tree rooted in node. If order is set, then the order and argumentIndex fields of the new root node are set to order. If replacementNode is set, then this replaces node in the new copy.

Attributes

def withArgEdge(src: NewNode, dst: NewNode): Ast
def withArgEdges(src: NewNode, dsts: Seq[NewNode]): Ast
def withArgEdges(src: NewNode, dsts: Seq[NewNode], argIndexStart: Int): Ast
def withBindsEdge(src: NewNode, dst: NewNode): Ast
def withBindsEdges(src: NewNode, dsts: List[NewNode]): Ast
def withChild(other: Ast): Ast

AST that results when adding other as a child to this AST. other is connected to this AST's root node.

AST that results when adding other as a child to this AST. other is connected to this AST's root node.

Attributes

def withChildren(asts: Seq[Ast]): Ast

AST that results when adding all ASTs in asts as children, that is, connecting them to the root node of this AST.

AST that results when adding all ASTs in asts as children, that is, connecting them to the root node of this AST.

Attributes

def withConditionEdge(src: NewNode, dst: NewNode): Ast
def withConditionEdges(src: NewNode, dsts: List[NewNode]): Ast
def withReceiverEdge(src: NewNode, dst: NewNode): Ast
def withReceiverEdges(src: NewNode, dsts: List[NewNode]): Ast
def withRefEdge(src: NewNode, dst: NewNode): Ast
def withRefEdges(src: NewNode, dsts: List[NewNode]): Ast

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product