MethodRefLinker

io.joern.x2cpg.passes.callgraph.MethodRefLinker$
See theMethodRefLinker companion class

Attributes

Companion:
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Value members

Concrete methods

def linkToMultiple[SRC_NODE_TYPE <: StoredNode](cpg: Cpg, srcLabels: List[String], dstNodeLabel: String, edgeType: String, dstNodeMap: String => Option[StoredNode], getDstFullNames: SRC_NODE_TYPE => Iterable[String], dstFullNameKey: String, dstGraph: DiffGraphBuilder): Unit
def linkToSingle(cpg: Cpg, srcLabels: List[String], dstNodeLabel: String, edgeType: String, dstNodeMap: String => Option[StoredNode], dstFullNameKey: String, dstGraph: DiffGraphBuilder, dstNotExistsHandler: Option[(StoredNode, String) => Unit]): Unit

For all nodes n with a label in srcLabels, determine the value of n.$dstFullNameKey, use that to lookup the destination node in dstNodeMap, and create an edge of type edgeType between n and the destination node.

For all nodes n with a label in srcLabels, determine the value of n.$dstFullNameKey, use that to lookup the destination node in dstNodeMap, and create an edge of type edgeType between n and the destination node.

Attributes

def logFailedDstLookup(edgeType: String, srcNodeType: String, srcNodeId: String, dstNodeType: String, dstFullName: String): Unit
def logFailedSrcLookup(edgeType: String, srcNodeType: String, srcFullName: String, dstNodeType: String, dstNodeId: String): Unit
def methodFullNameToNode(cpg: Cpg, x: String): Option[Method]
def namespaceBlockFullNameToNode(cpg: Cpg, x: String): Option[NamespaceBlock]
def nodesWithFullName(cpg: Cpg, x: String): Seq[NodeRef[_ <: NodeDb]]
def typeDeclFullNameToNode(cpg: Cpg, x: String): Option[TypeDecl]
def typeFullNameToNode(cpg: Cpg, x: String): Option[Type]

Concrete fields

val logger: Logger