org.eclipse.xtext.common.types.access.impl
Class DeclaredTypeFactory

java.lang.Object
  extended by org.eclipse.xtext.common.types.access.impl.DeclaredTypeFactory
All Implemented Interfaces:
ITypeFactory<java.lang.Class<?>>

public class DeclaredTypeFactory
extends java.lang.Object
implements ITypeFactory<java.lang.Class<?>>

Author:
Sebastian Zarnekow - Initial contribution and API

Constructor Summary
DeclaredTypeFactory(ClassURIHelper uriHelper)
           
 
Method Summary
protected  JvmAnnotationType createAnnotationProxy(java.lang.Class<? extends java.lang.annotation.Annotation> type)
           
protected  JvmAnnotationReference createAnnotationReference(JvmAnnotationTarget result, java.lang.annotation.Annotation annotation)
           
 JvmAnnotationType createAnnotationType(java.lang.Class<?> clazz)
           
protected  JvmAnnotationValue createAnnotationValue(java.lang.Class<?> type)
           
protected  JvmAnnotationValue createAnnotationValue(java.lang.Object value, java.lang.Class<?> type)
           
protected  void createAnnotationValues(java.lang.reflect.AnnotatedElement annotated, JvmAnnotationTarget result)
           
protected  JvmAnnotationValue createArrayAnnotationValue(java.lang.Object value, java.lang.Class<?> type)
           
protected  JvmTypeReference createArrayTypeReference(java.lang.reflect.Type componentType)
           
<T> JvmConstructor
createConstructor(java.lang.reflect.Constructor<T> constructor)
           
protected  void createConstructors(java.lang.Class<?> clazz, JvmDeclaredType result)
           
 JvmEnumerationType createEnumerationType(java.lang.Class<?> clazz)
           
protected  JvmEnumerationLiteral createEnumLiteralProxy(java.lang.Enum<?> e)
           
 JvmField createField(java.lang.reflect.Field field)
           
protected  void createFields(java.lang.Class<?> clazz, JvmDeclaredType result)
           
 JvmFormalParameter createFormalParameter(java.lang.reflect.Type parameterType, java.lang.String paramName, JvmMember container, java.lang.annotation.Annotation[] annotations)
           
protected  JvmOperation createMethodProxy(java.lang.reflect.Method method)
           
protected  void createMethods(java.lang.Class<?> clazz, JvmDeclaredType result)
           
protected  void createNestedTypes(java.lang.Class<?> clazz, JvmDeclaredType result)
           
 JvmOperation createOperation(java.lang.reflect.Method method)
           
 JvmType createProxy(java.lang.reflect.Type type)
           
 JvmDeclaredType createType(java.lang.Class<?> clazz)
           
 JvmTypeReference createTypeArgument(java.lang.reflect.Type actualTypeArgument, java.lang.reflect.Type rawType, int i)
           
 JvmTypeParameter createTypeParameter(java.lang.reflect.TypeVariable<?> variable, JvmMember container)
           
 JvmTypeReference createTypeReference(java.lang.reflect.Type type)
           
 void enhanceExecutable(JvmExecutable result, java.lang.reflect.Member member, java.lang.String simpleName, java.lang.reflect.Type[] parameterTypes, java.lang.annotation.Annotation[][] annotations)
           
 void enhanceGenericDeclaration(JvmExecutable result, java.lang.reflect.GenericDeclaration declaration)
           
protected  void setSuperTypes(java.lang.Class<?> clazz, JvmDeclaredType result)
           
protected  void setTypeModifiers(java.lang.Class<?> clazz, JvmDeclaredType result)
           
protected  void setVisibility(java.lang.Class<?> clazz, JvmMember result)
           
 void setVisibility(JvmMember result, int modifiers)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DeclaredTypeFactory

@Inject
public DeclaredTypeFactory(ClassURIHelper uriHelper)
Method Detail

createType

public JvmDeclaredType createType(java.lang.Class<?> clazz)
Specified by:
createType in interface ITypeFactory<java.lang.Class<?>>

createAnnotationValues

protected void createAnnotationValues(java.lang.reflect.AnnotatedElement annotated,
                                      JvmAnnotationTarget result)

createAnnotationReference

protected JvmAnnotationReference createAnnotationReference(JvmAnnotationTarget result,
                                                           java.lang.annotation.Annotation annotation)

createEnumLiteralProxy

protected JvmEnumerationLiteral createEnumLiteralProxy(java.lang.Enum<?> e)

createArrayAnnotationValue

protected JvmAnnotationValue createArrayAnnotationValue(java.lang.Object value,
                                                        java.lang.Class<?> type)

createAnnotationValue

protected JvmAnnotationValue createAnnotationValue(java.lang.Object value,
                                                   java.lang.Class<?> type)

createAnnotationValue

protected JvmAnnotationValue createAnnotationValue(java.lang.Class<?> type)

createAnnotationProxy

protected JvmAnnotationType createAnnotationProxy(java.lang.Class<? extends java.lang.annotation.Annotation> type)

createMethodProxy

protected JvmOperation createMethodProxy(java.lang.reflect.Method method)

setTypeModifiers

protected void setTypeModifiers(java.lang.Class<?> clazz,
                                JvmDeclaredType result)

createNestedTypes

protected void createNestedTypes(java.lang.Class<?> clazz,
                                 JvmDeclaredType result)

createAnnotationType

public JvmAnnotationType createAnnotationType(java.lang.Class<?> clazz)

setSuperTypes

protected void setSuperTypes(java.lang.Class<?> clazz,
                             JvmDeclaredType result)

createFields

protected void createFields(java.lang.Class<?> clazz,
                            JvmDeclaredType result)

createConstructors

protected void createConstructors(java.lang.Class<?> clazz,
                                  JvmDeclaredType result)

createMethods

protected void createMethods(java.lang.Class<?> clazz,
                             JvmDeclaredType result)

createEnumerationType

public JvmEnumerationType createEnumerationType(java.lang.Class<?> clazz)

setVisibility

protected void setVisibility(java.lang.Class<?> clazz,
                             JvmMember result)

createTypeParameter

public JvmTypeParameter createTypeParameter(java.lang.reflect.TypeVariable<?> variable,
                                            JvmMember container)

createTypeReference

public JvmTypeReference createTypeReference(java.lang.reflect.Type type)

createArrayTypeReference

protected JvmTypeReference createArrayTypeReference(java.lang.reflect.Type componentType)

createTypeArgument

public JvmTypeReference createTypeArgument(java.lang.reflect.Type actualTypeArgument,
                                           java.lang.reflect.Type rawType,
                                           int i)

createProxy

public JvmType createProxy(java.lang.reflect.Type type)

createField

public JvmField createField(java.lang.reflect.Field field)

createConstructor

public <T> JvmConstructor createConstructor(java.lang.reflect.Constructor<T> constructor)

setVisibility

public void setVisibility(JvmMember result,
                          int modifiers)

enhanceExecutable

public void enhanceExecutable(JvmExecutable result,
                              java.lang.reflect.Member member,
                              java.lang.String simpleName,
                              java.lang.reflect.Type[] parameterTypes,
                              java.lang.annotation.Annotation[][] annotations)

enhanceGenericDeclaration

public void enhanceGenericDeclaration(JvmExecutable result,
                                      java.lang.reflect.GenericDeclaration declaration)

createOperation

public JvmOperation createOperation(java.lang.reflect.Method method)

createFormalParameter

public JvmFormalParameter createFormalParameter(java.lang.reflect.Type parameterType,
                                                java.lang.String paramName,
                                                JvmMember container,
                                                java.lang.annotation.Annotation[] annotations)