org.eclipse.xtext.common.types.access.jdt
Class JdtBasedTypeFactory

java.lang.Object
  extended by org.eclipse.xtext.common.types.access.jdt.JdtBasedTypeFactory
All Implemented Interfaces:
ITypeFactory<org.eclipse.jdt.core.IType>

public class JdtBasedTypeFactory
extends java.lang.Object
implements ITypeFactory<org.eclipse.jdt.core.IType>

Author:
Sebastian Zarnekow - Initial contribution and API

Constructor Summary
JdtBasedTypeFactory(TypeURIHelper uriHelper)
           
 
Method Summary
 JvmAnnotationType createAnnotationProxy(org.eclipse.jdt.core.dom.ITypeBinding annotation)
           
 JvmAnnotationReference createAnnotationReference(JvmAnnotationTarget result, org.eclipse.jdt.core.dom.IAnnotationBinding annotation)
           
 JvmAnnotationType createAnnotationType(org.eclipse.jdt.core.dom.ITypeBinding binding)
           
 JvmAnnotationValue createAnnotationValue(org.eclipse.jdt.core.dom.IMemberValuePairBinding memberValuePair, JvmAnnotationValue result)
           
 JvmAnnotationValue createAnnotationValue(org.eclipse.jdt.core.dom.ITypeBinding type)
           
 void createAnnotationValues(org.eclipse.jdt.core.dom.IBinding annotated, JvmAnnotationTarget result)
           
 JvmAnnotationValue createArrayAnnotationValue(org.eclipse.jdt.core.dom.IMemberValuePairBinding memberValuePair, JvmAnnotationValue result)
           
 JvmConstructor createConstructor(org.eclipse.jdt.core.dom.IMethodBinding method)
           
 JvmEnumerationType createEnumerationType(org.eclipse.jdt.core.dom.ITypeBinding binding)
           
 JvmEnumerationLiteral createEnumLiteralProxy(org.eclipse.jdt.core.dom.IVariableBinding binding)
           
 JvmField createField(org.eclipse.jdt.core.dom.IVariableBinding field)
           
protected  void createFields(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, JvmDeclaredType result)
           
 JvmFormalParameter createFormalParameter(org.eclipse.jdt.core.dom.ITypeBinding parameterType, java.lang.String paramName, org.eclipse.jdt.core.dom.IAnnotationBinding[] annotations)
           
 JvmOperation createMethodProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, java.lang.String methodName)
           
 void createMethods(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, JvmDeclaredType result)
           
 void createNestedTypes(org.eclipse.jdt.core.dom.ITypeBinding typeBinding, JvmDeclaredType result)
           
 JvmOperation createOperation(org.eclipse.jdt.core.dom.IMethodBinding method)
           
 JvmType createProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)
           
 JvmType createProxyForType(java.lang.String fqn)
           
 JvmDeclaredType createType(org.eclipse.jdt.core.IType jdtType)
           
 JvmDeclaredType createType(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)
           
 JvmTypeReference createTypeArgument(org.eclipse.jdt.core.dom.ITypeBinding argument)
           
 JvmTypeParameter createTypeParameter(org.eclipse.jdt.core.dom.ITypeBinding parameter, JvmMember container)
           
 JvmTypeReference createTypeReference(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)
           
 JvmTypeReference createTypeReference(java.lang.String qualifiedName)
           
 void enhanceExecutable(JvmExecutable result, org.eclipse.jdt.core.dom.IMethodBinding method)
           
 void enhanceGenericDeclaration(JvmExecutable result, org.eclipse.jdt.core.dom.ITypeBinding[] parameters)
           
