Class

org.argus.jawa.core

JawaMethod

Related Doc: package core

Permalink

case class JawaMethod(declaringClass: JawaClass, name: String, thisOpt: Option[String], params: ISeq[(String, JawaType)], returnType: JawaType, accessFlags: Int) extends JawaElement with JavaKnowledge with ResolveLevel with Product with Serializable

This class is an jawa representation of a jawa method. It can belong to JawaClass. You can also construct it manually.

declaringClass

The declaring class of this method

name

name of the method. e.g. stackState

thisOpt

this param of the method, if the method is static or native it is None

params

List of param name with its type of the method

returnType

return type of the method

accessFlags

access flags of this field

Linear Supertypes
Serializable, Serializable, Product, Equals, ResolveLevel, JavaKnowledge, JawaElement, PropertyProvider, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. JawaMethod
  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 JawaMethod(declaringClass: JawaClass, name: String, thisOpt: Option[String], params: ISeq[(String, JawaType)], returnType: JawaType, accessFlags: Int)

    Permalink

    create a jawa method

    create a jawa method

    declaringClass

    The declaring class of this method

    name

    name of the method. e.g. stackState

    thisOpt

    this param of the method, if the method is static or native it is None

    params

    List of param name with its type of the method

    returnType

    return type of the method

    accessFlags

    access flags of this field

