Class

org.argus.jawa.core

JawaClass

Related Doc: package core

Permalink

case class JawaClass(global: Global, typ: JawaType, accessFlags: Int) extends JawaElement with JavaKnowledge with ResolveLevel with Product with Serializable

This class is an jawa class representation of a jawa record. A JawaClass corresponds to a class or an interface of the source code. They are usually created by jawa Resolver. You can also construct it manually.

global

interactive compiler of this class

typ

object type of this class

accessFlags

the access flags integer representation for this class

Linear Supertypes
Serializable, Serializable, Product, Equals, ResolveLevel, JavaKnowledge, JawaElement, PropertyProvider, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JawaClass
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. ResolveLevel
  7. JavaKnowledge
  8. JawaElement
  9. PropertyProvider
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new JawaClass(global: Global, typ: JawaType, accessStr: String)

    Permalink
  2. new JawaClass(global: Global, typ: JawaType, accessFlags: Int)

    Permalink

    global

    interactive compiler of this class

    typ

    object type of this class

    accessFlags

    the access flags integer representation for this class

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. def ?(key: Key): Boolean

    Permalink
    Definition Classes
    PropertyProvider
  5. object ClassCategory extends Enumeration

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

    Permalink
    Definition Classes
    JavaKnowledge
  7. def JAVA_TOPLEVEL_OBJECT: String

    Permalink
    Definition Classes
    JavaKnowledge
  8. def JAVA_TOPLEVEL_OBJECT_TYPE: JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  9. final val TITLE: String("JawaClass")

    Permalink
  10. val accessFlags: Int

    Permalink

    the access flags integer representation for this class

    the access flags integer representation for this class

    Definition Classes
    JawaClassJawaElement
  11. def addField(field: JawaField): Unit

    Permalink

    add one field into the class

  12. def addInterface(i: JawaClass): Unit

    Permalink

    add an interface which is directly implemented by this class

  13. def addMethod(ap: JawaMethod): Unit

    Permalink

    add the given method to this class

  14. def addUnknownParent(up: JawaClass): Unit

    Permalink
  15. def apply[T](key: Key): T

    Permalink
    Definition Classes
    PropertyProvider
  16. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  17. 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
  18. def checkLevel(level: ResolveLevel.Value): Boolean

    Permalink

    check whether we already resolved to desired level

    check whether we already resolved to desired level

    Definition Classes
    ResolveLevel
  19. def checkLevelAndThrowException(level: ResolveLevel.Value, message: String): Unit

    Permalink

    check whether we already resolved to desired level

    check whether we already resolved to desired level

    Definition Classes
    ResolveLevel
  20. def clone(): AnyRef

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

    Permalink

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

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

    Definition Classes
    JavaKnowledge
  22. def declaresField(name: String): Boolean

    Permalink

    return true if the field is declared in this class

  23. def declaresMethod(name: String, paramTyps: List[String]): Boolean

    Permalink

    does method exist with the given name and parameter types?

  24. def declaresMethod(name: String, paramTyps: List[String], returnTyp: JawaType): Boolean

    Permalink

    does method exist with the given name, parameter types and return type?

  25. def declaresMethod(subSig: String): Boolean

    Permalink

    whether this method exists in the class or not

  26. def declaresMethodByName(name: String): Boolean

    Permalink

    does method exists with the given name?

  27. def declaresStaticInitializer: Boolean

    Permalink

    return true if this class has static initializer

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

    Permalink
    Definition Classes
    AnyRef
  29. def fieldSize: Int

    Permalink

    return the number of fields declared in this class

  30. val fields: MMap[String, JawaField]

    Permalink

    set of fields which declared in this class.

    set of fields which declared in this class. map from field name to JawaField

    Attributes
    protected
  31. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  32. def formatPackageStringToPackage(pkg: String): JawaPackage

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

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

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

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

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

    Permalink

    generate signature of this method

    generate signature of this method

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

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

    Permalink
    Definition Classes
    JavaKnowledge
  42. def getAccessFlags: Int

    Permalink
    Definition Classes
    JawaElement
  43. def getAccessFlagsStr: String

    Permalink

    get field access flags in text form

    get field access flags in text form

    Definition Classes
    JawaElement
  44. def getCanonicalName: String

    Permalink

    canonical name of this class: java.lang.Object or java.lang.Object[]

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

    Permalink
    Definition Classes
    AnyRef → Any
  46. 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
  47. def getClassNameFromMethodFullName(mfn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  48. 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
  49. def getClassTypeFromMethodFullName(mfn: String): JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  50. def getDeclaredField(name: String): Option[JawaField]

    Permalink

    get field declared in this class by the given name

  51. def getDeclaredFields: ISet[JawaField]

    Permalink

    get all the fields declared in this class

  52. def getDeclaredMethod(name: String, paramTyps: List[String], returnTyp: JawaType): JawaMethod

    Permalink

    get method by the given name, parameter types and return type

  53. def getDeclaredMethodByName(methodName: String): Option[JawaMethod]

    Permalink

    get method from this class by the given name

  54. def getDeclaredMethods: ISet[JawaMethod]

    Permalink

    get methods of this class

  55. def getDeclaredMethodsByName(methodName: String): Set[JawaMethod]

    Permalink

    get method from this class by the given method name

  56. def getDeclaredNonStaticFields: ISet[JawaField]

    Permalink

    get all non-static fields of the class

  57. def getDeclaredNonStaticObjectTypeFields: ISet[JawaField]

    Permalink

    get all non static and object type field

  58. def getDeclaredObjectTypeFields: ISet[JawaField]

    Permalink

    get all object type field

  59. def getDeclaredStaticFields: ISet[JawaField]

    Permalink

    get all static fields of the class

  60. def getDeclaredStaticObjectTypeFields: ISet[JawaField]

    Permalink

    get all static and object type field

  61. def getField(name: String, typ: JawaType): Option[JawaField]

    Permalink

    get field from this class by the given name

  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 getFields: ISet[JawaField]

    Permalink

    get all the fields accessible from the class

  64. def getInterfaceSize: Int

    Permalink

    get interface size

  65. def getInterfaces: ISet[JawaClass]

    Permalink

    get interfaces

  66. def getMethod(subSig: String): Option[JawaMethod]

    Permalink

    get method from this class by the given subsignature

  67. def getMethodNameFromMethodFullName(mfn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  68. def getMethodSize: Int

    Permalink

    get method size of this class

  69. def getName: String

    Permalink

    full name of this class: java.lang.Object or [Ljava.lang.Object;

  70. def getNonStaticFields: ISet[JawaField]

    Permalink

    get all non-static fields of the class

  71. def getNonStaticObjectTypeFields: ISet[JawaField]

    Permalink

    get all non static and object type field

  72. def getObjectTypeFields: ISet[JawaField]

    Permalink

    get all object type field

  73. def getOuterClass: Option[JawaClass]

    Permalink

    get the outer class

  74. 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
  75. def getPackage: Option[JawaPackage]

    Permalink

    package name of this class: java.lang

  76. def getProperty[T](key: Key): T

    Permalink
    Definition Classes
    PropertyProvider
  77. def getPropertyOrElse[T](key: Key, defaultValue: ⇒ T): T

    Permalink
    Definition Classes
    PropertyProvider
  78. def getPropertyOrElseUpdate[T](key: Key, initValue: ⇒ T): T

    Permalink
    Definition Classes
    PropertyProvider
  79. def getResolvingLevel: ResolveLevel.Value

    Permalink

    return resolving level

    return resolving level

    Definition Classes
    ResolveLevel
  80. def getSimpleName: String

    Permalink

    simple name of this class: Object or Object[]

  81. def getStaticFields: ISet[JawaField]

    Permalink

    get all static fields of the class

  82. def getStaticInitializer: Option[JawaMethod]

    Permalink

    get static initializer of this class

  83. def getStaticObjectTypeFields: ISet[JawaField]

    Permalink

    get all static and object type field

  84. def getSuperClass: Option[JawaClass]

    Permalink

    get the super class

  85. def getType: JawaType

    Permalink
  86. 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
  87. 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
  88. def getUnknownParents: ISet[JawaClass]

    Permalink
  89. val global: Global

    Permalink

    interactive compiler of this class

  90. def hasField(name: String): Boolean

    Permalink

    return true if the field is declared in this class

  91. def hasOuterClass: Boolean

    Permalink

    whether the current class has an outer class or not

  92. def hasSuperClass: Boolean

    Permalink

    whether the current class has a super class or not

  93. def implementsInterface(name: String): Boolean

    Permalink

    whether this class implements the given interface

  94. val interfaces: MMap[String, JawaClass]

    Permalink

    set of interfaces which this class/interface implements/extends.

    set of interfaces which this class/interface implements/extends. map from interface name to JawaClass

    Attributes
    protected
  95. def isAbstract: Boolean

    Permalink

    return true if this class is abstract

    return true if this class is abstract

    Definition Classes
    JawaElement
  96. def isApplicationClass: Boolean

    Permalink

    is this class an application class

  97. def isArray: Boolean

    Permalink

    if the class is array type return true

  98. def isChildOf(clazz: JawaClass): Boolean

    Permalink

    return true if it's a child of given record

  99. def isChildOf(typ: JawaType): Boolean

    Permalink

    return true if it's a child of given record

  100. def isClass: Boolean

    Permalink
    Definition Classes
    JawaElement
  101. def isConcrete: Boolean

    Permalink

    return true if this class is concrete

    return true if this class is concrete

    Definition Classes
    JawaClassJawaElement
  102. 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
  103. def isField: Boolean

    Permalink
    Definition Classes
    JawaElement
  104. def isFinal: Boolean

    Permalink

    return true if this class is final

    return true if this class is final

    Definition Classes
    JawaElement
  105. def isImplementerOf(clazz: JawaClass): Boolean

    Permalink
  106. def isImplementerOf(typ: JawaType): Boolean

    Permalink
  107. def isInnerClass: Boolean

    Permalink

    whether current class is an inner class or not

  108. 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
  109. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  110. def isInterface: Boolean

    Permalink

    return true if this class is an interface

  111. def isJavaLibraryClass: Boolean

    Permalink

    whether this class is a java library class

  112. 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
  113. 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
  114. def isJawaConstructor(name: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  115. def isLoaded: Boolean

    Permalink

    is this class loaded or not

  116. def isMethod: Boolean

    Permalink
    Definition Classes
    JawaElement
  117. def isNative: Boolean

    Permalink

    return true if this method is native

    return true if this method is native

    Definition Classes
    JawaElement
  118. def isPrivate: Boolean

    Permalink

    return true if this class is private

    return true if this class is private

    Definition Classes
    JawaElement
  119. def isProtected: Boolean

    Permalink

    return true if this class is protected

    return true if this class is protected

    Definition Classes
    JawaElement
  120. def isPublic: Boolean

    Permalink

    return true if this class is public

    return true if this class is public

    Definition Classes
    JawaElement
  121. def isStatic: Boolean

    Permalink

    return true if this class is static

    return true if this class is static

    Definition Classes
    JawaElement
  122. def isSystemLibraryClass: Boolean

    Permalink

    is this class a framework class

  123. def isUnknown: Boolean

    Permalink

    return true if this class is unknown class

    return true if this class is unknown class

    Definition Classes
    JawaElement
  124. def isUserLibraryClass: Boolean

    Permalink

    is this class a user lib class

  125. 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
  126. 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
  127. def isValidMethodFullName(mfn: String): Boolean

    Permalink

    e.g.

    e.g. java.lang.Throwable.run

    Definition Classes
    JavaKnowledge
  128. val methods: MMap[String, JawaMethod]

    Permalink

    set of methods which belong to this class.

    set of methods which belong to this class. map from subsig to JawaMethod

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

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

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

    Permalink
    Definition Classes
    AnyRef
  132. var outerClass: JawaClass

    Permalink

    outer class of this class

    outer class of this class

    Attributes
    protected
  133. def printDetail(): Unit

    Permalink
  134. def propertyEmpty: Boolean

    Permalink
    Definition Classes
    PropertyProvider
  135. val propertyMap: MLinkedMap[Key, Any]

    Permalink

    supply property

    supply property

    Definition Classes
    JawaElement → PropertyProvider
  136. def removeField(field: JawaField): MMap[String, JawaField]

    Permalink

    removes the given field from this class

  137. def removeInterface(i: JawaClass): Any

    Permalink

    remove an interface from this class

  138. def removeMethod(ap: JawaMethod): Any

    Permalink

    remove the given method from this class

  139. def removeProperty(key: Key): Option[Any]

    Permalink
    Definition Classes
    PropertyProvider
  140. var resolvingLevel: ResolveLevel.Value

    Permalink

    resolving level of current class

    resolving level of current class

    Attributes
    protected
    Definition Classes
    ResolveLevel
  141. 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
  142. def setApplicationClass(): Unit

    Permalink

    set this class as an application class

  143. def setOuterClass(oc: JawaClass): Unit

    Permalink

    set outer class

  144. def setProperty[T](key: Key, value: T): Option[T]

    Permalink
    Definition Classes
    PropertyProvider
  145. def setResolvingLevel(level: ResolveLevel.Value): Unit

    Permalink

    set resolving level.

    set resolving level. Don't set by yourself.

    Definition Classes
    JawaClassResolveLevel
  146. def setSuperClass(sc: JawaClass): Unit

    Permalink

    set super class

  147. def setSystemLibraryClass(): Unit

    Permalink

    set this class as a system library class

  148. def setUnknown(): Unit

    Permalink
    Definition Classes
    JawaElement
  149. def setUserLibraryClass(): Unit

    Permalink

    set this class as a third party lib class

  150. def staticInitializerName: String

    Permalink
    Definition Classes
    JavaKnowledge
  151. var superClass: JawaClass

    Permalink

    super class of this class.

    super class of this class. For interface it's always java.lang.Object

    Attributes
    protected
  152. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  153. def toString(): String

    Permalink
    Definition Classes
    JawaClass → AnyRef → Any
  154. val typ: JawaType

    Permalink

    object type of this class

  155. var unknown: Boolean

    Permalink

    unknown means it's not available in our code repo

    unknown means it's not available in our code repo

    Attributes
    protected
    Definition Classes
    JawaElement
  156. val unknownParents: MMap[String, JawaClass]

    Permalink
    Attributes
    protected
  157. def update[T](key: Key, value: T): Unit

    Permalink
    Definition Classes
    PropertyProvider
  158. def updateResolvingLevel(): Unit

    Permalink

    update resolving level for current class

  159. final def wait(): Unit

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

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

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

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from ResolveLevel

Inherited from JavaKnowledge

Inherited from JawaElement

Inherited from PropertyProvider

Inherited from AnyRef

Inherited from Any

Ungrouped