Class SyntheticMethodBinding
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticMethodBinding
- Direct Known Subclasses:
SimpleSyntheticAccessMethodBinding
-
Field Summary
Modifier and TypeFieldDescriptionstatic int
static int
static int
static int
static int
int
static int
static int
static int
int
static int
static int
int
static int
static int
int
static int
static int
static int
static int
Method reference expression whose target FI is Serializable.static int
Serves as a placeholder for a method reference whose target FI is Serializable.int
int
static int
static int
static int
Switch (one from many) linked to the switch tablestatic int
static int
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding
declaringClass, defaultNullness, modifiers, parameterNames, parameterNonNullness, parameters, receiver, returnType, selector, tagBits, thrownExceptions, typeAnnotations, typeVariables
Fields 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
ConstructorDescriptionSyntheticMethodBinding(int purpose, ArrayBinding arrayType, char[] selector, SourceTypeBinding declaringClass)
SyntheticMethodBinding(LambdaExpression lambda, char[] lambdaName, SourceTypeBinding declaringClass)
SyntheticMethodBinding(ReferenceExpression ref, SourceTypeBinding declaringClass)
SyntheticMethodBinding(FieldBinding targetField, boolean isReadAccess, boolean isSuperAccess, ReferenceBinding declaringClass)
SyntheticMethodBinding(FieldBinding targetField, ReferenceBinding declaringClass, TypeBinding enumBinding, char[] selector, SwitchStatement switchStatement)
SyntheticMethodBinding(MethodBinding myBinding)
SyntheticMethodBinding(MethodBinding targetMethod, boolean isSuperAccess, ReferenceBinding declaringClass)
SyntheticMethodBinding(MethodBinding privateConstructor, MethodBinding publicConstructor, char[] selector, TypeBinding[] enclosingInstances, SourceTypeBinding declaringClass)
SyntheticMethodBinding(MethodBinding overridenMethodToBridge, MethodBinding targetMethod, SourceTypeBinding declaringClass)
Construct a bridge methodSyntheticMethodBinding(MethodBinding overridenMethodToBridge, SourceTypeBinding declaringClass)
SyntheticMethodBinding(ReferenceBinding declaringClass, char[] selector, int index)
SyntheticMethodBinding(ReferenceBinding declaringClass, RecordComponentBinding[] rcb)
SyntheticMethodBinding(ReferenceBinding declaringClass, RecordComponentBinding rcb, int index)
SyntheticMethodBinding(SourceTypeBinding declaringClass)
Construct $deserializeLambda$ methodSyntheticMethodBinding(SourceTypeBinding declaringEnum, char[] selector)
Construct enum special methods: values or valueOf methodsSyntheticMethodBinding(SourceTypeBinding declaringEnum, int startIndex, int endIndex)
Construct enum special methods: values or valueOf methods -
Method Summary
Modifier and TypeMethodDescriptionvoid
initializeConstructorAccessor(MethodBinding accessedConstructor)
An constructor accessor is a constructor with an extra argument (declaringClass), in case of collision with an existing constructor, then add again an extra argument (declaringClass again).void
initializeMethodAccessor(MethodBinding accessedMethod, boolean isSuperAccess, ReferenceBinding receiverType)
An method accessor is a method with an access$N selector, where N is incremented in case of collisions.protected boolean
void
markNonNull(LookupEnvironment environment)
void
setAnnotations(AnnotationBinding[] annotations, Scope scope, boolean forceStore)
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBinding
alwaysNeedsAccessMethod, areParameterErasuresEqual, areParametersCompatibleWith, areParametersEqual, areTypeVariableErasuresEqual, asRawMethod, canBeSeenBy, canBeSeenBy, canBeSeenBy, collectMissingTypes, computeSubstitutedMethod, computeUniqueKey, constantPoolName, doesParameterLengthMatch, fillInDefaultNonNullness, fillInDefaultNonNullness18, findOriginalInheritedMethod, findPrivilegedBinding, genericMethod, genericSignature, getAccessFlags, getAccessMethod, getAllTypeVariables, getAnnotations, getAnnotationTagBits, getDefaultValue, getParameterAnnotations, getTypeAnnotations, getTypeVariable, getVisibleBinding, getVisibleBinding, hasNonNullDefaultForParameter, hasNonNullDefaultForReturnType, hasSubstitutedParameters, hasSubstitutedReturnType, isAbstract, isBridge, isCompactConstructor, isConstructor, isDefault, isDefaultAbstract, isDefaultMethod, isDeprecated, isFinal, isImplementing, isMain, isNative, isOrEnclosedByPrivateType, isOverriding, isParameterizedGeneric, isPolymorphic, isPrivate, isProtected, isPublic, isStatic, isStrictfp, isSynchronized, isSynthetic, isUsed, isVarargs, isViewedAsDeprecated, isVoidMethod, kind, original, readableName, redeclaresPublicObjectMethod, setAnnotations, setAnnotations, setDefaultValue, setParameterAnnotations, setSelector, setTypeAnnotations, shallowOriginal, shortReadableName, signature, signature, sourceEnd, sourceMethod, sourceRecordComponent, sourceStart, tiebreakMethod, toString, typeVariables, updateTypeVariableBinding
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Binding
computeUniqueKey, initializeDeprecatedAnnotationTagBits, isAnnotationType, isParameter, isTaggedRepeatable, isValid, isValidBinding, isVolatile, problemId
-
Field Details
-
targetReadField
-
targetWriteField
-
targetMethod
-
targetEnumType
-
lambda
-
recordComponentBinding
-
switchStatement
Switch (one from many) linked to the switch table -
serializableMethodRef
Method reference expression whose target FI is Serializable. Should be set when purpose isSerializableMethodReference
-
purpose
public int purpose -
startIndex
public int startIndex -
endIndex
public int endIndex -
FieldReadAccess
public static final int FieldReadAccess- See Also:
- Constant Field Values
-
FieldWriteAccess
public static final int FieldWriteAccess- See Also:
- Constant Field Values
-
SuperFieldReadAccess
public static final int SuperFieldReadAccess- See Also:
- Constant Field Values
-
SuperFieldWriteAccess
public static final int SuperFieldWriteAccess- See Also:
- Constant Field Values
-
MethodAccess
public static final int MethodAccess- See Also:
- Constant Field Values
-
ConstructorAccess
public static final int ConstructorAccess- See Also:
- Constant Field Values
-
SuperMethodAccess
public static final int SuperMethodAccess- See Also:
- Constant Field Values
-
BridgeMethod
public static final int BridgeMethod- See Also:
- Constant Field Values
-
EnumValues
public static final int EnumValues- See Also:
- Constant Field Values
-
EnumValueOf
public static final int EnumValueOf- See Also:
- Constant Field Values
-
SwitchTable
public static final int SwitchTable- See Also:
- Constant Field Values
-
TooManyEnumsConstants
public static final int TooManyEnumsConstants- See Also:
- Constant Field Values
-
LambdaMethod
public static final int LambdaMethod- See Also:
- Constant Field Values
-
ArrayConstructor
public static final int ArrayConstructor- See Also:
- Constant Field Values
-
ArrayClone
public static final int ArrayClone- See Also:
- Constant Field Values
-
FactoryMethod
public static final int FactoryMethod- See Also:
- Constant Field Values
-
DeserializeLambda
public static final int DeserializeLambda- See Also:
- Constant Field Values
-
SerializableMethodReference
public static final int SerializableMethodReferenceServes as a placeholder for a method reference whose target FI is Serializable. Is never directly materialized in bytecode- See Also:
- Constant Field Values
-
RecordOverrideToString
public static final int RecordOverrideToString- See Also:
- Constant Field Values
-
RecordOverrideHashCode
public static final int RecordOverrideHashCode- See Also:
- Constant Field Values
-
RecordOverrideEquals
public static final int RecordOverrideEquals- See Also:
- Constant Field Values
-
RecordCanonicalConstructor
public static final int RecordCanonicalConstructor- See Also:
- Constant Field Values
-
sourceStart
public int sourceStart -
index
public int index -
fakePaddedParameters
public int fakePaddedParameters
-
-
Constructor Details
-
SyntheticMethodBinding
public SyntheticMethodBinding(FieldBinding targetField, boolean isReadAccess, boolean isSuperAccess, ReferenceBinding declaringClass) -
SyntheticMethodBinding
public SyntheticMethodBinding(FieldBinding targetField, ReferenceBinding declaringClass, TypeBinding enumBinding, char[] selector, SwitchStatement switchStatement) -
SyntheticMethodBinding
public SyntheticMethodBinding(MethodBinding targetMethod, boolean isSuperAccess, ReferenceBinding declaringClass) -
SyntheticMethodBinding
public SyntheticMethodBinding(MethodBinding overridenMethodToBridge, MethodBinding targetMethod, SourceTypeBinding declaringClass)Construct a bridge method -
SyntheticMethodBinding
Construct enum special methods: values or valueOf methods -
SyntheticMethodBinding
Construct $deserializeLambda$ method -
SyntheticMethodBinding
Construct enum special methods: values or valueOf methods -
SyntheticMethodBinding
public SyntheticMethodBinding(MethodBinding overridenMethodToBridge, SourceTypeBinding declaringClass) -
SyntheticMethodBinding
public SyntheticMethodBinding(int purpose, ArrayBinding arrayType, char[] selector, SourceTypeBinding declaringClass) -
SyntheticMethodBinding
public SyntheticMethodBinding(LambdaExpression lambda, char[] lambdaName, SourceTypeBinding declaringClass) -
SyntheticMethodBinding
-
SyntheticMethodBinding
public SyntheticMethodBinding(MethodBinding privateConstructor, MethodBinding publicConstructor, char[] selector, TypeBinding[] enclosingInstances, SourceTypeBinding declaringClass) -
SyntheticMethodBinding
-
SyntheticMethodBinding
public SyntheticMethodBinding(ReferenceBinding declaringClass, RecordComponentBinding rcb, int index) -
SyntheticMethodBinding
-
SyntheticMethodBinding
-
-
Method Details
-
initializeConstructorAccessor
An constructor accessor is a constructor with an extra argument (declaringClass), in case of collision with an existing constructor, then add again an extra argument (declaringClass again). -
initializeMethodAccessor
public void initializeMethodAccessor(MethodBinding accessedMethod, boolean isSuperAccess, ReferenceBinding receiverType)An method accessor is a method with an access$N selector, where N is incremented in case of collisions. -
isConstructorRelated
protected boolean isConstructorRelated() -
sourceLambda
- Overrides:
sourceLambda
in classMethodBinding
-
markNonNull
-
setAnnotations
- Overrides:
setAnnotations
in classBinding
-