Class EclipseFactory
java.lang.Object
org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory
- Author:
- Jim Hugunin
-
Field Summary
Modifier and TypeFieldDescriptionstatic boolean
static int
-
Constructor Summary
ConstructorDescriptionEclipseFactory(LookupEnvironment lookupEnvironment, AjBuildManager buildManager)
EclipseFactory(LookupEnvironment lookupEnvironment, World world, boolean xSer)
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addSourceTypeBinding(SourceTypeBinding binding, CompilationUnitDeclaration unit)
void
addTypeBinding(TypeBinding binding)
void
boolean
static ASTNode
astForLocation(IHasPosition location)
void
cleanup()
createSyntheticFieldBinding(SourceTypeBinding owningType, ResolvedMember member)
Build a new Eclipse SyntheticFieldBinding for an AspectJ ResolvedMember.void
void
fromBinding(Binding declaringElement)
fromBinding(MethodBinding binding)
fromBinding(TypeBinding binding)
Some generics notes: Andy 6-May-05 We were having trouble with parameterized types in a couple of places - due to TypeVariableBindings.fromBindings(TypeBinding[] bindings)
fromEclipse(ReferenceBinding binding)
fromEclipse(ReferenceBinding[] bindings)
static EclipseFactory
static EclipseFactory
fromScopeLookupEnvironment(Scope scope)
int
static String
getName(TypeBinding binding)
getWorld()
internalMakeFieldBinding(ResolvedMember member, List<String> aliases)
Take a normal AJ member and convert it into an eclipse fieldBinding.internalMakeMethodBinding(ResolvedMember member, List<String> aliases)
internalMakeMethodBinding(ResolvedMember member, List<String> aliases, UnresolvedType aliasTargetType)
Take a normal AJ member and convert it into an eclipse methodBinding.boolean
makeEclipseTypeMunger(ConcreteTypeMunger concrete)
makeFieldBinding(ResolvedMember member)
Convert a resolvedmember into an eclipse field bindingmakeFieldBinding(ResolvedMember member, List<String> aliases)
Convert a resolvedmember into an eclipse field bindingmakeMethodBinding(ResolvedMember member)
Convert a resolvedmember into an eclipse method binding.makeMethodBinding(ResolvedMember member, List<String> aliases)
Convert a resolvedmember into an eclipse method binding.makeMethodBinding(ResolvedMember member, List aliases, UnresolvedType aliasTargetType)
Creates a method binding for a resolvedmember taking into account type variable aliases - this variant can take an aliasTargetType and should be used when the alias target type cannot be retrieved from the resolvedmember.makeMethodBindingForCall(Member member)
makeResolvedMember(FieldBinding binding)
makeResolvedMember(FieldBinding binding, TypeBinding receiverType)
makeResolvedMember(MethodBinding binding)
makeResolvedMember(MethodBinding binding, TypeBinding declaringType)
makeResolvedMember(MethodBinding binding, TypeBinding declaringType, MemberKind memberKind)
makeResolvedMember(MethodBinding binding, Shadow.Kind shadowKind)
makeResolvedMemberForITD(MethodBinding binding, TypeBinding declaringType, Map<TypeVariableBinding,String> recoveryAliases)
Construct a resolvedmember from a methodbinding.makeShadow(ASTNode location, ReferenceContext context)
makeShadow(ReferenceContext context)
makeTypeBinding(UnresolvedType typeX)
makeTypeBindings(UnresolvedType[] types)
void
void
showMessage(IMessage.Kind kind, String message, ISourceLocation loc1, ISourceLocation loc2)
-
Field Details
-
DEBUG
public static boolean DEBUG -
debug_mungerCount
public static int debug_mungerCount -
pushinCollector
-
finishedTypeMungers
-
-
Constructor Details
-
EclipseFactory
-
EclipseFactory
-
-
Method Details
-
fromLookupEnvironment
-
getLookupEnvironment
-
fromScopeLookupEnvironment
-
getWorld
-
showMessage
public void showMessage(IMessage.Kind kind, String message, ISourceLocation loc1, ISourceLocation loc2) -
fromEclipse
-
fromTypeBindingToRTX
-
fromEclipse
-
getName
-
fromBinding
Some generics notes: Andy 6-May-05 We were having trouble with parameterized types in a couple of places - due to TypeVariableBindings. When we see a TypeVariableBinding now we default to either the firstBound if it is specified or java.lang.Object. Not sure when/if this gets us unstuck? It does mean we forget that it is a type variable when going back the other way from the UnresolvedType and that would seem a bad thing - but I've yet to see the reason we need to remember the type variable. Adrian 10-July-05 When we forget it's a type variable we come unstuck when getting the declared members of a parameterized type - since we don't know it's a type variable we can't replace it with the type parameter. -
fromBindings
-
astForLocation
-
getDeclareParents
-
getDeclareAnnotationOnTypes
-
getDeclareAnnotationOnFields
-
getDeclareAnnotationOnMethods
-
areTypeMungersFinished
public boolean areTypeMungersFinished() -
finishTypeMungers
public void finishTypeMungers() -
makeEclipseTypeMunger
-
getTypeMungers
-
makeResolvedMember
-
makeResolvedMember
-
makeResolvedMemberForITD
public ResolvedMemberImpl makeResolvedMemberForITD(MethodBinding binding, TypeBinding declaringType, Map<TypeVariableBinding,String> recoveryAliases)Construct a resolvedmember from a methodbinding. The supplied map tells us about any typevariablebindings that replaced typevariables whilst the compiler was resolving types - this only happens if it is a generic itd that shares type variables with its target type. -
makeResolvedMember
-
makeResolvedMember
public ResolvedMemberImpl makeResolvedMember(MethodBinding binding, TypeBinding declaringType, MemberKind memberKind) -
makeResolvedMember
-
makeResolvedMember
-
makeTypeBinding
-
makeTypeBindings
-
makeFieldBinding
-
makeFieldBinding
Convert a resolvedmember into an eclipse field binding -
makeFieldBinding
Convert a resolvedmember into an eclipse field binding -
createSyntheticFieldBinding
public SyntheticFieldBinding createSyntheticFieldBinding(SourceTypeBinding owningType, ResolvedMember member)Build a new Eclipse SyntheticFieldBinding for an AspectJ ResolvedMember. -
internalMakeFieldBinding
Take a normal AJ member and convert it into an eclipse fieldBinding. Taking into account any aliases that it may include due to being a generic itd. Any aliases are put into the typeVariableToBinding map so that they will be substituted as appropriate in the returned fieldbinding. -
makeMethodBinding
-
makeMethodBinding
Convert a resolvedmember into an eclipse method binding. -
makeMethodBinding
public MethodBinding makeMethodBinding(ResolvedMember member, List aliases, UnresolvedType aliasTargetType)Creates a method binding for a resolvedmember taking into account type variable aliases - this variant can take an aliasTargetType and should be used when the alias target type cannot be retrieved from the resolvedmember. -
makeMethodBinding
Convert a resolvedmember into an eclipse method binding. -
internalMakeMethodBinding
-
internalMakeMethodBinding
public MethodBinding internalMakeMethodBinding(ResolvedMember member, List<String> aliases, UnresolvedType aliasTargetType)Take a normal AJ member and convert it into an eclipse methodBinding. Taking into account any aliases that it may include due to being a generic ITD. Any aliases are put into the typeVariableToBinding map so that they will be substituted as appropriate in the returned methodbinding -
makeMethodBindingForCall
-
finishedCompilationUnit
-
addTypeBinding
-
addTypeBindingAndStoreInWorld
-
makeShadow
-
makeShadow
-
addSourceTypeBinding
-
isXSerializableAspects
public boolean isXSerializableAspects() -
fromBinding
-
fromBinding
-
cleanup
public void cleanup() -
minicleanup
public void minicleanup() -
getItdVersion
public int getItdVersion()
-