Type Members

  1. case class ExceptionHandler(exception: JawaClass, fromTarget: String, toTarget: String, jumpTo: String) extends Product with Serializable

    Permalink

    Data structure to store all information about a catch clause LocUri should always looks like "L?[0-9a-f]+"

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. final val BODY: String("body")

    Permalink

    Jawa AST node for this JawaMethod.

    Jawa AST node for this JawaMethod. Unless unknown, it should not be null.

  6. object ClassCategory extends Enumeration

    Permalink
    Definition Classes
    JavaKnowledge
  7. var DEBUG: Boolean

    Permalink
  8. def JAVA_PRIMITIVES: Set[String]

    Permalink
    Definition Classes
    JavaKnowledge
  9. def JAVA_TOPLEVEL_OBJECT: String

    Permalink
    Definition Classes
    JavaKnowledge
  10. def JAVA_TOPLEVEL_OBJECT_TYPE: JawaType

    Permalink
    Definition Classes
    JavaKnowledge
  11. final val TITLE: String("JawaMethod")

    Permalink
  12. val accessFlags: Int

    Permalink

    access flags of this field

    access flags of this field

    Definition Classes
    JawaMethodJawaElement
  13. def addException(exc: JawaClass): thrownExceptions.type

    Permalink

    Adds exception thrown by this method

  14. def addExceptionHandler(excName: String, fromTarget: String, toTarget: String, jumpTo: String): exceptionHandlers.type

    Permalink

    set exception with details

  15. def addExceptionIfAbsent(exc: JawaClass): Any

    Permalink

    Adds exception which can be thrown by this method

  16. def apply[T](key: Key): T

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

    Permalink
    Definition Classes
    Any
  18. 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
  19. 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
  20. 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
  21. def clone(): AnyRef

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

    Permalink

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

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

    Definition Classes
    JavaKnowledge
  23. val declaringClass: JawaClass

    Permalink

    The declaring class of this method

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

    Permalink
    Definition Classes
    AnyRef
  25. def finalize(): Unit

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

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

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

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

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

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

    Permalink

    generate signature of this method

    generate signature of this method

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

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

    Permalink
    Definition Classes
    JavaKnowledge
  36. def getAccessFlags: Int

    Permalink
    Definition Classes
    JawaElement
  37. def getAccessFlagsStr: String

    Permalink

    get field access flags in text form

    get field access flags in text form

    Definition Classes
    JawaElement
  38. def getBody: MethodBody

    Permalink

    resolve current method to body level

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

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

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

    Permalink
    Definition Classes
    JavaKnowledge
  44. def getDeclaringClass: JawaClass

    Permalink
  45. def getDisplay: String

    Permalink

    display this method.

    display this method. e.g. isInteresting(IClassFile)

  46. def getExceptions: ISet[JawaClass]

    Permalink

    get exceptions

  47. 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
  48. def getFullName: String

    Permalink
  49. def getImplements: Option[JawaMethod]

    Permalink
  50. def getMethodNameFromMethodFullName(mfn: String): String

    Permalink
    Definition Classes
    JavaKnowledge
  51. def getName: String

    Permalink

    name of the method.

    name of the method. e.g. equals

  52. 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
  53. def getOverrides: Option[JawaMethod]

    Permalink
  54. def getParam(i: Int): (String, JawaType)

    Permalink

    get i'th parameter of this method

  55. def getParamName(i: Int): String

    Permalink

    get i'th parameter's name of this method

  56. def getParamNames: ISeq[String]

    Permalink

    list of parameter names

  57. def getParamType(i: Int): JawaType

    Permalink

    get i'th parameter's type of this method

  58. def getParamTypes: ISeq[JawaType]

    Permalink

    list of parameter types.

    list of parameter types. e.g. List(java.lang.Object, java.lang.String)

  59. def getParams: ISeq[(String, JawaType)]

    Permalink

    list of parameters.

    list of parameters. e.g. List((v1, java.lang.Object), (v2, java.lang.String))

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

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

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

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

    Permalink

    return resolving level

    return resolving level

    Definition Classes
    ResolveLevel
  64. def getReturnType: JawaType

    Permalink

    return type.

    return type. e.g. boolean

  65. def getSignature: Signature

    Permalink

    signature of the method.

    signature of the method. e.g. Ljava/lang/Object;.equals:(Ljava/lang/Object;)Z

  66. def getSubSignature: String

    Permalink

    sub-signature of the method.

    sub-signature of the method. e.g. equals:(Ljava/lang/Object;)Z

  67. def getThisName: String

    Permalink
  68. def getThisType: JawaType

    Permalink
  69. def getThrownExcetpionTarget(exc: JawaClass, locUri: String): Option[String]

    Permalink

    get thrown exception target location

  70. 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
  71. def getTypeFromJawaName(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
  72. def getTypeFromName(name: String): JawaType

    Permalink

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

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

    Definition Classes
    JavaKnowledge
  73. def isAbstract: Boolean

    Permalink

    return true if this class is abstract

    return true if this class is abstract

    Definition Classes
    JawaElement
  74. def isClass: Boolean

    Permalink
    Definition Classes
    JawaElement
  75. def isConcrete: Boolean

    Permalink

    return true if this method is concrete which means it is not abstract nor native nor unknown

    return true if this method is concrete which means it is not abstract nor native nor unknown

    Definition Classes
    JawaMethodJawaElement
  76. def isConstructor: Boolean

    Permalink

    return true if this method is constructor

  77. def isDeclaredSynchronized: Boolean

    Permalink

    return true if this method is declared_synchronized

  78. def isEntryMethod: Boolean

    Permalink

    return true if this method is a class initializer or main function

  79. 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
  80. def isField: Boolean

    Permalink
    Definition Classes
    JawaElement
  81. def isFinal: Boolean

    Permalink

    return true if this class is final

    return true if this class is final

    Definition Classes
    JawaElement
  82. def isImplements: Boolean

    Permalink
  83. 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
  84. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  85. 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
  86. 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
  87. def isJawaConstructor(name: String): Boolean

    Permalink
    Definition Classes
    JavaKnowledge
  88. def isMain: Boolean

    Permalink

    return true if this method is main method

  89. def isMethod: Boolean

    Permalink
    Definition Classes
    JawaElement
  90. def isNative: Boolean

    Permalink

    return true if this method is native

    return true if this method is native

    Definition Classes
    JawaElement
  91. def isOverride: Boolean

    Permalink
  92. def isPrivate: Boolean

    Permalink

    return true if this class is private

    return true if this class is private

    Definition Classes
    JawaElement
  93. def isProtected: Boolean

    Permalink

    return true if this class is protected

    return true if this class is protected

    Definition Classes
    JawaElement
  94. def isPublic: Boolean

    Permalink

    return true if this class is public

    return true if this class is public

    Definition Classes
    JawaElement
  95. def isStatic: Boolean

    Permalink

    return true if this class is static

    return true if this class is static

    Definition Classes
    JawaElement
  96. def isSynthetic: Boolean

    Permalink

    return true if this method is synthetic

  97. def isUnknown: Boolean

    Permalink

    return true if this class is unknown class

    return true if this class is unknown class

    Definition Classes
    JawaElement
  98. 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
  99. 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
  100. def isValidMethodFullName(mfn: String): Boolean

    Permalink

    e.g.

    e.g. java.lang.Throwable.run

    Definition Classes
    JavaKnowledge
  101. val name: String

    Permalink

    name of the method.

    name of the method. e.g. stackState

  102. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  105. val params: ISeq[(String, JawaType)]

    Permalink

    List of param name with its type of the method

  106. def printDetail(): Unit

    Permalink
  107. def propertyEmpty: Boolean

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

    Permalink

    supply property

    supply property

    Definition Classes
    JawaElement → PropertyProvider
  109. def removeException(exc: JawaClass): exceptionHandlers.type

    Permalink

    removes exception from this method

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

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

    Permalink

    resolving level of current class

    resolving level of current class

    Attributes
    protected
    Definition Classes
    ResolveLevel
  112. def retrieveCode: Option[String]

    Permalink

    retrieve code belong to this method

  113. val returnType: JawaType

    Permalink

    return type of the method

  114. 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
  115. def setBody(md: MethodBody): Unit

    Permalink
  116. def setExceptions(excs: Set[JawaClass]): thrownExceptions.type

    Permalink

    set exceptions for this method

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

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

    Permalink

    set resolving level

    set resolving level

    Definition Classes
    JawaMethodResolveLevel
  119. def setUnknown(): Unit

    Permalink
    Definition Classes
    JawaElement
  120. def staticInitializerName: String

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

    Permalink
    Definition Classes
    AnyRef
  122. val thisOpt: Option[String]

    Permalink

    this param of the method, if the method is static or native it is None

  123. def throwException(exc: JawaClass): Boolean

    Permalink

    throws this exception or not?

  124. def toString(): String

    Permalink
    Definition Classes
    JawaMethod → AnyRef → Any
  125. 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
  126. def update[T](key: Key, value: T): Unit

    Permalink
    Definition Classes
    PropertyProvider
  127. final def wait(): Unit

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  129. 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