MipsFunctionPass

io.joern.ghidra2cpg.passes.mips.MipsFunctionPass
class MipsFunctionPass(currentProgram: Program, address2Literal: Map[Long, String], filename: String, functions: List[Function], cpg: Cpg, decompiler: Decompiler) extends FunctionPass

Attributes

Graph
Supertypes
class FunctionPass
class ForkJoinParallelCpgPass[Function]
trait CpgPassBase
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited types

type DiffGraphBuilder = DiffGraphBuilder

Attributes

Inherited from:
ForkJoinParallelCpgPass

Value members

Concrete methods

def addCallArguments(diffGraphBuilder: DiffGraphBuilder, instruction: Instruction, callNode: CfgNodeNew, highFunction: HighFunction): Unit
def addInstructionArguments(diffGraphBuilder: DiffGraphBuilder, instruction: Instruction, instructionNode: CfgNodeNew): Unit
override def handleArguments(diffGraphBuilder: DiffGraphBuilder, instruction: Instruction, callNode: CfgNodeNew, function: Function): Unit

Attributes

Definition Classes
def handleAssignment(diffGraphBuilder: DiffGraphBuilder, instruction: Instruction, callNode: CfgNodeNew, to: Varnode, index: Int): Unit
def handleDefault(varNode: PcodeOp): Unit
def handlePtrSub(diffGraphBuilder: DiffGraphBuilder, instruction: Instruction, callNode: CfgNodeNew, varNode: Varnode, index: Int): Unit
def handleTwoArguments(diffGraphBuilder: DiffGraphBuilder, instruction: Instruction, callNode: CfgNodeNew, pcodeOp: PcodeOp, operand: String, name: String): Unit
def resolveArgument(diffGraphBuilder: DiffGraphBuilder, instruction: Instruction, callNode: CfgNodeNew, pcodeAst: PcodeOp, index: Int): Unit
def resolveVarNode(instruction: Instruction, input: Varnode, index: Int): CfgNodeNew
override def runOnPart(diffGraphBuilder: DiffGraphBuilder, function: Function): Unit

Attributes

Definition Classes
ForkJoinParallelCpgPass

Inherited methods

def addCallOrReturnNode(instruction: Instruction): CfgNodeNew

Attributes

Inherited from:
FunctionPass
protected def baseLogger: Logger

Attributes

Inherited from:
CpgPassBase
def connectCallToArgument(diffGraphBuilder: DiffGraphBuilder, call: CfgNodeNew, argument: CfgNodeNew): Unit

Attributes

Inherited from:
FunctionPass
override def createAndApply(): Unit

Attributes

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

Attributes

Inherited from:
ForkJoinParallelCpgPass
protected def generateOutFileName(prefix: String, outName: String, index: Int): String

Attributes

Inherited from:
CpgPassBase
override def generateParts(): Array[Function]

Attributes

Definition Classes
FunctionPass -> ForkJoinParallelCpgPass
Inherited from:
FunctionPass
def getHighFunction(function: Function): Option[HighFunction]

Attributes

Inherited from:
FunctionPass
protected def getInstructions(function: Function): Seq[Instruction]

Attributes

Inherited from:
FunctionPass
def handleBody(diffGraphBuilder: DiffGraphBuilder, function: Function, methodNode: NewMethod, blockNode: NewBlock): Unit

Attributes

Inherited from:
FunctionPass
def handleLocals(diffGraphBuilder: DiffGraphBuilder, function: Function, blockNode: NewBlock): Unit

Attributes

Inherited from:
FunctionPass
def handleParameters(diffGraphBuilder: DiffGraphBuilder, function: Function, methodNode: NewMethod): Unit

Attributes

Inherited from:
FunctionPass
def init(): Unit

Attributes

Inherited from:
ForkJoinParallelCpgPass
def isParallel: Boolean

Attributes

Inherited from:
ForkJoinParallelCpgPass
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
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
ForkJoinParallelCpgPass -> CpgPassBase
Inherited from:
ForkJoinParallelCpgPass
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
def sanitizeMethodName(methodName: String): String

Attributes

Inherited from:
FunctionPass
protected def withStartEndTimesLogged[A](fun: => A): A

Attributes

Inherited from:
CpgPassBase

Deprecated and Inherited methods

override def createApplySerializeAndStore(serializedCpg: SerializedCpg, prefix: String): Unit

Attributes

Deprecated
true
Definition Classes
ForkJoinParallelCpgPass -> CpgPassBase
Inherited from:
ForkJoinParallelCpgPass
protected def store(overlay: GeneratedMessageV3, name: String, serializedCpg: SerializedCpg): Unit

Attributes

Deprecated
true
Inherited from:
CpgPassBase

Inherited fields

protected val codeUnitFormat: CodeUnitFormat

Attributes

Inherited from:
FunctionPass
protected val functionByName: Map[String, Function]

Attributes

Inherited from:
FunctionPass

Implicits

Inherited implicits

implicit def intToIntegerOption(intOption: Option[Int]): Option[Int]

Attributes

Inherited from:
FunctionPass