public class ClassFile extends java.lang.Object implements TypeConstants, TypeIds
TypeConstants.CloseMethodRecord| Modifier and Type | Field and Description |
|---|---|
java.util.List |
bootstrapMethods |
CodeStream |
codeStream |
ConstantPool |
constantPool |
int |
constantPoolOffset |
byte[] |
contents |
int |
contentsOffset |
protected boolean |
creatingProblemType |
ClassFile |
enclosingClassFile |
java.util.List |
extraAttributes |
byte[] |
header |
int |
headerOffset |
static int |
INITIAL_CONTENTS_SIZE |
static int |
INITIAL_HEADER_SIZE |
static int |
INNER_CLASSES_SIZE |
java.util.Map<TypeBinding,java.lang.Boolean> |
innerClassesBindings |
boolean |
isNestedType |
int |
methodCount |
int |
methodCountOffset |
java.util.List |
missingTypes |
int |
produceAttributes |
SourceTypeBinding |
referenceBinding |
long |
targetJDK |
java.util.Set |
visitedTypes |
ANNOTATION, ANNOTATION_PREFIX, ANNOTATION_SUFFIX, ANONYM_PREFIX, ANONYM_SUFFIX, ANONYMOUS_METHOD, APACHE, APACHE_DBUTILS, APACHE_IOUTILS, ASSERT_CLASS, ASSERT_FALSE, ASSERT_NOTNULL, ASSERT_NULL, ASSERT_TRUE, AUTOWIRED, BEANS, BOOLEAN, BYTE, CAPTURE18, CHAR, CharArray_JAVA_IO_OBJECTINPUTSTREAM, CharArray_JAVA_IO_OBJECTOUTPUTSTREAM, CharArray_JAVA_IO_OBJECTSTREAMFIELD, CharArray_JAVA_LANG_ANNOTATION_ANNOTATION, CharArray_JAVA_LANG_ENUM, CharArray_JAVA_LANG_OBJECT, CHECK_ARGUMENT, CHECK_NOT_NULL, CHECK_STATE, CLINIT, CLONE, CLOSE, CLOSE_QUIETLY, closeMethods, COM, COM_GOOGLE_COMMON_BASE_PRECONDITIONS, COM_GOOGLE_INJECT_INJECT, COMMONS, COMPILER, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, CORE, DEFAULT_LOCATION__ARRAY_CONTENTS, DEFAULT_LOCATION__FIELD, DEFAULT_LOCATION__PARAMETER, DEFAULT_LOCATION__RETURN_TYPE, DEFAULT_LOCATION__TYPE_ARGUMENT, DEFAULT_LOCATION__TYPE_BOUND, DEFAULT_LOCATION__TYPE_PARAMETER, DESERIALIZE_LAMBDA, DOM, DOUBLE, ECLIPSE, EQUALS, FACTORY, FLOAT, FRAMEWORK, GETCLASS, GOOGLE, GUAVA_CLOSEABLES, HASHCODE, INIT, INJECT_PACKAGE, INJECT_TYPE, INT, INTERNAL, INVOKE, IO, IS_NOTNULL, IS_TRUE, ITYPEBINDING, JAVA, JAVA_IO, JAVA_IO_CLOSEABLE, JAVA_IO_EXTERNALIZABLE, JAVA_IO_IOEXCEPTION, JAVA_IO_OBJECTINPUTSTREAM, JAVA_IO_OBJECTOUTPUTSTREAM, JAVA_IO_OBJECTSTREAMEXCEPTION, JAVA_IO_PRINTSTREAM, JAVA_IO_RESOURCE_FREE_CLOSEABLES, JAVA_IO_SERIALIZABLE, JAVA_IO_WRAPPER_CLOSEABLES, JAVA_LANG, JAVA_LANG_ANNOTATION_ANNOTATION, JAVA_LANG_ANNOTATION_DOCUMENTED, JAVA_LANG_ANNOTATION_ELEMENTTYPE, JAVA_LANG_ANNOTATION_INHERITED, JAVA_LANG_ANNOTATION_REPEATABLE, JAVA_LANG_ANNOTATION_RETENTION, JAVA_LANG_ANNOTATION_RETENTIONPOLICY, JAVA_LANG_ANNOTATION_TARGET, JAVA_LANG_ASSERTIONERROR, JAVA_LANG_AUTOCLOSEABLE, JAVA_LANG_BOOLEAN, JAVA_LANG_BYTE, JAVA_LANG_CHARACTER, JAVA_LANG_CLASS, JAVA_LANG_CLASSNOTFOUNDEXCEPTION, JAVA_LANG_CLONEABLE, JAVA_LANG_DEPRECATED, JAVA_LANG_DOUBLE, JAVA_LANG_ENUM, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_FUNCTIONAL_INTERFACE, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_INVOKE_LAMBDAMETAFACTORY, JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLE_POLYMORPHICSIGNATURE, JAVA_LANG_INVOKE_METHODHANDLES, JAVA_LANG_INVOKE_SERIALIZEDLAMBDA, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_NOCLASSDEFERROR, JAVA_LANG_OBJECT, JAVA_LANG_OVERRIDE, JAVA_LANG_REFLECT_CONSTRUCTOR, JAVA_LANG_REFLECT_FIELD, JAVA_LANG_REFLECT_METHOD, JAVA_LANG_RUNTIMEEXCEPTION, JAVA_LANG_SAFEVARARGS, JAVA_LANG_SHORT, JAVA_LANG_STRING, JAVA_LANG_STRINGBUFFER, JAVA_LANG_STRINGBUILDER, JAVA_LANG_SUPPRESSWARNINGS, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, JAVA_NIO_FILE_FILES, JAVA_UTIL_COLLECTION, JAVA_UTIL_ITERATOR, JAVA_UTIL_OBJECTS, JAVA_UTIL_ZIP_WRAPPER_CLOSEABLES, JAVAX, JAVAX_ANNOTATION_INJECT_INJECT, JAVAX_RMI_CORBA_STUB, JDT, JUNIT, JUNIT_FRAMEWORK_ASSERT, LAMBDA_TYPE, LANG, LANG3, LENGTH, LONG, LOOKUP, MAIN, MISMATCH, NOT_NULL, NULL, OBJECT, OK, OPTIONAL, ORG, ORG_APACHE_COMMONS_LANG_VALIDATE, ORG_APACHE_COMMONS_LANG3_VALIDATE, ORG_ECLIPSE_CORE_RUNTIME_ASSERT, ORG_ECLIPSE_JDT_CORE_DOM_ITYPEBINDING, ORG_ECLIPSE_JDT_INTERNAL_COMPILER_LOOKUP_TYPEBINDING, ORG_JUNIT_ASSERT, ORG_SPRING_AUTOWIRED, OTHER_WRAPPER_CLOSEABLES, PACKAGE_INFO_NAME, READOBJECT, READRESOLVE, REFLECT, REQUIRE_NON_NULL, REQUIRED, RESOURCE_FREE_CLOSEABLE_STREAM, RUNTIME, SERIALPERSISTENTFIELDS, SERIALVERSIONUID, SHORT, SPRING, SYNTHETIC_ACCESS_METHOD_PREFIX, SYNTHETIC_ASSERT_DISABLED, SYNTHETIC_CLASS, SYNTHETIC_ENCLOSING_INSTANCE_PREFIX, SYNTHETIC_ENUM_CONSTANT_INITIALIZATION_METHOD_PREFIX, SYNTHETIC_ENUM_VALUES, SYNTHETIC_OUTER_LOCAL_PREFIX, SYNTHETIC_STATIC_FACTORY, SYNTHETIC_SWITCH_ENUM_TABLE, TYPE, TYPE_PARAMETER_TARGET, TYPE_USE_TARGET, TYPEBINDING, UNCHECKED, UPPER_ANNOTATION_TYPE, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALIDATE_CLASS, VALUE, VALUEOF, VALUES, VOID, WILDCARD_CAPTURE, WILDCARD_CAPTURE_NAME_PREFIX, WILDCARD_CAPTURE_NAME_SUFFIX, WILDCARD_CAPTURE_SIGNABLE_NAME_SUFFIX, WILDCARD_EXTENDS, WILDCARD_MINUS, WILDCARD_NAME, WILDCARD_PLUS, WILDCARD_STAR, WILDCARD_SUPER, WRITEOBJECT, WRITEREPLACE, ZIPBitAutoCloseable, BitCloseable, BitResourceFreeCloseable, BitUninitialized, BitUninternedType, BitWrapperCloseable, Boolean2Boolean, Boolean2Int, Boolean2String, BOXING, Byte2Byte, Byte2Char, Byte2Double, Byte2Float, Byte2Int, Byte2Long, Byte2Short, Byte2String, Char2Byte, Char2Char, Char2Double, Char2Float, Char2Int, Char2Long, Char2Short, Char2String, COMPILE_TYPE_MASK, Double2Byte, Double2Char, Double2Double, Double2Float, Double2Int, Double2Long, Double2Short, Double2String, Float2Byte, Float2Char, Float2Double, Float2Float, Float2Int, Float2Long, Float2Short, Float2String, IMPLICIT_CONVERSION_MASK, InheritableBits, Int2Byte, Int2Char, Int2Double, Int2Float, Int2Int, Int2Long, Int2Short, Int2String, Long2Byte, Long2Char, Long2Double, Long2Float, Long2Int, Long2Long, Long2Short, Long2String, NoId, Null2Null, Null2String, Object2boolean, Object2byte, Object2char, Object2double, Object2float, Object2int, Object2long, Object2Object, Object2short, Object2String, Short2Byte, Short2Char, Short2Double, Short2Float, Short2Int, Short2Long, Short2Short, Short2String, String2String, T_boolean, T_byte, T_char, T_ComGoogleCommonBasePreconditions, T_ComGoogleInjectInject, T_ConfiguredAnnotationNonNull, T_ConfiguredAnnotationNonNullByDefault, T_ConfiguredAnnotationNullable, T_double, T_float, T_int, T_JavaIoException, T_JavaIoExternalizable, T_JavaIoObjectStreamException, T_JavaIoPrintStream, T_JavaIoSerializable, T_JavaLangAnnotationAnnotation, T_JavaLangAnnotationDocumented, T_JavaLangAnnotationElementType, T_JavaLangAnnotationInherited, T_JavaLangAnnotationRepeatable, T_JavaLangAnnotationRetention, T_JavaLangAnnotationRetentionPolicy, T_JavaLangAnnotationTarget, T_JavaLangAssertionError, T_JavaLangAutoCloseable, T_JavaLangBoolean, T_JavaLangByte, T_JavaLangCharacter, T_JavaLangClass, T_JavaLangClassNotFoundException, T_JavaLangCloneable, T_JavaLangDeprecated, T_JavaLangDouble, T_JavaLangEnum, T_JavaLangError, T_JavaLangException, T_JavaLangFloat, T_JavaLangFunctionalInterface, T_JavaLangIllegalArgumentException, T_JavaLangInteger, T_JavaLangInvokeMethodHandlePolymorphicSignature, T_JavaLangIterable, T_JavaLangLong, T_JavaLangNoClassDefError, T_JavaLangObject, T_JavaLangOverride, T_JavaLangReflectConstructor, T_JavaLangReflectField, T_JavaLangReflectMethod, T_JavaLangRuntimeException, T_JavaLangSafeVarargs, T_JavaLangShort, T_JavaLangString, T_JavaLangStringBuffer, T_JavaLangStringBuilder, T_JavaLangSuppressWarnings, T_JavaLangSystem, T_JavaLangThrowable, T_JavaLangVoid, T_JavaUtilCollection, T_JavaUtilIterator, T_JavaUtilObjects, T_JavaxInjectInject, T_JunitFrameworkAssert, T_LastWellKnownTypeId, T_long, T_null, T_OrgApacheCommonsLang3Validate, T_OrgApacheCommonsLangValidate, T_OrgEclipseCoreRuntimeAssert, T_OrgJunitAssert, T_OrgSpringframeworkBeansFactoryAnnotationAutowired, T_short, T_undefined, T_void, UNBOXING| Modifier | Constructor and Description |
|---|---|
protected |
ClassFile()
INTERNAL USE-ONLY
This methods creates a new instance of the receiver.
|
|
ClassFile(SourceTypeBinding typeBinding) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAbstractMethod(AbstractMethodDeclaration method,
MethodBinding methodBinding)
INTERNAL USE-ONLY
Generate the byte for a problem method info that correspond to a bogus method.
|
void |
addAttributes()
INTERNAL USE-ONLY
This methods generate all the attributes for the receiver.
|
void |
addDefaultAbstractMethods()
INTERNAL USE-ONLY
This methods generate all the default abstract method infos that correpond to
the abstract methods inherited from superinterfaces.
|
void |
addFieldInfos()
INTERNAL USE-ONLY
This methods generate all the fields infos for the receiver.
|
void |
addProblemClinit(CategorizedProblem[] problems)
INTERNAL USE-ONLY
Generate the byte for a problem clinit method info that correspond to a boggus method.
|
void |
addProblemConstructor(AbstractMethodDeclaration method,
MethodBinding methodBinding,
CategorizedProblem[] problems)
INTERNAL USE-ONLY
Generate the byte for a problem method info that correspond to a boggus constructor.
|
void |
addProblemConstructor(AbstractMethodDeclaration method,
MethodBinding methodBinding,
CategorizedProblem[] problems,
int savedOffset)
INTERNAL USE-ONLY
Generate the byte for a problem method info that correspond to a boggus constructor.
|
void |
addProblemMethod(AbstractMethodDeclaration method,
MethodBinding methodBinding,
CategorizedProblem[] problems)
INTERNAL USE-ONLY
Generate the byte for a problem method info that correspond to a boggus method.
|
void |
addProblemMethod(AbstractMethodDeclaration method,
MethodBinding methodBinding,
CategorizedProblem[] problems,
int savedOffset)
INTERNAL USE-ONLY
Generate the byte for a problem method info that correspond to a boggus method.
|
void |
addSpecialMethods()
INTERNAL USE-ONLY
Generate the byte for all the special method infos.
|
void |
addSyntheticArrayClone(SyntheticMethodBinding methodBinding) |
void |
addSyntheticArrayConstructor(SyntheticMethodBinding methodBinding) |
void |
addSyntheticConstructorAccessMethod(SyntheticMethodBinding methodBinding)
INTERNAL USE-ONLY
Generate the bytes for a synthetic method that provides an access to a private constructor.
|
void |
addSyntheticDeserializeLambda(SyntheticMethodBinding methodBinding,
SyntheticMethodBinding[] syntheticMethodBindings) |
void |
addSyntheticEnumInitializationMethod(SyntheticMethodBinding methodBinding) |
void |
addSyntheticEnumValueOfMethod(SyntheticMethodBinding methodBinding)
INTERNAL USE-ONLY
Generate the bytes for a synthetic method that implements Enum#valueOf(String) for a given enum type
|
void |
addSyntheticEnumValuesMethod(SyntheticMethodBinding methodBinding)
INTERNAL USE-ONLY
Generate the bytes for a synthetic method that implements Enum#values() for a given enum type
|
void |
addSyntheticFactoryMethod(SyntheticMethodBinding methodBinding) |
void |
addSyntheticFieldReadAccessMethod(SyntheticMethodBinding methodBinding)
INTERNAL USE-ONLY
Generate the byte for a problem method info that correspond to a synthetic method that
generate an read access to a private field.
|
void |
addSyntheticFieldWriteAccessMethod(SyntheticMethodBinding methodBinding)
INTERNAL USE-ONLY
Generate the byte for a problem method info that correspond to a synthetic method that
generate an write access to a private field.
|
void |
addSyntheticMethodAccessMethod(SyntheticMethodBinding methodBinding)
INTERNAL USE-ONLY
Generate the bytes for a synthetic method that provides access to a private method.
|
void |
addSyntheticSwitchTable(SyntheticMethodBinding methodBinding) |
void |
completeCodeAttribute(int codeAttributeOffset)
INTERNAL USE-ONLY
That method completes the creation of the code attribute by setting
- the attribute_length
- max_stack
- max_locals
- code_length
- exception table
- and debug attributes if necessary.
|
void |
completeCodeAttributeForClinit(int codeAttributeOffset)
INTERNAL USE-ONLY
That method completes the creation of the code attribute by setting
- the attribute_length
- max_stack
- max_locals
- code_length
- exception table
- and debug attributes if necessary.
|
void |
completeCodeAttributeForClinit(int codeAttributeOffset,
int problemLine)
INTERNAL USE-ONLY
That method completes the creation of the code attribute by setting
- the attribute_length
- max_stack
- max_locals
- code_length
- exception table
- and debug attributes if necessary.
|
void |
completeCodeAttributeForMissingAbstractProblemMethod(MethodBinding binding,
int codeAttributeOffset,
int[] startLineIndexes,
int problemLine) |
void |
completeCodeAttributeForProblemMethod(AbstractMethodDeclaration method,
MethodBinding binding,
int codeAttributeOffset,
int[] startLineIndexes,
int problemLine)
INTERNAL USE-ONLY
That method completes the creation of the code attribute by setting
- the attribute_length
- max_stack
- max_locals
- code_length
- exception table
- and debug attributes if necessary.
|
void |
completeCodeAttributeForSyntheticMethod(boolean hasExceptionHandlers,
SyntheticMethodBinding binding,
int codeAttributeOffset,
int[] startLineIndexes)
INTERNAL USE-ONLY
That method completes the creation of the code attribute by setting
- the attribute_length
- max_stack
- max_locals
- code_length
- exception table
- and debug attributes if necessary.
|
void |
completeCodeAttributeForSyntheticMethod(SyntheticMethodBinding binding,
int codeAttributeOffset,
int[] startLineIndexes)
INTERNAL USE-ONLY
That method completes the creation of the code attribute by setting
- the attribute_length
- max_stack
- max_locals
- code_length
- exception table
- and debug attributes if necessary.
|
void |
completeMethodInfo(MethodBinding binding,
int methodAttributeOffset,
int attributesNumber)
INTERNAL USE-ONLY
Complete the creation of a method info by setting up the number of attributes at the right offset.
|
static void |
createProblemType(TypeDeclaration typeDeclaration,
CompilationResult unitResult)
INTERNAL USE-ONLY
Request the creation of a ClassFile compatible representation of a problematic type
|
char[] |
fileName()
INTERNAL USE-ONLY
This methods returns a char[] representing the file name of the receiver
|
void |
generateCodeAttributeHeader()
INTERNAL USE-ONLY
That method generates the header of a code attribute.
|
int |
generateMethodInfoAttributes(MethodBinding methodBinding) |
int |
generateMethodInfoAttributes(MethodBinding methodBinding,
AnnotationMethodDeclaration declaration) |
int |
generateMethodInfoAttributes(MethodBinding methodBinding,
java.util.List extraAttributes)
INTERNAL USE-ONLY
That method generates the attributes of a code attribute.
|
void |
generateMethodInfoHeader(MethodBinding methodBinding)
INTERNAL USE-ONLY
That method generates the header of a method info:
The header consists in:
- the access flags
- the name index of the method name inside the constant pool
- the descriptor index of the signature of the method inside the constant pool.
|
void |
generateMethodInfoHeader(MethodBinding methodBinding,
int accessFlags)
INTERNAL USE-ONLY
That method generates the header of a method info:
The header consists in:
- the access flags
- the name index of the method name inside the constant pool
- the descriptor index of the signature of the method inside the constant pool.
|
void |
generateMethodInfoHeaderForClinit()
INTERNAL USE-ONLY
That method generates the method info header of a clinit:
The header consists in:
- the access flags (always default access + static)
- the name index of the method name (always
|
void |
generateMissingAbstractMethods(MethodDeclaration[] methodDeclarations,
CompilationResult compilationResult)
INTERNAL USE-ONLY
Generate the byte for problem method infos that correspond to missing abstract methods.
|
int |
generateTypeAnnotationsOnCodeAttribute() |
byte[] |
getBytes()
EXTERNAL API
Answer the actual bytes of the class file
This method encodes the receiver structure into a byte array which is the content of the classfile.
|
char[][] |
getCompoundName()
EXTERNAL API
Answer the compound name of the class file.
|
static ClassFile |
getNewInstance(SourceTypeBinding typeBinding) |
protected void |
initByteArrays() |
void |
initialize(SourceTypeBinding aType,
ClassFile parentClassFile,
boolean createProblemType) |
ClassFile |
outerMostEnclosingClassFile()
INTERNAL USE-ONLY
Returns the most enclosing classfile of the receiver.
|
int |
recordBootstrapMethod(FunctionalExpression expression) |
void |
recordInnerClasses(TypeBinding binding) |
void |
recordInnerClasses(TypeBinding binding,
boolean onBottomForBug445231) |
void |
reset(SourceTypeBinding typeBinding) |
void |
setForMethodInfos()
INTERNAL USE-ONLY
This methods leaves the space for method counts recording.
|
java.util.List |
traverse(MethodBinding methodBinding,
int maxLocals,
byte[] bytecodes,
int codeOffset,
int codeLength,
java.util.Map frames,
boolean isClinit) |
char[] |
utf8At(byte[] reference,
int absoluteOffset,
int bytesAvailable) |
public CodeStream codeStream
public ConstantPool constantPool
public int constantPoolOffset
public byte[] contents
public int contentsOffset
protected boolean creatingProblemType
public ClassFile enclosingClassFile
public byte[] header
public int headerOffset
public java.util.Map<TypeBinding,java.lang.Boolean> innerClassesBindings
public java.util.List bootstrapMethods
public int methodCount
public int methodCountOffset
public int produceAttributes
public SourceTypeBinding referenceBinding
public boolean isNestedType
public long targetJDK
public java.util.List missingTypes
public java.util.Set visitedTypes
public static final int INITIAL_CONTENTS_SIZE
public static final int INITIAL_HEADER_SIZE
public static final int INNER_CLASSES_SIZE
public java.util.List extraAttributes
protected ClassFile()
public ClassFile(SourceTypeBinding typeBinding)
public static void createProblemType(TypeDeclaration typeDeclaration, CompilationResult unitResult)
typeDeclaration - org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeDeclarationunitResult - org.aspectj.org.eclipse.jdt.internal.compiler.CompilationUnitResultpublic static ClassFile getNewInstance(SourceTypeBinding typeBinding)
public void addAbstractMethod(AbstractMethodDeclaration method, MethodBinding methodBinding)
method - org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclarationmethodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.MethodBindingpublic void addAttributes()
public void addDefaultAbstractMethods()
public void addFieldInfos()
public void addProblemClinit(CategorizedProblem[] problems)
problems - org.aspectj.org.eclipse.jdt.internal.compiler.problem.Problem[]public void addProblemConstructor(AbstractMethodDeclaration method, MethodBinding methodBinding, CategorizedProblem[] problems)
method - org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclarationmethodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.MethodBindingproblems - org.aspectj.org.eclipse.jdt.internal.compiler.problem.Problem[]public void addProblemConstructor(AbstractMethodDeclaration method, MethodBinding methodBinding, CategorizedProblem[] problems, int savedOffset)
method - org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclarationmethodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.MethodBindingproblems - org.aspectj.org.eclipse.jdt.internal.compiler.problem.Problem[]savedOffset - intpublic void addProblemMethod(AbstractMethodDeclaration method, MethodBinding methodBinding, CategorizedProblem[] problems)
method - org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclarationmethodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.MethodBindingproblems - org.aspectj.org.eclipse.jdt.internal.compiler.problem.Problem[]public void addProblemMethod(AbstractMethodDeclaration method, MethodBinding methodBinding, CategorizedProblem[] problems, int savedOffset)
method - org.aspectj.org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclarationmethodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.MethodBindingproblems - org.aspectj.org.eclipse.jdt.internal.compiler.problem.Problem[]savedOffset - intpublic void addSpecialMethods()
public void addSyntheticArrayConstructor(SyntheticMethodBinding methodBinding)
public void addSyntheticArrayClone(SyntheticMethodBinding methodBinding)
public void addSyntheticFactoryMethod(SyntheticMethodBinding methodBinding)
public void addSyntheticConstructorAccessMethod(SyntheticMethodBinding methodBinding)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.SyntheticAccessMethodBindingpublic void addSyntheticEnumValueOfMethod(SyntheticMethodBinding methodBinding)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.SyntheticAccessMethodBindingpublic void addSyntheticEnumValuesMethod(SyntheticMethodBinding methodBinding)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.SyntheticAccessMethodBindingpublic void addSyntheticEnumInitializationMethod(SyntheticMethodBinding methodBinding)
public void addSyntheticFieldReadAccessMethod(SyntheticMethodBinding methodBinding)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.SyntheticAccessMethodBindingpublic void addSyntheticFieldWriteAccessMethod(SyntheticMethodBinding methodBinding)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.SyntheticAccessMethodBindingpublic void addSyntheticMethodAccessMethod(SyntheticMethodBinding methodBinding)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.nameloopkup.SyntheticAccessMethodBindingpublic void addSyntheticSwitchTable(SyntheticMethodBinding methodBinding)
public void completeCodeAttribute(int codeAttributeOffset)
codeAttributeOffset - intpublic int generateTypeAnnotationsOnCodeAttribute()
public void completeCodeAttributeForClinit(int codeAttributeOffset)
codeAttributeOffset - intpublic void completeCodeAttributeForClinit(int codeAttributeOffset,
int problemLine)
public void completeCodeAttributeForMissingAbstractProblemMethod(MethodBinding binding, int codeAttributeOffset, int[] startLineIndexes, int problemLine)
public void completeCodeAttributeForProblemMethod(AbstractMethodDeclaration method, MethodBinding binding, int codeAttributeOffset, int[] startLineIndexes, int problemLine)
codeAttributeOffset - intpublic void completeCodeAttributeForSyntheticMethod(boolean hasExceptionHandlers,
SyntheticMethodBinding binding,
int codeAttributeOffset,
int[] startLineIndexes)
binding - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBindingcodeAttributeOffset - intpublic void completeCodeAttributeForSyntheticMethod(SyntheticMethodBinding binding, int codeAttributeOffset, int[] startLineIndexes)
binding - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.SyntheticAccessMethodBindingcodeAttributeOffset - intpublic void completeMethodInfo(MethodBinding binding, int methodAttributeOffset, int attributesNumber)
methodAttributeOffset - intattributesNumber - intpublic char[] fileName()
public void generateCodeAttributeHeader()
public int generateMethodInfoAttributes(MethodBinding methodBinding, java.util.List extraAttributes)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBindingintpublic int generateMethodInfoAttributes(MethodBinding methodBinding)
public int generateMethodInfoAttributes(MethodBinding methodBinding, AnnotationMethodDeclaration declaration)
public void generateMethodInfoHeader(MethodBinding methodBinding)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBindingpublic void generateMethodInfoHeader(MethodBinding methodBinding, int accessFlags)
methodBinding - org.aspectj.org.eclipse.jdt.internal.compiler.lookup.MethodBindingaccessFlags - the access flagspublic void addSyntheticDeserializeLambda(SyntheticMethodBinding methodBinding, SyntheticMethodBinding[] syntheticMethodBindings)
public void generateMethodInfoHeaderForClinit()
public void generateMissingAbstractMethods(MethodDeclaration[] methodDeclarations, CompilationResult compilationResult)
methodDeclarations - Array of all missing abstract methodspublic byte[] getBytes()
public char[][] getCompoundName()
protected void initByteArrays()
public void initialize(SourceTypeBinding aType, ClassFile parentClassFile, boolean createProblemType)
public ClassFile outerMostEnclosingClassFile()
public void recordInnerClasses(TypeBinding binding)
public void recordInnerClasses(TypeBinding binding, boolean onBottomForBug445231)
public int recordBootstrapMethod(FunctionalExpression expression)
public void reset(SourceTypeBinding typeBinding)
public void setForMethodInfos()
public java.util.List traverse(MethodBinding methodBinding, int maxLocals, byte[] bytecodes, int codeOffset, int codeLength, java.util.Map frames, boolean isClinit)
public char[] utf8At(byte[] reference,
int absoluteOffset,
int bytesAvailable)