Class InlineAccessFieldBinding
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.VariableBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding
org.aspectj.ajdt.internal.compiler.lookup.InlineAccessFieldBinding
Used for field references within the body of an around advice
to force the use of public access methods. This makes it possible
for around advice to be inlined into any shadow to which it applies.
??? this is very similar to PrivilegedFieldBinding and is somewhat related
to InterTypeFieldBinding. Maybe they have a common supertype?
- Author:
- Jim Hugunin
-
Field Summary
FieldsModifier and TypeFieldDescriptionFields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding
closeTracker, compoundUseFlag, declaringClassFields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.VariableBinding
constant, id, modifiers, name, tagBits, typeFields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
ANY_EXCEPTION, ARRAY_TYPE, BASE_TYPE, DefaultLocationArrayContents, DefaultLocationField, DefaultLocationParameter, DefaultLocationReturnType, DefaultLocationsForTrueValue, DefaultLocationTypeArgument, DefaultLocationTypeBound, DefaultLocationTypeParameter, FIELD, GENERIC_TYPE, IMPORT, INTERSECTION_TYPE, INTERSECTION_TYPE18, LOCAL, METHOD, MODULE, NO_ANNOTATIONS, NO_COMPONENTS, NO_ELEMENT_VALUE_PAIRS, NO_EXCEPTIONS, NO_FIELDS, NO_MEMBER_TYPES, NO_METHODS, NO_MODULES, NO_NULL_DEFAULT, NO_PACKAGES, NO_PARAMETER_NAMES, NO_PARAMETERS, NO_PERMITTEDTYPES, NO_PLAIN_PACKAGES, NO_REFERENCE_TYPES, NO_SUPERINTERFACES, NO_TYPE_VARIABLES, NO_TYPES, NULL_UNSPECIFIED_BY_DEFAULT, NullnessDefaultMASK, PACKAGE, PARAMETERIZED_TYPE, PATTERN, POLY_TYPE, RAW_TYPE, RECORD_COMPONENT, TYPE, TYPE_PARAMETER, TYPE_USE, UNINITIALIZED_COMPONENTS, UNINITIALIZED_FIELDS, UNINITIALIZED_METHODS, UNINITIALIZED_REFERENCE_TYPES, VARIABLE, WILDCARD_TYPE -
Constructor Summary
ConstructorsConstructorDescriptionInlineAccessFieldBinding(AspectDeclaration inAspect, FieldBinding baseField, ResolvedMember resolvedField) -
Method Summary
Modifier and TypeMethodDescriptionbooleanalwaysNeedsAccessMethod(boolean isReadAccess) booleancanBeSeenBy(TypeBinding receiverType, InvocationSite invocationSite, Scope scope) getAccessMethod(boolean isReadAccess) toString()Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.FieldBinding
canBeSeenBy, computeUniqueKey, constant, constant, fillInDefaultNonNullness, findPrivilegedBinding, genericSignature, getAccessFlags, getAnnotations, getAnnotationTagBits, getVisibleBinding, isDefault, isDeprecated, isOrEnclosedByPrivateType, isPrivate, isProtected, isPublic, isRecordComponent, isStatic, isSynthetic, isTransient, isUsed, isUsedOnlyInCompound, isViewedAsDeprecated, isVolatile, kind, original, setAnnotations, sourceFieldMethods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.VariableBinding
isBlankFinal, isEffectivelyFinal, isFinal, isNonNull, isNullable, readableName, setConstantMethods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isAnnotationType, isParameter, isPatternVariable, isTaggedRepeatable, isValid, isValidBinding, problemId, setAnnotations, shortReadableName
-
Field Details
-
reader
-
writer
-
baseField
-
-
Constructor Details
-
InlineAccessFieldBinding
public InlineAccessFieldBinding(AspectDeclaration inAspect, FieldBinding baseField, ResolvedMember resolvedField)
-
-
Method Details
-
canBeSeenBy
- Overrides:
canBeSeenByin classFieldBinding
-
getAccessMethod
- Overrides:
getAccessMethodin classFieldBinding
-
alwaysNeedsAccessMethod
public boolean alwaysNeedsAccessMethod(boolean isReadAccess) - Overrides:
alwaysNeedsAccessMethodin classFieldBinding
-
getFieldBindingForLookup
- Overrides:
getFieldBindingForLookupin classFieldBinding
-
toString
- Overrides:
toStringin classVariableBinding
-