Trait

org.argus.jawa.core

JawaClassLoadManager

Related Doc: package core

Permalink

trait JawaClassLoadManager extends JavaKnowledge with JawaResolver

Self Type
Global
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JawaClassLoadManager
  2. JawaResolver
  3. JavaKnowledge
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. object ClassCategory extends Enumeration

    Permalink
    Definition Classes
    JavaKnowledge
  5. def JAVA_PRIMITIVES: Set[String]

    Permalink
    Definition Classes
    JavaKnowledge
  6. def JAVA_TOPLEVEL_OBJECT: String

    Permalink
    Definition Classes
    JavaKnowledge
  7. def JAVA_TOPLEVEL_OBJECT_TYPE: JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  8. def addApplicationClass(ar: JawaClass): Unit

    Permalink

    add an application class

  9. def addClass(ar: JawaClass): Any

    Permalink

    add class into Global

  10. def addClassInternal(ar: JawaClass): Unit

    Permalink
    Attributes
    protected[org.argus.jawa]
  11. def addClassNotFound(typ: JawaType): MSet[JawaType]

    Permalink
  12. def addClassesNeedUpdateInHierarchy(clazz: JawaClass): MSet[JawaClass]

    Permalink
  13. def addNeedToResolveExtend(childClass: JawaClass, parent: JawaType): Set[JawaType]

    Permalink
  14. def addNeedToResolveExtends(childClass: JawaClass, parents: ISet[JawaType]): Set[JawaType]

    Permalink
  15. def addNeedToResolveOuterClass(innerclass: JawaClass, outerType: JawaType): Unit

    Permalink
  16. def addSystemLibraryClass(l: JawaClass): Unit

    Permalink

    add a system library class

  17. def addUserLibraryClass(l: JawaClass): Unit

    Permalink

    add a third party library class

  18. val applicationClasses: MMap[JawaType, JawaClass]

    Permalink

    set of application classes contained by the current Global

    set of application classes contained by the current Global

    Attributes
    protected
  19. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  20. def assign(str: String, dimension: Int, pattern: String, front: Boolean): String

    Permalink

    input ("Ljava/lang/String;", 1, "[", true) output "[Ljava/lang/String;"

    input ("Ljava/lang/String;", 1, "[", true) output "[Ljava/lang/String;"

    Attributes
    protected
    Definition Classes
    JavaKnowledge
  21. def checkClassLoadingStatus: Boolean

    Permalink
  22. val classCache: LoadingCache[JawaType, JawaClass]

    Permalink
    Attributes
    protected
  23. val classes: MMap[JawaType, JawaClass]

    Permalink

    set of classes contained by the current Global

    set of classes contained by the current Global

    Attributes
    protected
  24. def clearClassesNeedUpdateInHierarchy(): Unit

    Permalink
  25. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. def constructorName: String

    Permalink

    ******************** JawaMethod related op end *************************

    ******************** JawaMethod related op end *************************

    Definition Classes
    JavaKnowledge
  27. def containsClass(typ: JawaType): Boolean

    Permalink

    current Global contains the given class or not

  28. def containsField(fieldFQN: FieldFQN): Boolean

    Permalink

    return true if contains the given field.

    return true if contains the given field. Input example is java.lang.Throwable.stackState

  29. def containsMethod(signature: Signature): Boolean

    Permalink

    return true if contains the given procedure.

    return true if contains the given procedure. Input example is Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z

  30. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  31. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  32. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  33. def findEntryPoints(entryMethodName: String): ISet[JawaMethod]

    Permalink

    find entry points from current app/test cases

  34. def formatPackageStringToPackage(pkg: String): JawaPackage

    Permalink
    Definition Classes
    JavaKnowledge
  35. def formatSignatureToType(sig: String): JawaType

    Permalink

    convert type string from signature style to type.

    convert type string from signature style to type. [Ljava/lang/Object; -> (java.lang.Object, 1)

    Definition Classes
    JavaKnowledge
  36. def formatTypeToName(typ: JawaType): String

    Permalink
    Definition Classes
    JavaKnowledge
  37. def formatTypeToSignature(typ: JawaType): String

    Permalink
    Definition Classes
    JavaKnowledge
  38. def genSignature(classTyp: JawaType, methodName: String, paramTyps: IList[JawaType], retTyp: JawaType): Signature

    Permalink
    Definition Classes
    JavaKnowledge
  39. def genSignature(classSigPart: String, methodNamePart: String, paramSigPart: String): Signature

    Permalink
    Definition Classes
    JavaKnowledge
  40. def generateFieldFQN(owner: JawaType, name: String, typ: JawaType): FieldFQN

    Permalink

    generate signature of this field.

    generate signature of this field. input: ("java.lang.Throwable", "stackState") output: "java.lang.Throwable.stackState"

    Definition Classes
    JavaKnowledge
  41. def generateSignature(method: JawaMethod): Signature

    Permalink

    generate signature of this method

    generate signature of this method

    Definition Classes
    JavaKnowledge
  42. def generateSignatureFromOwnerAndMethodSubSignature(clazz: JawaClass, subSig: String): Signature

    Permalink
    Definition Classes
    JavaKnowledge
  43. def generateUnknownJawaMethod(declaringClass: JawaClass, signature: Signature): JawaMethod

    Permalink
    Definition Classes
    JavaKnowledge
  44. def getApplicationClasses: ISet[JawaClass]

    Permalink

    get all the application classes

  45. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  46. def getClassCategory(typ: JawaType): JavaKnowledge.ClassCategory.Value

    Permalink
    Attributes
    protected
  47. def getClassCode(file: AbstractFile, level: ResolveLevel.Value): String

    Permalink
    Attributes
    protected[org.argus.jawa]
    Definition Classes
    JawaResolver
  48. def getClassHierarchy: ClassHierarchy

    Permalink

    retrieve the normal class hierarchy

  49. def getClassNameFromFieldFQN(fqn: String): String

    Permalink

    get class name from field signature.

    get class name from field signature. e.g. java.lang.Throwable.stackState -> java.lang.Throwable [Ljava.lang.String;.length -> [Ljava.lang.String;

    Definition Classes
    JavaKnowledge
  50. def getClassNameFromMethodFullName(mfn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  51. def getClassNotFound: ISet[JawaType]

    Permalink
  52. def getClassOrResolve(typ: JawaType): JawaClass

    Permalink

    get class by type, if not present resolve it.

  53. def getClassOrResolveWithoutCache(typ: JawaType): JawaClass

    Permalink
    Attributes
    protected[org.argus.jawa]
  54. def getClassTypeFromFieldFQN(fqn: String): JawaType

    Permalink

    get class name from field signature.

    get class name from field signature. e.g. java.lang.Throwable.stackState -> java.lang.Throwable [Ljava.lang.String;.length -> [Ljava.lang.String;

    Definition Classes
    JavaKnowledge
  55. def getClassTypeFromMethodFullName(mfn: String): JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  56. def getClasses: ISet[JawaClass]

    Permalink

    get classes

  57. def getClassesNeedUpdateInHierarchy: ISet[JawaClass]

    Permalink
  58. def getClazz(typ: JawaType): Option[JawaClass]

    Permalink

    get class by type; if it does not exist, return None

  59. def getContainingSet(ar: JawaClass): Set[JawaClass]

    Permalink

    get containing set of given class

  60. def getEntryPoints(entryMethodName: String): ISet[JawaMethod]

    Permalink

    get entry points

  61. def getField(fieldFQN: FieldFQN): Option[JawaField]

    Permalink

    grab field from Global.

    grab field from Global. Input example is java.lang.Throwable.stackState

  62. def getFieldNameFromFieldFQN(fqn: String): String

    Permalink

    get field name from field FQN.

    get field name from field FQN. e.g. java.lang.Throwable.stackState -> stackState

    Definition Classes
    JavaKnowledge
  63. def getMethod(signature: Signature): Option[JawaMethod]

    Permalink

    get procedure from Global.

    get procedure from Global. Input example is Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z

  64. def getMethodNameFromMethodFullName(mfn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  65. def getMethodOrResolve(signature: Signature): Option[JawaMethod]

    Permalink
  66. def getOuterTypeFrom(innerType: JawaType): JawaType

    Permalink

    get outer class name from inner class name.

    get outer class name from inner class name. e.g. android.os.Handler$Callback -> android.os.Handler

    Definition Classes
    JavaKnowledge
  67. def getSystemLibraryClasses: ISet[JawaClass]

    Permalink

    get all the system library classes

  68. def getType(typ: String, dimentions: Int): JawaType

    Permalink

    input ("java.lang.String", 1) output Type

    input ("java.lang.String", 1) output Type

    Attributes
    protected
    Definition Classes
    JavaKnowledge
  69. def getTypeFromName(name: String): JawaType

    Permalink

    input: "java.lang.String[]" output: JawaType("java.lang.String", 1)

    input: "java.lang.String[]" output: JawaType("java.lang.String", 1)

    Definition Classes
    JavaKnowledge
  70. def getUserLibraryClasses: ISet[JawaClass]

    Permalink

    get all the third party lib classes

  71. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  72. val hierarchy: ClassHierarchy

    Permalink

    class hierarchy of all classes in the current Global

    class hierarchy of all classes in the current Global

    Attributes
    protected
  73. def isApplicationClasses(typ: JawaType): Boolean

    Permalink

    get all the application classes

  74. def isDirty: Boolean

    Permalink
  75. def isFQN(str: String): Boolean

    Permalink

    check if given string is field signature or not

    check if given string is field signature or not

    Definition Classes
    JavaKnowledge
  76. def isInnerClass(typ: JawaType): Boolean

    Permalink

    return true if the given typ is a inner class or not

    return true if the given typ is a inner class or not

    Definition Classes
    JavaKnowledge
  77. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  78. def isJavaPrimitive(name: String): Boolean

    Permalink

    return whether given type is java primitive type

    return whether given type is java primitive type

    Definition Classes
    JavaKnowledge
  79. def isJavaPrimitive(typ: JawaType): Boolean

    Permalink

    return whether given type is java primitive type

    return whether given type is java primitive type

    Definition Classes
    JavaKnowledge
  80. def isJawaConstructor(name: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  81. def isSystemLibraryClasses(typ: JawaType): Boolean

    Permalink

    get all the system library classes

  82. def isUserLibraryClasses(typ: JawaType): Boolean

    Permalink

    get all the third party lib classes

  83. def isValidFieldFQN(fqn: String): Boolean

    Permalink

    FQN of the field.

    FQN of the field. e.g. java.lang.Throwable.stackState or @@java:lang:Enum.sharedConstantsCache

    Definition Classes
    JavaKnowledge
  84. def isValidFieldName(name: String): Boolean

    Permalink

    FQN of the field.

    FQN of the field. e.g. java.lang.Throwable.stackState or @@java.lang.Enum.sharedConstantsCache

    Definition Classes
    JavaKnowledge
  85. def isValidMethodFullName(mfn: String): Boolean

    Permalink

    e.g.

    e.g. java.lang.Throwable.run

    Definition Classes
    JavaKnowledge
  86. val methodCache: Cache[Signature, JawaMethod]

    Permalink
    Attributes
    protected
  87. def modifyHierarchy: ClassHierarchy

    Permalink
    Attributes
    protected
  88. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  89. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  90. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  91. def printDetails(): Unit

    Permalink
  92. def removeApplicationClass(ar: JawaClass): Any

    Permalink

    remove application class

  93. def removeClass(typ: JawaType): Unit

    Permalink

    remove class from Global

  94. def removeFromContainingSet(ar: JawaClass): Any

    Permalink

    remove given class from containing set

  95. def removeSystemLibraryClass(l: JawaClass): Any

    Permalink

    remove System Library Class

  96. def removeUserLibraryClass(l: JawaClass): Unit

    Permalink

    remove third party lib class

  97. def resetClassHierarchy(): Unit

    Permalink

    reset class hierarchy

  98. def resolveAllApplicationClasses(): Unit

    Permalink

    Resolve all application classes to Hierarchy level.

    Resolve all application classes to Hierarchy level. Be careful, it will take some time.

  99. def resolveClass(classType: JawaType, desiredLevel: ResolveLevel.Value, allowUnknown: Boolean): JawaClass

    Permalink

    resolve the given classes to desired level.

    resolve the given classes to desired level.

    Attributes
    protected[org.argus.jawa]
    Definition Classes
    JawaResolver
  100. def resolveClassesRelationWholeProgram(): Any

    Permalink

    resolve classes relation of the whole program

    resolve classes relation of the whole program

    Attributes
    protected[org.argus.jawa]
  101. def resolveFromMyClass(mc: MyClass): JawaClass

    Permalink
    Attributes
    protected
    Definition Classes
    JawaResolver
  102. def resolveFromMyMethod(clazz: JawaClass, m: MyMethod): JawaMethod

    Permalink
    Attributes
    protected
    Definition Classes
    JawaResolver
  103. def resolveMethodBody(c: JawaClass): Unit

    Permalink

    resolve the given method's body to body level.

    resolve the given method's body to body level.

    Definition Classes
    JawaResolver
  104. def resolveMethodCode(sig: Signature, code: String): JawaMethod

    Permalink

    resolve the given method code.

    resolve the given method code. Normally only for dummyMain i.e. environment method

    Definition Classes
    JawaResolver
  105. def resolveToBody(classType: JawaType): JawaClass

    Permalink

    resolve the given class to body level.

    resolve the given class to body level. Unknown class cannot resolve to body level. It will throw JawaResolverError if violate.

    Definition Classes
    JawaResolver
    Annotations
    @throws( classOf[JawaResolverError] )
  106. def resolveToHierarchy(classType: JawaType, allowUnknown: Boolean = true): JawaClass

    Permalink

    resolve the given class to hierarchy level

    resolve the given class to hierarchy level

    Definition Classes
    JawaResolver
    Annotations
    @throws( classOf[JawaResolverError] )
  107. def separatePkgAndTyp(pkgAndTyp: String): JawaBaseType

    Permalink

    input: "java.lang.String" output: (Some("java.lang"), "String") input: "int" output: (None, "int")

    input: "java.lang.String" output: (Some("java.lang"), "String") input: "int" output: (None, "int")

    Definition Classes
    JavaKnowledge
  108. def staticInitializerName: String

    Permalink
    Definition Classes
    JavaKnowledge
  109. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  110. val systemLibraryClasses: MMap[JawaType, JawaClass]

    Permalink

    set of system library classes contained by the current Global

    set of system library classes contained by the current Global

    Attributes
    protected
  111. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  112. def tryLoadClass(typ: JawaType): Option[JawaClass]

    Permalink
  113. val userLibraryClasses: MMap[JawaType, JawaClass]

    Permalink

    set of third party lib classes contained by the current Global

    set of third party lib classes contained by the current Global

    Attributes
    protected
  114. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  115. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  116. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from JawaResolver

Inherited from JavaKnowledge

Inherited from AnyRef

Inherited from Any

Ungrouped