TypePass

open class TypePass: IProgramStructurePass, Any

Builds type declaration vertices for internal (application) types.

Constructors

<init>

constructor(driver: IDriver)

Builds type declaration vertices for internal (application) types.

Parameters

Name Description
driver: IDriver

Methods

runPass

open fun runPass(cs: List<SootClass>): List<SootClass>

This pass will build type declarations, their modifiers and members and linking them to their neighbour files. i.e.

    TYPE_DECL -(SOURCE_FILE)-> FILE
    TYPE_DECL <-(CONTAINS)- FILE
    TYPE_DECL -(AST)-> *MEMBER
    TYPE_DECL -(AST)-> *MODIFIER
    TYPE_DECL -(REF)-> TYPE
    TYPE_DECL <-(AST)- NAMESPACE_BLOCK

Parameters

Name Description
cs: List<SootClass>

ReturnValue

Name Description
List<SootClass>

buildTypeDecNode

protected open fun buildTypeDecNode(shortName: String, fullName: String, filename: String, parentType: String): NewTypeDeclBuilder

Parameters

Name Description
shortName: String
fullName: String
filename: String
parentType: String

ReturnValue

Name Description
NewTypeDeclBuilder

buildTypeDeclaration

protected open fun buildTypeDeclaration(type: soot.Type): NewTypeDeclBuilder?

Parameters

Name Description
type: soot.Type

ReturnValue

Name Description
NewTypeDeclBuilder?

projectMember

protected open fun projectMember(field: SootField, childIdx: Int): NewMemberBuilder

Parameters

Name Description
field: SootField
childIdx: Int

ReturnValue

Name Description
NewMemberBuilder