java.lang.Object | |
↳ | com.pnfsoftware.jeb.core.units.code.java.JavaTypeUtil |
Utility methods to generate or verify Java type names and signatures.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
JavaTypeUtil() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
static void | checkLegalInternalClassname(String classname) | ||||||||||
static String |
generateClassnameStandardRepresentation(String classname)
Transform an internal classname representation to its external representation.
| ||||||||||
static String |
generateClassnameWithoutPackage(String classname)
Get the non fully-qualified internal representation of the class name.
| ||||||||||
static String |
generatePackageNameStandardRepresentation(String classname)
Extract the standard representation of a package name provided the internal representation of
the FQ classname.
| ||||||||||
static boolean |
isLegalInternalClassname(String classname)
Check whether the class (or interface) name is a valid Java object type internal
representation.
| ||||||||||
static IJavaType[] |
parseFullPrototype(IDexPrototype proto, IJavaTypeFactory tf)
Parse a DEX prototype to an array of IR/AST Types.
| ||||||||||
static SortedMap<Integer, IJavaType> |
parseMethodParameters(IDexUnit dex, IDexMethod m, IJavaTypeFactory tf)
Determine method parameters and register association.
| ||||||||||
static IJavaType[] |
parseShortyPrototype(String shorty, IJavaTypeFactory tf)
Parse a DEX shorty prototype string to an array of IR/AST Types.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Transform an internal classname representation to its external representation.
Examples:
classname | internal representation |
---|
Get the non fully-qualified internal representation of the class name.
Example: Lcom/pnfsoftware/Raasta;
will generate LRaasta;
classname | internal representation |
---|
Extract the standard representation of a package name provided the internal representation of
the FQ classname.
Example: Lcom/foo/Crap$Bla;
will generate com.foo
classname | internal representation |
---|
Check whether the class (or interface) name is a valid Java object type internal representation.
Example: Labc/def/Bla;
Parse a DEX prototype to an array of IR/AST Types.
Determine method parameters and register association.
dex | DEX Parser |
---|---|
m | internal, non-abstract method (must contain bytecode) |
RuntimeException | If the frame is too small, or the type cannot be processed. |
---|
Parse a DEX shorty prototype string to an array of IR/AST Types. Note that a type factory is not needed as no detailed complex type is created (shorty prototypes simply indicate if a type is an object, they do not define the object type itself).