Class

org.argus.jawa.core

Global

Related Doc: package core

Permalink

class Global extends JawaClassLoadManager with JawaClasspathManager

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Global
  2. JawaClasspathManager
  3. JawaClassLoadManager
  4. JawaResolver
  5. JavaKnowledge
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Global(projectName: String, reporter: Reporter)

    Permalink

Type Members

  1. class GlobalPlatform extends JavaPlatform

    Permalink
    Attributes
    protected
    Definition Classes
    JawaClasspathManager
  2. type OptClassPath = Option[PlatformClassPath]

    Permalink
    Definition Classes
    JawaClasspathManager
  3. type PlatformClassPath = Classpath

    Permalink
    Definition Classes
    JawaClasspathManager
  4. type ThisPlatform = JavaPlatform { val global: org.argus.jawa.core.JawaClasspathManager.<refinement>.type }

    Permalink
    Definition Classes
    JawaClasspathManager

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

    add an application class

    Definition Classes
    JawaClassLoadManager
  9. def addClass(ar: JawaClass): Any

    Permalink

    add class into Global

    add class into Global

    Definition Classes
    JawaClassLoadManager
  10. def addClassInternal(ar: JawaClass): Unit

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

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

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

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

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

    Permalink
    Definition Classes
    JawaClassLoadManager
  16. def addSystemLibraryClass(l: JawaClass): Unit

    Permalink

    add a system library class

    add a system library class

    Definition Classes
    JawaClassLoadManager
  17. def addUserLibraryClass(l: JawaClass): Unit

    Permalink

    add a third party library class

    add a third party library class

    Definition Classes
    JawaClassLoadManager
  18. val applicationClassCodes: MMap[JawaType, SourceFile]

    Permalink

    map from class name to jawa code of app.

    map from class name to jawa code of app. E.g. record name java.lang.MyObject to its file

    Attributes
    protected
    Definition Classes
    JawaClasspathManager
  19. 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
    Definition Classes
    JawaClassLoadManager
  20. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  21. 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
  22. val cachedClassRepresentation: LoadingCache[JawaType, Option[ClassRepresentation]]

    Permalink
    Attributes
    protected
    Definition Classes
    JawaClasspathManager
  23. def checkClassLoadingStatus: Boolean

    Permalink
    Definition Classes
    JawaClassLoadManager
  24. val classCache: LoadingCache[JawaType, JawaClass]

    Permalink
    Attributes
    protected
    Definition Classes
    JawaClassLoadManager
  25. def classPath: ClassFileLookup

    Permalink
    Definition Classes
    JawaClasspathManager
  26. val classes: MMap[JawaType, JawaClass]

    Permalink

    set of classes contained by the current Global

    set of classes contained by the current Global

    Attributes
    protected
    Definition Classes
    JawaClassLoadManager
  27. def classpathImpl: ClasspathRepresentationType.Value

    Permalink
    Definition Classes
    JawaClasspathManager
  28. def clearClassesNeedUpdateInHierarchy(): Unit

    Permalink
    Definition Classes
    JawaClassLoadManager
  29. def clone(): AnyRef

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

    Permalink

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

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

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

    Permalink

    current Global contains the given class or not

    current Global contains the given class or not

    Definition Classes
    JawaClassLoadManager
  32. def containsClassFile(typ: JawaType): Boolean

    Permalink
    Definition Classes
    JawaClasspathManager
  33. 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

    Definition Classes
    JawaClassLoadManager
  34. 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

    Definition Classes
    JawaClassLoadManager
  35. final def eq(arg0: AnyRef): Boolean

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

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

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

    Permalink

    find entry points from current app/test cases

    find entry points from current app/test cases

    Definition Classes
    JawaClassLoadManager
  39. def formatPackageStringToPackage(pkg: String): JawaPackage

    Permalink
    Definition Classes
    JavaKnowledge
  40. 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
  41. def formatTypeToName(typ: JawaType): String

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

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

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

    Permalink
    Definition Classes
    JavaKnowledge
  45. 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
  46. def generateSignature(method: JawaMethod): Signature

    Permalink

    generate signature of this method

    generate signature of this method

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

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

    Permalink
    Definition Classes
    JavaKnowledge
  49. def getApplicationClassCodes: IMap[JawaType, SourceFile]

    Permalink
    Definition Classes
    JawaClasspathManager
  50. def getApplicationClasses: ISet[JawaClass]

    Permalink

    get all the application classes

    get all the application classes

    Definition Classes
    JawaClassLoadManager
  51. final def getClass(): Class[_]

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

    Permalink
    Attributes
    protected
    Definition Classes
    JawaClassLoadManager
  53. def getClassCategoryFromClassPath(typ: JawaType): JavaKnowledge.ClassCategory.Value

    Permalink
    Definition Classes
    JawaClasspathManager
  54. def getClassCode(file: AbstractFile, level: ResolveLevel.Value): String

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

    Permalink

    retrieve the normal class hierarchy

    retrieve the normal class hierarchy

    Definition Classes
    JawaClassLoadManager
  56. 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
  57. def getClassNameFromMethodFullName(mfn: String): String

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

    Permalink
    Definition Classes
    JawaClassLoadManager
  59. def getClassOrResolve(typ: JawaType): JawaClass

    Permalink

    get class by type, if not present resolve it.

    get class by type, if not present resolve it.

    Definition Classes
    JawaClassLoadManager
  60. def getClassOrResolveWithoutCache(typ: JawaType): JawaClass

    Permalink
    Attributes
    protected[org.argus.jawa]
    Definition Classes
    JawaClassLoadManager
  61. def getClassRepresentation(typ: JawaType): Option[ClassRepresentation]

    Permalink
    Definition Classes
    JawaClasspathManager
  62. 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
  63. def getClassTypeFromMethodFullName(mfn: String): JawaType

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

    Permalink

    get classes

    get classes

    Definition Classes
    JawaClassLoadManager
  65. def getClassesNeedUpdateInHierarchy: ISet[JawaClass]

    Permalink
    Definition Classes
    JawaClassLoadManager
  66. def getClazz(typ: JawaType): Option[JawaClass]

    Permalink

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

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

    Definition Classes
    JawaClassLoadManager
  67. def getContainingSet(ar: JawaClass): Set[JawaClass]

    Permalink

    get containing set of given class

    get containing set of given class

    Definition Classes
    JawaClassLoadManager
  68. def getEntryPoints(entryMethodName: String): ISet[JawaMethod]

    Permalink

    get entry points

    get entry points

    Definition Classes
    JawaClassLoadManager
  69. def getField(fieldFQN: FieldFQN): Option[JawaField]

    Permalink

    grab field from Global.

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

    Definition Classes
    JawaClassLoadManager
  70. 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
  71. 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

    Definition Classes
    JawaClassLoadManager
  72. def getMethodCode(sig: Signature): Option[String]

    Permalink

    get procedure's containing record's code

    get procedure's containing record's code

    Definition Classes
    JawaClasspathManager
  73. def getMethodNameFromMethodFullName(mfn: String): String

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

    Permalink
    Definition Classes
    JawaClassLoadManager
  75. def getMyClass(typ: JawaType): Option[MyClass]

    Permalink
    Definition Classes
    JawaClasspathManager
  76. 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
  77. def getSystemLibraryClasses: ISet[JawaClass]

    Permalink

    get all the system library classes

    get all the system library classes

    Definition Classes
    JawaClassLoadManager
  78. 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
  79. 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
  80. def getUserLibraryClassCodes: IMap[JawaType, SourceFile]

    Permalink
    Definition Classes
    JawaClasspathManager
  81. def getUserLibraryClasses: ISet[JawaClass]

    Permalink

    get all the third party lib classes

    get all the third party lib classes

    Definition Classes
    JawaClassLoadManager
  82. def hashCode(): Int

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

    Permalink

    class hierarchy of all classes in the current Global

    class hierarchy of all classes in the current Global

    Attributes
    protected
    Definition Classes
    JawaClassLoadManager
  84. def isApplicationClasses(typ: JawaType): Boolean

    Permalink

    get all the application classes

    get all the application classes

    Definition Classes
    JawaClassLoadManager
  85. def isDirty: Boolean

    Permalink
    Definition Classes
    JawaClassLoadManager
  86. 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
  87. 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
  88. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  89. 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
  90. 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
  91. def isJawaConstructor(name: String): Boolean

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

    Permalink

    get all the system library classes

    get all the system library classes

    Definition Classes
    JawaClassLoadManager
  93. def isUserLibraryClasses(typ: JawaType): Boolean

    Permalink

    get all the third party lib classes

    get all the third party lib classes

    Definition Classes
    JawaClassLoadManager
  94. 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
  95. 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
  96. def isValidMethodFullName(mfn: String): Boolean

    Permalink

    e.g.

    e.g. java.lang.Throwable.run

    Definition Classes
    JavaKnowledge
  97. def load(fileRootUri: FileResourceUri, ext: String, summary: LibraryAPISummary): Unit

    Permalink

    load code from given root dir

    load code from given root dir

    Definition Classes
    JawaClasspathManager
  98. val methodCache: Cache[Signature, JawaMethod]

    Permalink
    Attributes
    protected
    Definition Classes
    JawaClassLoadManager
  99. def modifyHierarchy: ClassHierarchy

    Permalink
    Attributes
    protected
    Definition Classes
    JawaClassLoadManager
  100. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  103. lazy val platform: GlobalPlatform

    Permalink
    Definition Classes
    JawaClasspathManager
  104. def printDetails(): Unit

    Permalink
    Definition Classes
    JawaClassLoadManager
  105. def processClassRepresentation(cr: ClassRepresentation): Unit

    Permalink
    Attributes
    protected[org.argus.jawa]
    Definition Classes
    JawaClasspathManager
  106. val projectName: String

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

    Permalink

    remove application class

    remove application class

    Definition Classes
    JawaClassLoadManager
  108. def removeClass(typ: JawaType): Unit

    Permalink

    remove class from Global

    remove class from Global

    Definition Classes
    JawaClassLoadManager
  109. def removeFromContainingSet(ar: JawaClass): Any

    Permalink

    remove given class from containing set

    remove given class from containing set

    Definition Classes
    JawaClassLoadManager
  110. def removeSystemLibraryClass(l: JawaClass): Any

    Permalink

    remove System Library Class

    remove System Library Class

    Definition Classes
    JawaClassLoadManager
  111. def removeUserLibraryClass(l: JawaClass): Unit

    Permalink

    remove third party lib class

    remove third party lib class

    Definition Classes
    JawaClassLoadManager
  112. val reporter: Reporter

    Permalink
  113. def reset(removeCode: Boolean = true): Unit

    Permalink

    reset the current Global

  114. def resetClassHierarchy(): Unit

    Permalink

    reset class hierarchy

    reset class hierarchy

    Definition Classes
    JawaClassLoadManager
  115. 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.

    Definition Classes
    JawaClassLoadManager
  116. 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
  117. def resolveClassesRelationWholeProgram(): Any

    Permalink

    resolve classes relation of the whole program

    resolve classes relation of the whole program

    Attributes
    protected[org.argus.jawa]
    Definition Classes
    JawaClassLoadManager
  118. def resolveFromMyClass(mc: MyClass): JawaClass

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

    Permalink
    Attributes
    protected
    Definition Classes
    JawaResolver
  120. 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
  121. 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
  122. 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] )
  123. 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] )
  124. 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
  125. def setJavaLib(path: String): Unit

    Permalink
    Definition Classes
    JawaClasspathManager
  126. def staticInitializerName: String

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

    Permalink
    Definition Classes
    AnyRef
  128. 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
    Definition Classes
    JawaClassLoadManager
  129. def toString(): String

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

    Permalink
    Definition Classes
    JawaClassLoadManager
  131. val userLibraryClassCodes: MMap[JawaType, SourceFile]

    Permalink

    map from class name to jawa code of library.

    map from class name to jawa code of library. E.g. class type java.lang.Object to its file

    Attributes
    protected
    Definition Classes
    JawaClasspathManager
  132. 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
    Definition Classes
    JawaClassLoadManager
  133. final def wait(): Unit

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

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

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

Inherited from JawaClasspathManager

Inherited from JawaClassLoadManager

Inherited from JawaResolver

Inherited from JavaKnowledge

Inherited from AnyRef

Inherited from Any

Ungrouped