org.aspectj.org.eclipse.jdt.internal.compiler.lookup
Class TypeSystem

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeSystem
Direct Known Subclasses:
AnnotatableTypeSystem

public class TypeSystem
extends java.lang.Object


Constructor Summary
TypeSystem(LookupEnvironment environment)
           
 
Method Summary
protected  TypeBinding cacheDerivedType(TypeBinding keyType, TypeBinding nakedType, TypeBinding derivedType)
           
 void fixTypeVariableDeclaringElement(TypeVariableBinding var, Binding declaringElement)
          If a TVB was created with a dummy declaring element and needs to be fixed now, make sure that this update affects all early clones, too.
 TypeBinding getAnnotatedType(TypeBinding type, AnnotationBinding[][] annotations)
           
 TypeBinding[] getAnnotatedTypes(TypeBinding type)
           
 AnnotationBinding getAnnotationType(ReferenceBinding annotationType, boolean requiredResolved)
           
 ArrayBinding getArrayType(TypeBinding leafType, int dimensions)
           
 ArrayBinding getArrayType(TypeBinding leafComponentType, int dimensions, AnnotationBinding[] annotations)
           
protected  TypeBinding[] getDerivedTypes(TypeBinding keyType)
           
 TypeBinding getIntersectionCastType(ReferenceBinding[] intersectingTypes)
           
 ReferenceBinding getMemberType(ReferenceBinding memberType, ReferenceBinding enclosingType)
           
 ParameterizedTypeBinding getParameterizedType(ReferenceBinding genericType, TypeBinding[] typeArguments, ReferenceBinding enclosingType)
           
 ParameterizedTypeBinding getParameterizedType(ReferenceBinding genericType, TypeBinding[] typeArguments, ReferenceBinding enclosingType, AnnotationBinding[] annotations)
           
 RawTypeBinding getRawType(ReferenceBinding genericType, ReferenceBinding enclosingType)
           
 RawTypeBinding getRawType(ReferenceBinding genericType, ReferenceBinding enclosingType, AnnotationBinding[] annotations)
           
 TypeBinding getUnannotatedType(TypeBinding type)
           
 WildcardBinding getWildcard(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind)
           
 WildcardBinding getWildcard(ReferenceBinding genericType, int rank, TypeBinding bound, TypeBinding[] otherBounds, int boundKind, AnnotationBinding[] annotations)
           
 boolean isAnnotatedTypeSystem()
           
 void reset()
           
 void updateCaches(UnresolvedReferenceBinding unresolvedType, ReferenceBinding resolvedType)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeSystem

public TypeSystem(LookupEnvironment environment)
Method Detail

getUnannotatedType

public final TypeBinding getUnannotatedType(TypeBinding type)

getAnnotatedTypes

public TypeBinding[] getAnnotatedTypes(TypeBinding type)

getArrayType

public ArrayBinding getArrayType(TypeBinding leafType,
                                 int dimensions)

getArrayType

public ArrayBinding getArrayType(TypeBinding leafComponentType,
                                 int dimensions,
                                 AnnotationBinding[] annotations)

getMemberType

public ReferenceBinding getMemberType(ReferenceBinding memberType,
                                      ReferenceBinding enclosingType)

getParameterizedType

public ParameterizedTypeBinding getParameterizedType(ReferenceBinding genericType,
                                                     TypeBinding[] typeArguments,
                                                     ReferenceBinding enclosingType)

getParameterizedType

public ParameterizedTypeBinding getParameterizedType(ReferenceBinding genericType,
                                                     TypeBinding[] typeArguments,
                                                     ReferenceBinding enclosingType,
                                                     AnnotationBinding[] annotations)

getRawType

public RawTypeBinding getRawType(ReferenceBinding genericType,
                                 ReferenceBinding enclosingType)

getRawType

public RawTypeBinding getRawType(ReferenceBinding genericType,
                                 ReferenceBinding enclosingType,
                                 AnnotationBinding[] annotations)

getWildcard

public WildcardBinding getWildcard(ReferenceBinding genericType,
                                   int rank,
                                   TypeBinding bound,
                                   TypeBinding[] otherBounds,
                                   int boundKind)

getWildcard

public WildcardBinding getWildcard(ReferenceBinding genericType,
                                   int rank,
                                   TypeBinding bound,
                                   TypeBinding[] otherBounds,
                                   int boundKind,
                                   AnnotationBinding[] annotations)

getAnnotatedType

public TypeBinding getAnnotatedType(TypeBinding type,
                                    AnnotationBinding[][] annotations)

getDerivedTypes

protected final TypeBinding[] getDerivedTypes(TypeBinding keyType)

cacheDerivedType

protected final TypeBinding cacheDerivedType(TypeBinding keyType,
                                             TypeBinding nakedType,
                                             TypeBinding derivedType)

getAnnotationType

public final AnnotationBinding getAnnotationType(ReferenceBinding annotationType,
                                                 boolean requiredResolved)

isAnnotatedTypeSystem

public boolean isAnnotatedTypeSystem()

reset

public void reset()

updateCaches

public void updateCaches(UnresolvedReferenceBinding unresolvedType,
                         ReferenceBinding resolvedType)

getIntersectionCastType

public final TypeBinding getIntersectionCastType(ReferenceBinding[] intersectingTypes)

fixTypeVariableDeclaringElement

public void fixTypeVariableDeclaringElement(TypeVariableBinding var,
                                            Binding declaringElement)
If a TVB was created with a dummy declaring element and needs to be fixed now, make sure that this update affects all early clones, too.