io.joern.x2cpg.passes.base

Members list

Type members

Classlikes

class AstLinkerPass(cpg: Cpg) extends CpgPass, LinkingUtil

Attributes

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

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
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
Supertypes
class ConcurrentWriterCpgPass[AstNode]
class NewStyleCpgPassBase[AstNode]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all

Attributes

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

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

Supertypes
trait LinkingUtil
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
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
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
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

Companion
object
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
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

Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
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

Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all
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

Companion
object
Supertypes
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class TypeUsagePass(cpg: Cpg) extends CpgPass, LinkingUtil

Attributes

Supertypes
trait LinkingUtil
class CpgPass
class ForkJoinParallelCpgPass[AnyRef]
class NewStyleCpgPassBase[AnyRef]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all