public class JdtBasedTypeFactory extends java.lang.Object implements ITypeFactory<org.eclipse.jdt.core.IType,JvmDeclaredType>, ITypeFactory.OptionsAware<org.eclipse.jdt.core.IType,JvmDeclaredType>
ITypes
to JvmTypes
.
Clients are not supposed to use this class directly but the IJvmTypeProvider
or TypeReferences
instead. Those will take care of types that are requested more than
once and therefore should return the very same type
on subsequent queries.Modifier and Type | Class and Description |
---|---|
protected static class |
JdtBasedTypeFactory.EnumConstructorParameterNameInitializer |
static class |
JdtBasedTypeFactory.ParameterNameInitializer |
ITypeFactory.OptionsAware<TypeData,Type extends JvmType>
Constructor and Description |
---|
JdtBasedTypeFactory(TypeURIHelper uriHelper)
Deprecated.
|
JdtBasedTypeFactory(TypeURIHelper uriHelper,
org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner) |
Modifier and Type | Method and Description |
---|---|
protected JvmAnnotationType |
createAnnotationProxy(org.eclipse.jdt.core.dom.ITypeBinding annotation) |
protected JvmAnnotationReference |
createAnnotationReference(org.eclipse.jdt.core.dom.IAnnotationBinding annotation) |
protected JvmAnnotationValue |
createAnnotationValue(org.eclipse.jdt.core.dom.ITypeBinding type,
java.lang.Object value) |
protected JvmAnnotationValue |
createAnnotationValue(org.eclipse.jdt.core.dom.ITypeBinding annotationType,
java.lang.Object value,
org.eclipse.jdt.core.dom.IMethodBinding methodBinding) |
protected void |
createAnnotationValues(org.eclipse.jdt.core.dom.IBinding annotated,
JvmAnnotationTarget result) |
protected JvmConstructor |
createConstructor(java.lang.StringBuilder qualifiedName,
java.lang.String handleIdentifier,
java.lang.String[] path,
org.eclipse.jdt.core.dom.IMethodBinding method) |
protected JvmEnumerationLiteral |
createEnumLiteralProxy(org.eclipse.jdt.core.dom.IVariableBinding binding) |
protected JvmField |
createField(java.lang.StringBuilder typeName,
org.eclipse.jdt.core.dom.IVariableBinding field) |
protected void |
createFields(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
java.lang.StringBuilder qualifiedName,
JvmDeclaredType result) |
protected JvmFormalParameter |
createFormalParameter(org.eclipse.jdt.core.dom.ITypeBinding parameterType,
java.lang.String paramName,
org.eclipse.jdt.core.dom.IAnnotationBinding[] annotations) |
protected JvmOperation |
createMethodProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
org.eclipse.jdt.core.dom.IMethodBinding method) |
protected void |
createMethods(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
java.lang.String handleIdentifier,
java.util.List<java.lang.String> path,
java.lang.StringBuilder qualifiedName,
JvmDeclaredType result) |
protected void |
createNestedTypes(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
JvmDeclaredType result,
java.lang.String handleIdentifier,
java.util.List<java.lang.String> path,
java.lang.StringBuilder fqn) |
protected JvmTypeReference |
createObjectClassReference() |
protected JvmOperation |
createOperation(java.lang.StringBuilder qualifiedName,
java.lang.String handleIdentifier,
java.lang.String[] path,
org.eclipse.jdt.core.dom.IMethodBinding method) |
protected JvmType |
createProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding) |
JvmDeclaredType |
createType(org.eclipse.jdt.core.IType jdtType)
Produce a JvmType for the given source, e.g. a {@code java.lang.Class
|
protected JvmDeclaredType |
createType(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
java.lang.String handleIdentifier,
java.util.List<java.lang.String> path,
java.lang.StringBuilder fqn) |
protected JvmDeclaredType |
createType(org.eclipse.jdt.core.IType jdtType,
org.eclipse.jdt.core.IJavaProject javaProject) |
JvmDeclaredType |
createType(org.eclipse.jdt.core.IType type,
TypeResource resource,
java.util.Map<?,?> options) |
protected JvmTypeReference |
createTypeArgument(org.eclipse.jdt.core.dom.ITypeBinding argument) |
protected JvmTypeParameter |
createTypeParameter(org.eclipse.jdt.core.dom.ITypeBinding parameter,
JvmMember container) |
protected JvmTypeReference |
createTypeReference(org.eclipse.jdt.core.dom.ITypeBinding typeBinding) |
protected void |
enhanceExecutable(java.lang.StringBuilder fqn,
java.lang.String handleIdentifier,
java.lang.String[] path,
JvmExecutable result,
org.eclipse.jdt.core.dom.IMethodBinding method) |
protected void |
enhanceGenericDeclaration(JvmExecutable result,
org.eclipse.jdt.core.dom.ITypeBinding[] parameters) |
protected java.lang.String |
getQualifiedName(org.eclipse.jdt.core.dom.ITypeBinding binding) |
protected void |
setSuperTypes(org.eclipse.jdt.core.dom.ITypeBinding binding,
java.lang.String qualifiedName,
JvmDeclaredType result) |
protected void |
setTypeModifiers(JvmDeclaredType result,
int modifiers) |
protected void |
setVisibility(JvmMember result,
int modifiers) |
@Deprecated public JdtBasedTypeFactory(TypeURIHelper uriHelper)
public JdtBasedTypeFactory(TypeURIHelper uriHelper, org.eclipse.jdt.core.WorkingCopyOwner workingCopyOwner)
public JvmDeclaredType createType(org.eclipse.jdt.core.IType jdtType)
ITypeFactory
java.lang.Class<?>
,
byte[]
or org.eclipse.jdt.core.IType
.createType
in interface ITypeFactory<org.eclipse.jdt.core.IType,JvmDeclaredType>
protected JvmDeclaredType createType(org.eclipse.jdt.core.IType jdtType, org.eclipse.jdt.core.IJavaProject javaProject)
public JvmDeclaredType createType(org.eclipse.jdt.core.IType type, TypeResource resource, java.util.Map<?,?> options)
createType
in interface ITypeFactory.OptionsAware<org.eclipse.jdt.core.IType,JvmDeclaredType>
protected JvmDeclaredType createType(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, java.lang.String handleIdentifier, java.util.List<java.lang.String> path, java.lang.StringBuilder fqn)
protected void createFields(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, java.lang.StringBuilder qualifiedName, JvmDeclaredType result)
protected java.lang.String getQualifiedName(org.eclipse.jdt.core.dom.ITypeBinding binding)
protected void createAnnotationValues(org.eclipse.jdt.core.dom.IBinding annotated, JvmAnnotationTarget result)
protected JvmAnnotationReference createAnnotationReference(org.eclipse.jdt.core.dom.IAnnotationBinding annotation)
protected JvmAnnotationValue createAnnotationValue(org.eclipse.jdt.core.dom.ITypeBinding annotationType, java.lang.Object value, org.eclipse.jdt.core.dom.IMethodBinding methodBinding)
protected JvmAnnotationValue createAnnotationValue(org.eclipse.jdt.core.dom.ITypeBinding type, java.lang.Object value)
protected JvmType createProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)
protected JvmOperation createMethodProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, org.eclipse.jdt.core.dom.IMethodBinding method)
protected JvmEnumerationLiteral createEnumLiteralProxy(org.eclipse.jdt.core.dom.IVariableBinding binding)
protected JvmAnnotationType createAnnotationProxy(org.eclipse.jdt.core.dom.ITypeBinding annotation)
protected void setSuperTypes(org.eclipse.jdt.core.dom.ITypeBinding binding, java.lang.String qualifiedName, JvmDeclaredType result)
protected void createMethods(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, java.lang.String handleIdentifier, java.util.List<java.lang.String> path, java.lang.StringBuilder qualifiedName, JvmDeclaredType result)
protected void createNestedTypes(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, JvmDeclaredType result, java.lang.String handleIdentifier, java.util.List<java.lang.String> path, java.lang.StringBuilder fqn)
protected void setTypeModifiers(JvmDeclaredType result, int modifiers)
protected JvmTypeParameter createTypeParameter(org.eclipse.jdt.core.dom.ITypeBinding parameter, JvmMember container)
protected JvmTypeReference createTypeReference(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)
protected JvmTypeReference createObjectClassReference()
protected JvmTypeReference createTypeArgument(org.eclipse.jdt.core.dom.ITypeBinding argument)
protected JvmField createField(java.lang.StringBuilder typeName, org.eclipse.jdt.core.dom.IVariableBinding field)
protected void setVisibility(JvmMember result, int modifiers)
protected JvmConstructor createConstructor(java.lang.StringBuilder qualifiedName, java.lang.String handleIdentifier, java.lang.String[] path, org.eclipse.jdt.core.dom.IMethodBinding method)
protected void enhanceExecutable(java.lang.StringBuilder fqn, java.lang.String handleIdentifier, java.lang.String[] path, JvmExecutable result, org.eclipse.jdt.core.dom.IMethodBinding method)
protected void enhanceGenericDeclaration(JvmExecutable result, org.eclipse.jdt.core.dom.ITypeBinding[] parameters)
protected JvmOperation createOperation(java.lang.StringBuilder qualifiedName, java.lang.String handleIdentifier, java.lang.String[] path, org.eclipse.jdt.core.dom.IMethodBinding method)
protected JvmFormalParameter createFormalParameter(org.eclipse.jdt.core.dom.ITypeBinding parameterType, java.lang.String paramName, org.eclipse.jdt.core.dom.IAnnotationBinding[] annotations)