io.joern.x2cpg.passes.base

Members list

Concise view

Type members

Classlikes

class AstLinkerPass(cpg: Cpg) extends CpgPass

Attributes

Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
case class CallSummary(name: String, signature: String, fullName: String, dispatchType: String)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
class ContainsEdgePass(cpg: Cpg) extends ConcurrentWriterCpgPass[AstNode]

This pass has MethodStubCreator and TypeDeclStubCreator as prerequisite for language frontends which do not provide method stubs and type decl stubs.

This pass has MethodStubCreator and TypeDeclStubCreator as prerequisite for language frontends which do not provide method stubs and type decl stubs.

Attributes

Companion:
object
Graph
Supertypes
class ConcurrentWriterCpgPass[AstNode]
class NewStyleCpgPassBase[AstNode]
trait CpgPassBase
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
class FileCreationPass(cpg: Cpg) extends CpgPass

For all nodes with FILENAME fields, create corresponding FILE nodes and connect node with FILE node via outgoing SOURCE_FILE edges.

For all nodes with FILENAME fields, create corresponding FILE nodes and connect node with FILE node via outgoing SOURCE_FILE edges.

Attributes

Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
class MethodDecoratorPass(cpg: Cpg) extends CpgPass

Adds a METHOD_PARAMETER_OUT for each METHOD_PARAMETER_IN to the graph and connects those with a PARAMETER_LINK edge. It also creates an AST edge from METHOD to the new METHOD_PARAMETER_OUT nodes.

Adds a METHOD_PARAMETER_OUT for each METHOD_PARAMETER_IN to the graph and connects those with a PARAMETER_LINK edge. It also creates an AST edge from METHOD to the new METHOD_PARAMETER_OUT nodes.

This pass has MethodStubCreator as prerequisite for language frontends which do not provide method stubs.

Attributes

Companion:
object
Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
class MethodStubCreator(cpg: Cpg) extends CpgPass

This pass has no other pass as prerequisite.

This pass has no other pass as prerequisite.

Attributes

Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
class NamespaceCreator(cpg: Cpg) extends CpgPass

Creates NAMESPACE nodes and connects NAMESPACE_BLOCKs to corresponding NAMESPACE nodes.

Creates NAMESPACE nodes and connects NAMESPACE_BLOCKs to corresponding NAMESPACE nodes.

This pass has no other pass as prerequisite.

Attributes

Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
class ParameterIndexCompatPass(cpg: Cpg) extends CpgPass

Old CPGs use the order field to indicate the parameter index while newer CPGs use the parameterIndex field. This pass checks whether parameterIndex is not set, in which case the value of order is copied over.

Old CPGs use the order field to indicate the parameter index while newer CPGs use the parameterIndex field. This pass checks whether parameterIndex is not set, in which case the value of order is copied over.

Attributes

Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
class TypeDeclStubCreator(cpg: Cpg) extends CpgPass

This pass has no other pass as prerequisite. For each TYPE node that does not have a corresponding TYPE_DECL node, this pass creates a TYPE_DECL node. The TYPE_DECL is considered external.

This pass has no other pass as prerequisite. For each TYPE node that does not have a corresponding TYPE_DECL node, this pass creates a TYPE_DECL node. The TYPE_DECL is considered external.

Attributes

Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
class TypeUsagePass(cpg: Cpg) extends CpgPass

Attributes

Graph
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any