| 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
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).