input ("Ljava/lang/String;", 1, "[", true) output "[Ljava/lang/String;"
input ("Ljava/lang/String;", 1, "[", true) output "[Ljava/lang/String;"
******************** JawaMethod related op end *************************
******************** JawaMethod related op end *************************
convert type string from signature style to type.
convert type string from signature style to type. [Ljava/lang/Object; -> (java.lang.Object, 1)
generate signature of this field.
generate signature of this field. input: ("java.lang.Throwable", "stackState") output: "java.lang.Throwable.stackState"
generate signature of this method
generate signature of this method
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;
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;
get field name from field FQN.
get field name from field FQN. e.g. java.lang.Throwable.stackState -> stackState
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
input ("java.lang.String", 1) output Type
input ("java.lang.String", 1) output Type
input: "java.lang.String[]" output: JawaType("java.lang.String", 1)
input: "java.lang.String[]" output: JawaType("java.lang.String", 1)
input: "[Ljava.lang.String;" output: JawaType("java.lang.String", 1)
input: "[Ljava.lang.String;" output: JawaType("java.lang.String", 1)
check if given string is field signature or not
check if given string is field signature or not
return true if the given typ is a inner class or not
return true if the given typ is a inner class or not
return whether given type is java primitive type
return whether given type is java primitive type
return whether given type is java primitive type
return whether given type is java primitive type
FQN of the field.
FQN of the field. e.g. java.lang.Throwable.stackState or @@java.lang.Enum.sharedConstantsCache
FQN of the field.
FQN of the field. e.g. java.lang.Throwable.stackState or @@java.lang.Enum.sharedConstantsCache
e.g.
e.g. java.lang.Throwable.run
resolve the given classes to desired level.
resolve the given classes to desired level.
resolve classes relation of the whole program
resolve classes relation of the whole program
resolve the given method's body to body level.
resolve the given method code.
resolve the given method code. Normally only for dummyMain i.e. environment method
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.
resolve the given class to hierarchy level
resolve the given class to hierarchy level
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")
this object collects info from the symbol table and builds Center, JawaClass, and JawaMethod