Class TypeMaker
java.lang.Object
org.jd.core.v1.service.converter.classfiletojavasyntax.util.TypeMaker
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
static class
private static class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate TypeMaker.ClassPathLoader
private HashMap
<String, ObjectType> private static final HashMap
<String, ObjectType> private HashMap
<String, TypeMaker.MethodTypes> private HashMap
<String, ObjectType> private HashMap
<String, TypeMaker.TypeTypes> private Loader
private HashMap
<String, TypeMaker.MethodTypes> private HashMap
<Long, ObjectType> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int
countDimension
(String descriptor) private ObjectType
private static String
extractLocalClassName
(String name) private static String[]
getExceptionTypeNames
(Method method) private static boolean
private static boolean
boolean
isAssignable
(Map<String, BaseType> typeBounds, ObjectType left, ObjectType right) private static boolean
private static boolean
private boolean
isRawTypeAssignable
(long leftHashCode, String leftInternalName, String rightInternalName) boolean
isRawTypeAssignable
(ObjectType left, ObjectType right) private Object[]
loadClassFile
(String internalTypeName, ClassFileReader reader) private Object[]
loadConstants
(ClassFileReader reader) private boolean
loadFieldsAndMethods
(String internalTypeName) private void
loadFieldsAndMethods
(String internalTypeName, byte[] data) private Type
loadFieldType
(String internalTypeName, String fieldName, String descriptor) private Type
loadFieldType
(ObjectType objectType, String fieldName, String descriptor) private TypeMaker.MethodTypes
loadMethodTypes
(String internalTypeName, String methodName, String descriptor) private TypeMaker.MethodTypes
loadMethodTypes
(ObjectType objectType, String methodName, String descriptor) private ObjectType
private ObjectType
makeFieldType
(String internalTypeName, String fieldName, String descriptor) makeFromDescriptor
(String descriptor) makeFromDescriptorOrInternalTypeName
(String descriptorOrInternalTypeName) private ObjectType
makeFromDescriptorWithoutBracket
(String descriptor) makeFromInternalTypeName
(String internalTypeName) makeFromSignature
(String signature) makeMethodTypes
(String descriptor) makeMethodTypes
(String internalTypeName, String methodName, String descriptor) makeTypeTypes
(String internalTypeName) private TypeMaker.TypeTypes
makeTypeTypes
(String internalTypeName, byte[] data) private Boolean
multipleMethods
(String internalTypeName, String suffixKey) boolean
multipleMethods
(String internalTypeName, String name, int parameterCount) parseClassFileSignature
(ClassFile classFile) Rules: ClassSignature: TypeParameters? SuperclassSignature SuperInterfaceSignature* SuperclassSignature: ClassTypeSignature SuperInterfaceSignature: ClassTypeSignatureprivate ObjectType
parseClassTypeSignature
(TypeMaker.SignatureReader reader, int dimension) Rules: ClassTypeSignature: 'L' PackageSpecifier* SimpleClassTypeSignature ClassTypeSignatureSuffix* ';' SimpleClassTypeSignature: Identifier TypeArguments? ClassTypeSignatureSuffix: '.' SimpleClassTypeSignatureprivate Type
Rules: ThrowsSignature: '^' ClassTypeSignature | '^' TypeVariableSignatureparseFieldSignature
(ClassFile classFile, Field field) private TypeMaker.MethodTypes
parseMethodSignature
(String signature, String[] exceptionTypeNames) Rules: MethodTypeSignature: TypeParameters? '(' ReferenceTypeSignature* ')' ReturnType ThrowsSignature* ReturnType: TypeSignature | VoidDescriptor ThrowsSignature: '^' ClassTypeSignature | '^' TypeVariableSignatureprivate TypeMaker.MethodTypes
parseMethodSignature
(String descriptor, String signature, String[] exceptionTypeNames) parseMethodSignature
(ClassFile classFile, Method method) private TypeMaker.MethodTypes
parseMethodSignature
(Method method, String key) private Type
Rules: ReferenceTypeSignature: ClassTypeSignature | ArrayTypeSignature | TypeVariableSignature SimpleClassTypeSignature: Identifier TypeArguments? ArrayTypeSignature: '[' TypeSignature TypeSignature: '[' FieldTypeSignature | '[' BaseType BaseType: 'B' | 'C' | 'D' | 'F' | 'I' | 'J' | 'S' | 'Z' TypeVariableSignature: 'T' Identifier ';'private TypeArgument
Rules: TypeArgument: WildcardIndicator? FieldTypeSignature | '*' WildcardIndicator: '+' | '-'private BaseTypeArgument
Rules: TypeArguments: 'invalid input: '<'' TypeArgument+ '>'private TypeParameter
Rules: TypeParameter: Identifier ClassBound InterfaceBound* ClassBound: ':' FieldTypeSignature? InterfaceBound: ':' FieldTypeSignatureprivate BaseTypeParameter
Rules: TypeParameters: 'invalid input: '<'' TypeParameter+ '>'private ObjectType
searchSuperParameterizedType
(long superHashCode, String superInternalTypeName, ObjectType objectType) searchSuperParameterizedType
(ObjectType superObjectType, ObjectType objectType) private static void
skipAttributes
(ClassFileReader reader) private static void
skipMembers
(ClassFileReader reader)
-
Field Details
-
INTERNALNAME_TO_OBJECTPRIMITIVETYPE
-
signatureToType
-
internalTypeNameFieldNameToType
-
descriptorToObjectType
-
internalTypeNameToObjectType
-
internalTypeNameToTypeTypes
-
internalTypeNameMethodNameParameterCountToBoolean
-
internalTypeNameMethodNameDescriptorToMethodTypes
-
signatureToMethodTypes
-
assignableRawTypes
-
superParameterizedObjectTypes
-
hierarchy
-
classPathLoader
-
loader
-
-
Constructor Details
-
TypeMaker
-
-
Method Details
-
parseClassFileSignature
Rules: ClassSignature: TypeParameters? SuperclassSignature SuperInterfaceSignature* SuperclassSignature: ClassTypeSignature SuperInterfaceSignature: ClassTypeSignature -
parseMethodSignature
-
parseMethodSignature
-
getExceptionTypeNames
-
parseFieldSignature
-
makeFromSignature
-
countDimension
-
parseMethodSignature
private TypeMaker.MethodTypes parseMethodSignature(String descriptor, String signature, String[] exceptionTypeNames) -
parseMethodSignature
Rules: MethodTypeSignature: TypeParameters? '(' ReferenceTypeSignature* ')' ReturnType ThrowsSignature* ReturnType: TypeSignature | VoidDescriptor ThrowsSignature: '^' ClassTypeSignature | '^' TypeVariableSignature -
parseTypeParameters
Rules: TypeParameters: 'invalid input: '<'' TypeParameter+ '>' -
parseTypeParameter
Rules: TypeParameter: Identifier ClassBound InterfaceBound* ClassBound: ':' FieldTypeSignature? InterfaceBound: ':' FieldTypeSignature -
parseExceptionSignature
Rules: ThrowsSignature: '^' ClassTypeSignature | '^' TypeVariableSignature -
parseClassTypeSignature
Rules: ClassTypeSignature: 'L' PackageSpecifier* SimpleClassTypeSignature ClassTypeSignatureSuffix* ';' SimpleClassTypeSignature: Identifier TypeArguments? ClassTypeSignatureSuffix: '.' SimpleClassTypeSignature -
parseTypeArguments
Rules: TypeArguments: 'invalid input: '<'' TypeArgument+ '>' -
parseReferenceTypeSignature
Rules: ReferenceTypeSignature: ClassTypeSignature | ArrayTypeSignature | TypeVariableSignature SimpleClassTypeSignature: Identifier TypeArguments? ArrayTypeSignature: '[' TypeSignature TypeSignature: '[' FieldTypeSignature | '[' BaseType BaseType: 'B' | 'C' | 'D' | 'F' | 'I' | 'J' | 'S' | 'Z' TypeVariableSignature: 'T' Identifier ';' -
parseTypeArgument
Rules: TypeArgument: WildcardIndicator? FieldTypeSignature | '*' WildcardIndicator: '+' | '-' -
isAReferenceTypeSignature
-
isAClassTypeSignature
-
isATypeArguments
-
isATypeArgument
-
extractLocalClassName
-
makeFromDescriptorOrInternalTypeName
-
makeFromDescriptor
-
makeFromDescriptorWithoutBracket
-
makeFromInternalTypeName
-
create
-
searchSuperParameterizedType
-
isAssignable
-
searchSuperParameterizedType
private ObjectType searchSuperParameterizedType(long superHashCode, String superInternalTypeName, ObjectType objectType) -
isRawTypeAssignable
-
isRawTypeAssignable
-
makeTypeTypes
-
makeTypeTypes
- Throws:
Exception
-
makeFieldType
-
loadFieldType
-
loadFieldType
-
makeMethodTypes
-
makeMethodTypes
public TypeMaker.MethodTypes makeMethodTypes(String internalTypeName, String methodName, String descriptor) -
loadMethodTypes
private TypeMaker.MethodTypes loadMethodTypes(String internalTypeName, String methodName, String descriptor) -
loadMethodTypes
private TypeMaker.MethodTypes loadMethodTypes(ObjectType objectType, String methodName, String descriptor) -
loadType
-
loadType
- Throws:
Exception
-
loadFieldsAndMethods
-
loadFieldsAndMethods
- Throws:
Exception
-
loadClassFile
- Throws:
Exception
-
skipMembers
-
loadConstants
- Throws:
Exception
-
skipAttributes
-
multipleMethods
-
multipleMethods
-