SwiftInheritanceNamePass

io.joern.swiftsrc2cpg.passes.SwiftInheritanceNamePass
class SwiftInheritanceNamePass(cpg: Cpg) extends XInheritanceFullNamePass

Using some basic heuristics, will try to resolve type full names from types found within the CPG. Requires ImportPass as a pre-requisite.

Attributes

Graph
Supertypes
class XInheritanceFullNamePass
class ForkJoinParallelCpgPass[TypeDecl]
class NewStyleCpgPassBase[TypeDecl]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited types

type DiffGraphBuilder = DiffGraphBuilder

Attributes

Inherited from:
NewStyleCpgPassBase

Value members

Inherited methods

override def createAndApply(): Unit

Attributes

Definition Classes
NewStyleCpgPassBase -> CpgPassBase
Inherited from:
NewStyleCpgPassBase
override def createApplySerializeAndStore(serializedCpg: SerializedCpg, inverse: Boolean, prefix: String): Unit

Attributes

Definition Classes
ForkJoinParallelCpgPass -> CpgPassBase
Inherited from:
ForkJoinParallelCpgPass
def finish(): Unit

Attributes

Inherited from:
NewStyleCpgPassBase
override def generateParts(): Array[TypeDecl]

Attributes

Definition Classes
XInheritanceFullNamePass -> NewStyleCpgPassBase
Inherited from:
XInheritanceFullNamePass
protected def inheritsNothingOfInterest(inheritedTypes: Seq[String]): Boolean

Attributes

Inherited from:
XInheritanceFullNamePass
def init(): Unit

Attributes

Inherited from:
NewStyleCpgPassBase
def isParallel: Boolean

Attributes

Inherited from:
NewStyleCpgPassBase
def name: String

Name of the pass. By default it is inferred from the name of the class, override if needed.

Name of the pass. By default it is inferred from the name of the class, override if needed.

Attributes

Inherited from:
CpgPassBase
protected def resolveInheritedTypeFullName(td: TypeDecl, builder: DiffGraphBuilder): Seq[TypeDeclBase]

Attributes

Inherited from:
XInheritanceFullNamePass
override def runOnPart(builder: DiffGraphBuilder, source: TypeDecl): Unit

Attributes

Definition Classes
XInheritanceFullNamePass -> NewStyleCpgPassBase
Inherited from:
XInheritanceFullNamePass
override def runWithBuilder(externalBuilder: DiffGraphBuilder): Int

Runs the cpg pass, adding changes to the passed builder. Use with caution -- API is unstable. Returns max(nParts, 1), where nParts is either the number of parallel parts, or the number of iterarator elements in case of legacy passes. Includes init() and finish() logic.

Runs the cpg pass, adding changes to the passed builder. Use with caution -- API is unstable. Returns max(nParts, 1), where nParts is either the number of parallel parts, or the number of iterarator elements in case of legacy passes. Includes init() and finish() logic.

Attributes

Definition Classes
NewStyleCpgPassBase -> CpgPassBase
Inherited from:
NewStyleCpgPassBase
def runWithBuilderLogged(builder: DiffGraphBuilder): Int

Wraps runWithBuilder with logging, and swallows raised exceptions. Use with caution -- API is unstable. A return value of -1 indicates failure, otherwise the return value of runWithBuilder is passed through.

Wraps runWithBuilder with logging, and swallows raised exceptions. Use with caution -- API is unstable. A return value of -1 indicates failure, otherwise the return value of runWithBuilder is passed through.

Attributes

Inherited from:
CpgPassBase
protected def xTypeFullName(importedType: String, importedPath: String): (String, String)

Converts types in the form foo.bar.Baz to foo/bar.js::program:Baz and will result in a tuple of name and full name.

Converts types in the form foo.bar.Baz to foo/bar.js::program:Baz and will result in a tuple of name and full name.

Attributes

Inherited from:
XInheritanceFullNamePass

Concrete fields

override val fileExt: String
override val moduleName: String
override val pathSep: Char

Inherited fields

protected val fileModuleSep: Char

Attributes

Inherited from:
XInheritanceFullNamePass