Module org.eclipse.persistence.asm
Class ModuleResolutionAttribute
- java.lang.Object
-
- org.eclipse.persistence.internal.libraries.asm.Attribute
-
- org.eclipse.persistence.internal.libraries.asm.commons.ModuleResolutionAttribute
-
public final class ModuleResolutionAttribute extends Attribute
A ModuleResolution attribute. This attribute is specific to the OpenJDK and may change in the future.- Author:
- Remi Forax
-
-
Field Summary
Fields Modifier and Type Field Description intresolutionThe resolution state of the module.static intRESOLUTION_DO_NOT_RESOLVE_BY_DEFAULTThe resolution state of a module meaning that the module is not available from the class-path by default.static intRESOLUTION_WARN_DEPRECATEDThe resolution state of a module meaning the module is marked as deprecated.static intRESOLUTION_WARN_DEPRECATED_FOR_REMOVALThe resolution state of a module meaning the module is marked as deprecated and will be removed in a future release.static intRESOLUTION_WARN_INCUBATINGThe resolution state of a module meaning the module is not yet standardized, so in incubating mode.
-
Constructor Summary
Constructors Constructor Description ModuleResolutionAttribute()Constructs an emptyModuleResolutionAttribute.ModuleResolutionAttribute(int resolution)Constructs a newModuleResolutionAttribute.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Attributeread(ClassReader classReader, int offset, int length, char[] charBuffer, int codeOffset, Label[] labels)Reads aAttribute.typeattribute.protected ByteVectorwrite(ClassWriter classWriter, byte[] code, int codeLength, int maxStack, int maxLocals)Returns the byte array form of the content of this attribute.-
Methods inherited from class org.eclipse.persistence.internal.libraries.asm.Attribute
getLabels, isCodeAttribute, isUnknown
-
-
-
-
Field Detail
-
RESOLUTION_DO_NOT_RESOLVE_BY_DEFAULT
public static final int RESOLUTION_DO_NOT_RESOLVE_BY_DEFAULT
The resolution state of a module meaning that the module is not available from the class-path by default.- See Also:
- Constant Field Values
-
RESOLUTION_WARN_DEPRECATED
public static final int RESOLUTION_WARN_DEPRECATED
The resolution state of a module meaning the module is marked as deprecated.- See Also:
- Constant Field Values
-
RESOLUTION_WARN_DEPRECATED_FOR_REMOVAL
public static final int RESOLUTION_WARN_DEPRECATED_FOR_REMOVAL
The resolution state of a module meaning the module is marked as deprecated and will be removed in a future release.- See Also:
- Constant Field Values
-
RESOLUTION_WARN_INCUBATING
public static final int RESOLUTION_WARN_INCUBATING
The resolution state of a module meaning the module is not yet standardized, so in incubating mode.- See Also:
- Constant Field Values
-
resolution
public int resolution
The resolution state of the module. Must be one ofRESOLUTION_WARN_DEPRECATED,RESOLUTION_WARN_DEPRECATED_FOR_REMOVAL, andRESOLUTION_WARN_INCUBATING.
-
-
Constructor Detail
-
ModuleResolutionAttribute
public ModuleResolutionAttribute(int resolution)
Constructs a newModuleResolutionAttribute.- Parameters:
resolution- the resolution state of the module. Must be one ofRESOLUTION_WARN_DEPRECATED,RESOLUTION_WARN_DEPRECATED_FOR_REMOVAL, andRESOLUTION_WARN_INCUBATING.
-
ModuleResolutionAttribute
public ModuleResolutionAttribute()
Constructs an emptyModuleResolutionAttribute. This object can be passed as a prototype to theClassReader.accept(org.eclipse.persistence.internal.libraries.asm.ClassVisitor, Attribute[], int)method.
-
-
Method Detail
-
read
protected Attribute read(ClassReader classReader, int offset, int length, char[] charBuffer, int codeOffset, Label[] labels)
Description copied from class:AttributeReads aAttribute.typeattribute. This method must return a newAttributeobject, of typeAttribute.type, corresponding to the 'length' bytes starting at 'offset', in the given ClassReader.- Overrides:
readin classAttribute- Parameters:
classReader- the class that contains the attribute to be read.offset- index of the first byte of the attribute's content inClassReader. The 6 attribute header bytes (attribute_name_index and attribute_length) are not taken into account here.length- the length of the attribute's content (excluding the 6 attribute header bytes).charBuffer- the buffer to be used to call the ClassReader methods requiring a 'charBuffer' parameter.codeOffset- index of the first byte of content of the enclosing Code attribute inClassReader, or -1 if the attribute to be read is not a Code attribute. The 6 attribute header bytes (attribute_name_index and attribute_length) are not taken into account here.labels- the labels of the method's code, or null if the attribute to be read is not a Code attribute.- Returns:
- a new
Attributeobject corresponding to the specified bytes.
-
write
protected ByteVector write(ClassWriter classWriter, byte[] code, int codeLength, int maxStack, int maxLocals)
Description copied from class:AttributeReturns the byte array form of the content of this attribute. The 6 header bytes (attribute_name_index and attribute_length) must not be added in the returned ByteVector.- Overrides:
writein classAttribute- Parameters:
classWriter- the class to which this attribute must be added. This parameter can be used to add the items that corresponds to this attribute to the constant pool of this class.code- the bytecode of the method corresponding to this Code attribute, or null if this attribute is not a Code attribute. Corresponds to the 'code' field of the Code attribute.codeLength- the length of the bytecode of the method corresponding to this code attribute, or 0 if this attribute is not a Code attribute. Corresponds to the 'code_length' field of the Code attribute.maxStack- the maximum stack size of the method corresponding to this Code attribute, or -1 if this attribute is not a Code attribute.maxLocals- the maximum number of local variables of the method corresponding to this code attribute, or -1 if this attribute is not a Code attribute.- Returns:
- the byte array form of this attribute.
-
-