protected  java.lang.String[] fastGetParameterNames(org.eclipse.jdt.core.IMethod javaMethod)
           
 java.lang.String getQualifiedName(org.eclipse.jdt.core.dom.ITypeBinding binding)
           
 void setSuperTypes(org.eclipse.jdt.core.dom.ITypeBinding binding, JvmDeclaredType result)
           
 void setTypeModifiers(org.eclipse.jdt.core.dom.ITypeBinding binding, JvmDeclaredType 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

JdtBasedTypeFactory

public JdtBasedTypeFactory(TypeURIHelper uriHelper)
Method Detail

createType

public JvmDeclaredType createType(org.eclipse.jdt.core.IType jdtType)
Specified by:
createType in interface ITypeFactory<org.eclipse.jdt.core.IType>

createType

public JvmDeclaredType createType(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)

createFields

protected void createFields(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
                            JvmDeclaredType result)

getQualifiedName

public java.lang.String getQualifiedName(org.eclipse.jdt.core.dom.ITypeBinding binding)

createAnnotationValues

public void createAnnotationValues(org.eclipse.jdt.core.dom.IBinding annotated,
                                   JvmAnnotationTarget result)

createAnnotationReference

public JvmAnnotationReference createAnnotationReference(JvmAnnotationTarget result,
                                                        org.eclipse.jdt.core.dom.IAnnotationBinding annotation)

createArrayAnnotationValue

public JvmAnnotationValue createArrayAnnotationValue(org.eclipse.jdt.core.dom.IMemberValuePairBinding memberValuePair,
                                                     JvmAnnotationValue result)

createProxy

public JvmType createProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)

createProxyForType

public JvmType createProxyForType(java.lang.String fqn)

createAnnotationValue

public JvmAnnotationValue createAnnotationValue(org.eclipse.jdt.core.dom.IMemberValuePairBinding memberValuePair,
                                                JvmAnnotationValue result)

createAnnotationValue

public JvmAnnotationValue createAnnotationValue(org.eclipse.jdt.core.dom.ITypeBinding type)

createMethodProxy

public JvmOperation createMethodProxy(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
                                      java.lang.String methodName)

createEnumLiteralProxy

public JvmEnumerationLiteral createEnumLiteralProxy(org.eclipse.jdt.core.dom.IVariableBinding binding)

createAnnotationProxy

public JvmAnnotationType createAnnotationProxy(org.eclipse.jdt.core.dom.ITypeBinding annotation)

setSuperTypes

public void setSuperTypes(org.eclipse.jdt.core.dom.ITypeBinding binding,
                          JvmDeclaredType result)

createMethods

public void createMethods(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
                          JvmDeclaredType result)

createNestedTypes

public void createNestedTypes(org.eclipse.jdt.core.dom.ITypeBinding typeBinding,
                              JvmDeclaredType result)

setTypeModifiers

public void setTypeModifiers(org.eclipse.jdt.core.dom.ITypeBinding binding,
                             JvmDeclaredType result)

createAnnotationType

public JvmAnnotationType createAnnotationType(org.eclipse.jdt.core.dom.ITypeBinding binding)

createEnumerationType

public JvmEnumerationType createEnumerationType(org.eclipse.jdt.core.dom.ITypeBinding binding)

createTypeParameter

public JvmTypeParameter createTypeParameter(org.eclipse.jdt.core.dom.ITypeBinding parameter,
                                            JvmMember container)

createTypeReference

public JvmTypeReference createTypeReference(org.eclipse.jdt.core.dom.ITypeBinding typeBinding)

createTypeReference

public JvmTypeReference createTypeReference(java.lang.String qualifiedName)

createTypeArgument

public JvmTypeReference createTypeArgument(org.eclipse.jdt.core.dom.ITypeBinding argument)

createField

public JvmField createField(org.eclipse.jdt.core.dom.IVariableBinding field)

setVisibility

public void setVisibility(JvmMember result,
                          int modifiers)

createConstructor

public JvmConstructor createConstructor(org.eclipse.jdt.core.dom.IMethodBinding method)

enhanceExecutable

public void enhanceExecutable(JvmExecutable result,
                              org.eclipse.jdt.core.dom.IMethodBinding method)

fastGetParameterNames

protected java.lang.String[] fastGetParameterNames(org.eclipse.jdt.core.IMethod javaMethod)

enhanceGenericDeclaration

public void enhanceGenericDeclaration(JvmExecutable result,
                                      org.eclipse.jdt.core.dom.ITypeBinding[] parameters)

createOperation

public JvmOperation createOperation(org.eclipse.jdt.core.dom.IMethodBinding method)

createFormalParameter

public JvmFormalParameter createFormalParameter(org.eclipse.jdt.core.dom.ITypeBinding parameterType,
                                                java.lang.String paramName,
                                                org.eclipse.jdt.core.dom.IAnnotationBinding[] annotations)