public interface

IJavaTypeFactory

com.pnfsoftware.jeb.core.units.code.java.IJavaTypeFactory

Class Overview

Builder for Java AST types.

Summary

Public Methods
abstract IJavaType create(IJavaType baseType, int dimensions)
This method is deprecated. use createArrayType(IJavaType, int) instead
abstract IJavaType createArrayType(IJavaType baseType, int dimensions)
Create an array type from a base type.
abstract IJavaType createType(String signature)
Create a Java type.
abstract IJavaType createWildcardType(String signature, boolean wildcardExtendsType)
Create a wildcard reference type.
abstract IJavaType getBoolean()
abstract IJavaType getByte()
abstract IJavaType getChar()
abstract IJavaType getDouble()
abstract IJavaType getDoubleSlotWildcard()
abstract IJavaType getFloat()
abstract IJavaType getGenericObjectWildcard()
abstract IJavaType getInt()
abstract IJavaType getJavaLangClass()
Convenience method.
abstract IJavaType getJavaLangObject()
Convenience method.
abstract IJavaType getJavaLangString()
Convenience method.
abstract IJavaType getLong()
abstract IJavaType getShort()
abstract IJavaType getSingleSlotWildcard()
abstract IJavaType getSmallIntWildcard()
abstract IDTypeInfoProvider getTypeInfoProvider()
Retrieve the type information provider, which provides information for additional types provided by the dex modules.
abstract IJavaType getVoid()
abstract IJavaType letterToType(char typeLetter)
abstract IJavaType parseType(String signature)
Parse a type.
abstract IJavaType primitiveNameToType(String name)
Retrieve a primtive type from its high-level language name.

Public Methods

public abstract IJavaType create (IJavaType baseType, int dimensions)

This method is deprecated.
use createArrayType(IJavaType, int) instead

public abstract IJavaType createArrayType (IJavaType baseType, int dimensions)

Create an array type from a base type.

Parameters
baseType base type a non-array type
dimensions dimension count
Returns
  • an array type, e.g. baseType[][] if dimensions is 2

public abstract IJavaType createType (String signature)

Create a Java type.

Parameters
signature internal type name, it can be:
  • The void type: V
  • A primitive type, ie one of: Z, B, C, S, I, J, F, D
  • An object type, eg Lcom/foo/Bar;
  • An array type, eg: [I, [[J, [[[Lcom/Foo/Bar;
Returns
  • the type

public abstract IJavaType createWildcardType (String signature, boolean wildcardExtendsType)

Create a wildcard reference type.

Parameters
signature a class or interface type
wildcardExtendsType true to generate a wildcard type representing the provided type or any of its sub-types; false to generate a wildcard type representing the provided type or any of its super-types
Returns
  • a wildcard type representing "? extends T" or "? super T"

public abstract IJavaType getBoolean ()

Returns
  • the boolean primitive type

public abstract IJavaType getByte ()

Returns
  • the byte primitive type

public abstract IJavaType getChar ()

Returns
  • the char primitive type

public abstract IJavaType getDouble ()

Returns
  • the double primitive type

public abstract IJavaType getDoubleSlotWildcard ()

Returns
  • the wildcard type representing any type whose concrete implementation fits on two VM slot (e.g. double, long)

public abstract IJavaType getFloat ()

Returns
  • the float primitive type

public abstract IJavaType getGenericObjectWildcard ()

Returns
  • the wildcard type representing any object type (class, interface, array); do not confuse this wildcard with the extends-Object (? extends Object) wildcard, which is used for classes and interfaces specifically.

public abstract IJavaType getInt ()

Returns
  • the int primitive type

public abstract IJavaType getJavaLangClass ()

Convenience method.

Returns
  • the java.lang.Class type

public abstract IJavaType getJavaLangObject ()

Convenience method.

Returns
  • the java.lang.Object type

public abstract IJavaType getJavaLangString ()

Convenience method.

Returns
  • the java.lang.String type

public abstract IJavaType getLong ()

Returns
  • the long primitive type

public abstract IJavaType getShort ()

Returns
  • the short primitive type

public abstract IJavaType getSingleSlotWildcard ()

Returns
  • the wildcard type representing any type whose concrete implementation fits on a single VM slot (e.g. boolean, int, reference types, etc.)

public abstract IJavaType getSmallIntWildcard ()

Returns
  • the wildcard type representing any small integer (byte, char, short, int)

public abstract IDTypeInfoProvider getTypeInfoProvider ()

Retrieve the type information provider, which provides information for additional types provided by the dex modules.

Returns
  • a type information provider

public abstract IJavaType getVoid ()

Returns
  • the non-type void (pseudo-type)

public abstract IJavaType letterToType (char typeLetter)

public abstract IJavaType parseType (String signature)

Parse a type.

Parameters
signature internal type name, array accepted; internal form, e.g. [I or [[Ljava/lang/Object;

public abstract IJavaType primitiveNameToType (String name)

Retrieve a primtive type from its high-level language name.

Parameters
name a primitive type name, e.g. "short"
Returns
  • a primitive type; this method throws on error