Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Jamie Mansfield
asm
Commits
573452d9
Commit
573452d9
authored
Nov 26, 2017
by
Eric Bruneton
Browse files
Add a task to check the Javadoc on private members and fix the Javadoc errors found with it.
parent
f5de3148
Changes
19
Expand all
Hide whitespace changes
Inline
Side-by-side
asm-commons/src/main/java/org/objectweb/asm/commons/GeneratorAdapter.java
View file @
573452d9
...
...
@@ -1168,6 +1168,7 @@ public class GeneratorAdapter extends LocalVariablesSorter {
* @param opcode the instruction's opcode.
* @param type the class in which the method is defined.
* @param method the method to be invoked.
* @param itf whether the 'type' class is an interface or not.
*/
private
void
invokeInsn
(
final
int
opcode
,
final
Type
type
,
final
Method
method
,
final
boolean
itf
)
{
...
...
asm-commons/src/main/java/org/objectweb/asm/commons/JSRInlinerAdapter.java
View file @
573452d9
...
...
@@ -382,6 +382,8 @@ public class JSRInlinerAdapter extends MethodNode implements Opcodes {
* @param newInstructions the instruction list to which the instantiated code must be appended.
* @param newTryCatchBlocks the exception handler list to which the instantiated handlers must be
* appended.
* @param newLocalVariables the local variables list to which the instantiated local variables
* must be appended.
*/
private
void
emitSubroutine
(
final
Instantiation
instant
,
...
...
asm-test/src/main/java/org/objectweb/asm/test/ClassDump.java
View file @
573452d9
This diff is collapsed.
Click to expand it.
asm-util/src/main/java/org/objectweb/asm/util/CheckClassAdapter.java
View file @
573452d9
...
...
@@ -950,6 +950,7 @@ public class CheckClassAdapter extends ClassVisitor {
/**
* Checks a single character.
*
* @param c a character.
* @param signature a string containing the signature that must be checked.
* @param pos index of first character to be checked.
* @return the index of the first character after the checked part.
...
...
asm-xml/src/main/java/org/objectweb/asm/xml/Processor.java
View file @
573452d9
...
...
@@ -470,8 +470,8 @@ public class Processor {
}
/**
* A {@link ContentHandlerFactory
ContentHandlerFactory} is used to
cre
a
te
{@link
*
org.xml.sax.ContentHandler ContentHandler} instances for concrete
context.
* A {@link ContentHandlerFactory
} is used to create {@link ContentHandler} instances for con
crete
* context.
*/
private
static
interface
ContentHandlerFactory
{
...
...
@@ -564,19 +564,11 @@ public class Processor {
}
/**
* A {@link
org.xml.sax.ContentHandler ContentHandler} and {@link org.xml.sax.ext.LexicalHandler
*
LexicalHandler} that serializes XML from SAX 2.0 events into {@link java.io.Writer
Writer}.
* A {@link
ContentHandler} and {@link LexicalHandler } that serializes XML from SAX 2.0 events
*
into {@link
Writer}.
*
* <p><i>
*
* <blockquote>
*
* This implementation does not support namespaces, entity definitions (uncluding DTD), CDATA and
* text elements.
*
* </blockquote>
*
* </i>
* <p><i>This implementation does not support namespaces, entity definitions (uncluding DTD),
* CDATA and </i>
*/
private
static
final
class
SAXWriter
extends
DefaultHandler
implements
LexicalHandler
{
private
static
final
char
[]
OFF
=
...
...
@@ -756,11 +748,9 @@ public class Processor {
}
/**
* A {@link org.xml.sax.ContentHandler ContentHandler} that splits XML documents into smaller
* chunks. Each chunk is processed by the nested {@link org.xml.sax.ContentHandler ContentHandler}
* obtained from {@link java.net.ContentHandlerFactory ContentHandlerFactory}. This is useful for
* running XSLT engine against large XML document that will hardly fit into the memory all
* together.
* A {@link ContentHandler} that splits XML documents into smaller chunks. Each chunk is processed
* by the nested {@link ContentHandler}. This is useful for running XSLT engine against large XML
* document that will hardly fit into the memory all together.
*
* <p>TODO use complete path for subdocumentRoot
*/
...
...
@@ -776,12 +766,12 @@ public class Processor {
private
ContentHandler
subdocumentHandler
;
/**
* Constructs a new {@link InputSlicingHandler
SubdocumentHandler
} object.
* Constructs a new {@link InputSlicingHandler} object.
*
* @param subdocumentRoot name/path to the root element of the subdocument
* @param rootHandler content handler for the entire document (subdocument envelope).
* @param subdocumentHandlerFactory a {@link ContentHandlerFactory
ContentHandlerFactory} used
*
to create {@link ContentHandler
ContentHandler} instances for subdocuments.
* @param subdocumentHandlerFactory a {@link ContentHandlerFactory
} used to create {@link
* ContentHandler} instances for subdocuments.
*/
InputSlicingHandler
(
final
String
subdocumentRoot
,
...
...
@@ -851,11 +841,10 @@ public class Processor {
}
/**
* A {@link org.xml.sax.ContentHandler ContentHandler} that splits XML documents into smaller
* chunks. Each chunk is processed by the nested {@link org.xml.sax.ContentHandler ContentHandler}
* obtained from {@link java.net.ContentHandlerFactory ContentHandlerFactory}. This is useful for
* running XSLT engine against large XML document that will hardly fit into the memory all
* together.
* A {@link ContentHandler} that splits XML documents into smaller chunks. Each chunk is processed
* by the nested {@link ContentHandler} obtained from {@link ContentHandlerFactory}. This is
* useful for running XSLT engine against large XML document that will hardly fit into the memory
* all together.
*
* <p>TODO use complete path for subdocumentRoot
*/
...
...
@@ -873,10 +862,10 @@ public class Processor {
private
ContentHandler
subdocumentHandler
;
/**
* Constructs a new {@link OutputSlicingHandler
SubdocumentHandler
} object.
* Constructs a new {@link OutputSlicingHandler} object.
*
* @param subdocumentHandlerFactory a {@link ContentHandlerFactory
ContentHandlerFactory} used
*
to create {@link ContentHandler
ContentHandler} instances for subdocuments.
* @param subdocumentHandlerFactory a {@link ContentHandlerFactory
} used to create {@link
* ContentHandler} instances for subdocuments.
* @param entryElement TODO.
* @param isXml TODO.
*/
...
...
asm/src/main/java/org/objectweb/asm/AnnotationWriter.java
View file @
573452d9
...
...
@@ -31,12 +31,12 @@ package org.objectweb.asm;
* An {@link AnnotationVisitor} that generates a corresponding 'annotation' or 'type_annotation'
* structure, as defined in the Java Virtual Machine Specification (JVMS). AnnotationWriter
* instances can be chained in a doubly linked list, from which Runtime[In]Visible[Type]Annotations
* attributes can be generated with the {@link #putAnnotations
()
} method. Similarly, arrays of such
* attributes can be generated with the {@link #putAnnotations} method. Similarly, arrays of such
* lists can be used to generate Runtime[In]VisibleParameterAnnotations attributes.
*
* @see <a href="https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.16">JVMS
* 4.7.16</a>
* @see <a href="https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.20>JVMS
* @see <a href="https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.20
"
>JVMS
* 4.7.20</a>
* @author Eric Bruneton
* @author Eugene Kuleshov
...
...
asm/src/main/java/org/objectweb/asm/ByteVector.java
View file @
573452d9
...
...
@@ -55,7 +55,11 @@ public class ByteVector {
data
=
new
byte
[
initialCapacity
];
}
/** Constructs a new {@link ByteVector} from the given initial data. */
/**
* Constructs a new {@link ByteVector} from the given initial data.
*
* @param data the initial data of the new byte vector.
*/
ByteVector
(
final
byte
[]
data
)
{
this
.
data
=
data
;
this
.
length
=
data
.
length
;
...
...
@@ -269,7 +273,7 @@ public class ByteVector {
/**
* Puts an UTF8 string into this byte vector. The byte vector is automatically enlarged if
* necessary. The string length is encoded in two bytes before the encoded characters, if there is
* space for that (i.e. if this.length - offset - 2
>
= 0).
* space for that (i.e. if this.length - offset - 2
>
= 0).
*
* @param stringValue the String to encode.
* @param offset the index of the first character to encode. The previous characters are supposed
...
...
asm/src/main/java/org/objectweb/asm/ClassReader.java
View file @
573452d9
...
...
@@ -918,7 +918,7 @@ public class ClassReader {
* @param context information about the class being parsed.
* @param moduleOffset the offset of the Module attribute (excluding the attribute_info's
* attribute_name_index and attribute_length fields).
* @param modulePackages the offset of the ModulePackages attribute (excluding the
* @param modulePackages
Offset
the offset of the ModulePackages attribute (excluding the
* attribute_info's attribute_name_index and attribute_length fields), or 0.
* @param moduleMainClass the string corresponding to the ModuleMainClass attribute, or null.
*/
...
...
asm/src/main/java/org/objectweb/asm/Context.java
View file @
573452d9
...
...
@@ -33,7 +33,7 @@ package org.objectweb.asm;
*
* @author Eric Bruneton
*/
class
Context
{
final
class
Context
{
/** Prototypes of the attributes that must be parsed in this class. */
Attribute
[]
attributePrototypes
;
...
...
@@ -105,8 +105,8 @@ class Context {
int
currentFrameOffset
;
/**
* The type of the current stack map frame. One of {@link Opcodes
.
F_FULL}, {@link
* Opcodes
.
F_APPEND}, {@link Opcodes
.
F_CHOP}, {@link Opcodes
.
F_SAME} or {@link Opcodes
.
F_SAME1}.
* The type of the current stack map frame. One of {@link Opcodes
#
F_FULL}, {@link
* Opcodes
#
F_APPEND}, {@link Opcodes
#
F_CHOP}, {@link Opcodes
#
F_SAME} or {@link Opcodes
#
F_SAME1}.
*/
int
currentFrameType
;
...
...
@@ -126,7 +126,7 @@ class Context {
/**
* The types of the local variables in the current stack map frame. Each type is represented with
* a single array element (even long and double), using the format described in {@link
* MethodVisitor#visitFrame
()
}. Depending on {@link #currentFrameType}, this contains the types of
* MethodVisitor#visitFrame}. Depending on {@link #currentFrameType}, this contains the types of
* all the local variables, or only those of the additional ones (compared to the previous frame).
*/
Object
[]
currentFrameLocalTypes
;
...
...
@@ -140,7 +140,7 @@ class Context {
/**
* The types of the stack elements in the current stack map frame. Each type is represented with a
* single array element (even long and double), using the format described in {@link
* MethodVisitor#visitFrame
()
}.
* MethodVisitor#visitFrame}.
*/
Object
[]
currentFrameStackTypes
;
}
asm/src/main/java/org/objectweb/asm/CurrentFrame.java
View file @
573452d9
...
...
@@ -34,7 +34,7 @@ package org.objectweb.asm;
*
* @author Eric Bruneton
*/
class
CurrentFrame
extends
Frame
{
final
class
CurrentFrame
extends
Frame
{
CurrentFrame
(
Label
owner
)
{
super
(
owner
);
...
...
asm/src/main/java/org/objectweb/asm/Edge.java
View file @
573452d9
...
...
@@ -75,7 +75,13 @@ final class Edge {
*/
Edge
nextEdge
;
/** Creates a new Edge. */
/**
* Creates a new Edge.
*
* @param info see {@link #info}.
* @param successor see {@link #successor}.
* @param nextEdge see {@link #nextEdge}.
*/
Edge
(
final
int
info
,
final
Label
successor
,
final
Edge
nextEdge
)
{
this
.
info
=
info
;
this
.
successor
=
successor
;
...
...
asm/src/main/java/org/objectweb/asm/Label.java
View file @
573452d9
...
...
@@ -127,9 +127,9 @@ public class Label {
* byte of the forward reference itself. In fact the sign of the first integer indicates if this
* reference uses 2 or 4 bytes, and its absolute value gives the position of the bytecode
* instruction. This array is also used as a bitset to store the subroutines to which a basic
* block belongs. This information is needed in {@link
ed
MethodWriter#visitMaxs}, after all
*
forward
references have been resolved. Hence the same array can be used for both purposes
*
without
problems.
* block belongs. This information is needed in {@link MethodWriter#visitMaxs}, after all
forward
* references have been resolved. Hence the same array can be used for both purposes
without
* problems.
*/
private
int
[]
srcAndRefPositions
;
...
...
asm/src/main/java/org/objectweb/asm/ModuleVisitor.java
View file @
573452d9
...
...
@@ -34,6 +34,7 @@ package org.objectweb.asm;
* <tt>visitEnd</tt>.
*
* @author Remi Forax
* @author Eric Bruneton
*/
public
abstract
class
ModuleVisitor
{
/**
...
...
asm/src/main/java/org/objectweb/asm/ModuleWriter.java
View file @
573452d9
...
...
@@ -38,6 +38,7 @@ package org.objectweb.asm;
* @see <a href="https://docs.oracle.com/javase/specs/jvms/se9/html/jvms-4.html#jvms-4.7.27">JVMS
* 4.7.27</a>
* @author Remi Forax
* @author Eric Bruneton
*/
final
class
ModuleWriter
extends
ModuleVisitor
{
/** Where the constants used in this AnnotationWriter must be stored. */
...
...
asm/src/main/java/org/objectweb/asm/Symbol.java
View file @
573452d9
...
...
@@ -99,7 +99,9 @@ abstract class Symbol {
/** The tag value of a normal type entry in the (ASM specific) type table of a class. */
static
final
int
TYPE_TAG
=
128
;
/** The tag value of an {@link Frame#UNINITIALIZED} type entry in the type table of a class. */
/**
* The tag value of an {@link Frame#ITEM_UNINITIALIZED} type entry in the type table of a class.
*/
static
final
int
UNINITIALIZED_TYPE_TAG
=
129
;
/** The tag value of a merged type entry in the (ASM specific) type table of a class. */
...
...
@@ -162,9 +164,9 @@ abstract class Symbol {
* <li>the CONSTANT_InvokeDynamic_info bootstrap_method_attr_index field value for {@link
* #CONSTANT_INVOKE_DYNAMIC_TAG} symbols,
* <li>the offset of a bootstrap method in the BootstrapMethods boostrap_methods array, for
* {@link #BOOTSTRAP_METHOD
S
_TAG} symbols,
* <li>the bytecode offset of the NEW instruction that created an {@link
Frame#UNINITIALIZED}
* type for {@link #UNINITIALIZED_TYPE_TAG} symbols,
* {@link #BOOTSTRAP_METHOD_TAG} symbols,
* <li>the bytecode offset of the NEW instruction that created an {@link
*
Frame#ITEM_UNINITIALIZED}
type for {@link #UNINITIALIZED_TYPE_TAG} symbols,
* <li>the indices (in the class' type table) of two {@link #TYPE_TAG} source types for {@link
* #MERGED_TYPE_TAG} symbols,
* <li>0 for the other types of symbol.
...
...
@@ -223,7 +225,6 @@ abstract class Symbol {
* {@link #info} for efficiency). This should only be used for {@link
* #CONSTANT_METHODREF_TAG}, {@link #CONSTANT_INTERFACE_METHODREF_TAG} and {@link
* #CONSTANT_INVOKE_DYNAMIC_TAG} symbols.
* @return
*/
int
getArgumentsAndReturnSizes
()
{
if
(
info
==
0
)
{
...
...
asm/src/main/java/org/objectweb/asm/SymbolTable.java
View file @
573452d9
...
...
@@ -329,7 +329,7 @@ final class SymbolTable {
* class name to the constant pool.
*
* @param majorVersion a major ClassFile version number.
* @param
n
ame an internal class name
* @param
classN
ame an internal class name
.
* @return the constant pool index of a new or already existing Symbol with the given class name.
*/
int
setMajorVersionAndClassName
(
int
majorVersion
,
String
className
)
{
...
...
@@ -394,6 +394,7 @@ final class SymbolTable {
// -----------------------------------------------------------------------------------------------
/**
* @param hashCode a {@link Entry#hashCode} value.
* @return the list of entries which can potentially have the given hash code. The list is stored
* via the {@link Entry#next} field.
*/
...
...
@@ -543,8 +544,8 @@ final class SymbolTable {
* the constant pool of this symbol table. Does nothing if the constant pool already contains a
* similar item.
*
* @param tag one of {@link #CONSTANT_FIELDREF_TAG}, {@link #CONSTANT_METHODREF_TAG}
or {@link
* #CONSTANT_INTERFACE_METHODREF_TAG}.
* @param tag one of {@link
Symbol
#CONSTANT_FIELDREF_TAG}, {@link
Symbol
#CONSTANT_METHODREF_TAG}
*
or {@link Symbol
#CONSTANT_INTERFACE_METHODREF_TAG}.
* @param owner the internal name of a class.
* @param name a field or method name.
* @param descriptor a field or method descriptor.
...
...
@@ -574,12 +575,11 @@ final class SymbolTable {
* to the constant pool of this symbol table.
*
* @param index the constant pool index of the new Symbol.
* @param tag one of {@link #CONSTANT_FIELDREF_TAG}, {@link #CONSTANT_METHODREF_TAG}
or {@link
* #CONSTANT_INTERFACE_METHODREF_TAG}.
* @param tag one of {@link
Symbol
#CONSTANT_FIELDREF_TAG}, {@link
Symbol
#CONSTANT_METHODREF_TAG}
*
or {@link Symbol
#CONSTANT_INTERFACE_METHODREF_TAG}.
* @param owner the internal name of a class.
* @param name a field or method name.
* @param descriptor a field or method descriptor.
* @return a new Symbol with the given value.
*/
private
void
addConstantMemberReference
(
final
int
index
,
...
...
@@ -627,7 +627,7 @@ final class SymbolTable {
* Adds a CONSTANT_Integer_info or CONSTANT_Float_info to the constant pool of this symbol table.
* Does nothing if the constant pool already contains a similar item.
*
* @param tag one of {@link #CONSTANT_INTEGER_TAG} or {@link #CONSTANT_FLOAT_TAG}.
* @param tag one of {@link
Symbol
#CONSTANT_INTEGER_TAG} or {@link
Symbol
#CONSTANT_FLOAT_TAG}.
* @param value an int or float.
* @return a constant pool constant with the given tag and primitive values.
*/
...
...
@@ -649,9 +649,8 @@ final class SymbolTable {
* table.
*
* @param index the constant pool index of the new Symbol.
* @param tag one of {@link #CONSTANT_INTEGER_TAG} or {@link #CONSTANT_FLOAT_TAG}.
* @param tag one of {@link
Symbol
#CONSTANT_INTEGER_TAG} or {@link
Symbol
#CONSTANT_FLOAT_TAG}.
* @param value an int or float.
* @return a new Symbol with the given value.
*/
private
void
addConstantInteger
(
final
int
index
,
final
int
tag
,
final
int
value
)
{
add
(
new
Entry
(
index
,
tag
,
value
,
hash
(
tag
,
value
)));
...
...
@@ -683,7 +682,7 @@ final class SymbolTable {
* Adds a CONSTANT_Long_info or CONSTANT_Double_info to the constant pool of this symbol table.
* Does nothing if the constant pool already contains a similar item.
*
* @param tag one of {@link #CONSTANT_LONG_TAG} or {@link #CONSTANT_DOUBLE_TAG}.
* @param tag one of {@link
Symbol
#CONSTANT_LONG_TAG} or {@link
Symbol
#CONSTANT_DOUBLE_TAG}.
* @param value a long or double.
* @return a constant pool constant with the given tag and primitive values.
*/
...
...
@@ -706,9 +705,8 @@ final class SymbolTable {
* Adds a new CONSTANT_Double_info to the constant pool of this symbol table.
*
* @param index the constant pool index of the new Symbol.
* @param tag one of {@link #CONSTANT_LONG_TAG} or {@link #CONSTANT_DOUBLE_TAG}.
* @param tag one of {@link
Symbol
#CONSTANT_LONG_TAG} or {@link
Symbol
#CONSTANT_DOUBLE_TAG}.
* @param value a long or double.
* @return a new Symbol with the given value.
*/
private
void
addConstantLong
(
final
int
index
,
final
int
tag
,
final
long
value
)
{
add
(
new
Entry
(
index
,
tag
,
value
,
hash
(
tag
,
value
)));
...
...
@@ -745,7 +743,6 @@ final class SymbolTable {
* @param index the constant pool index of the new Symbol.
* @param name a field or method name.
* @param descriptor a field or method descriptor.
* @return a new Symbol with the given value.
*/
private
void
addConstantNameAndType
(
final
int
index
,
final
String
name
,
final
String
descriptor
)
{
final
int
tag
=
Symbol
.
CONSTANT_NAME_AND_TYPE_TAG
;
...
...
@@ -779,7 +776,6 @@ final class SymbolTable {
*
* @param index the constant pool index of the new Symbol.
* @param value a string.
* @return a new Symbol with the given value.
*/
private
void
addConstantUtf8
(
final
int
index
,
final
String
value
)
{
add
(
new
Entry
(
index
,
Symbol
.
CONSTANT_UTF8_TAG
,
value
,
hash
(
Symbol
.
CONSTANT_UTF8_TAG
,
value
)));
...
...
@@ -842,8 +838,6 @@ final class SymbolTable {
* @param owner the internal name of a class of interface.
* @param name a field or method name.
* @param descriptor a field or method descriptor.
* @param isInterface whether owner is an interface or not.
* @return a new Symbol with the given value.
*/
private
void
addConstantMethodHandle
(
final
int
index
,
...
...
@@ -924,7 +918,6 @@ final class SymbolTable {
* @param name a method name.
* @param descriptor a method descriptor.
* @param bootstrapMethodIndex the index of a bootstrap method in the BootstrapMethods attribute.
* @return a new Symbol with the given value.
*/
private
void
addConstantInvokeDynamic
(
final
int
index
,
final
String
name
,
final
String
descriptor
,
final
int
bootstrapMethodIndex
)
{
...
...
@@ -960,8 +953,9 @@ final class SymbolTable {
* CONSTANT_Module_info or CONSTANT_Package_info to the constant pool of this symbol table. Does
* nothing if the constant pool already contains a similar item.
*
* @param tag one of {@link #CONSTANT_CLASS_TAG}, {@link #CONSTANT_STRING_TAG}, {@link
* #CONSTANT_METHOD_TYPE_TAG}, {@link #CONSTANT_MODULE_TAG} or {@link #CONSTANT_PACKAGE_TAG}.
* @param tag one of {@link Symbol#CONSTANT_CLASS_TAG}, {@link Symbol#CONSTANT_STRING_TAG}, {@link
* Symbol#CONSTANT_METHOD_TYPE_TAG}, {@link Symbol#CONSTANT_MODULE_TAG} or {@link
* Symbol#CONSTANT_PACKAGE_TAG}.
* @param value an internal class name, an arbitrary string, a method descriptor, a module or a
* package name, depending on tag.
* @return a new or already existing Symbol with the given value.
...
...
@@ -984,11 +978,11 @@ final class SymbolTable {
* CONSTANT_Module_info or CONSTANT_Package_info to the constant pool of this symbol table.
*
* @param index the constant pool index of the new Symbol.
* @param tag one of {@link #CONSTANT_CLASS_TAG}, {@link #CONSTANT_STRING_TAG}, {@link
* #CONSTANT_METHOD_TYPE_TAG}, {@link #CONSTANT_MODULE_TAG} or {@link #CONSTANT_PACKAGE_TAG}.
* @param tag one of {@link Symbol#CONSTANT_CLASS_TAG}, {@link Symbol#CONSTANT_STRING_TAG}, {@link
* Symbol#CONSTANT_METHOD_TYPE_TAG}, {@link Symbol#CONSTANT_MODULE_TAG} or {@link
* Symbol#CONSTANT_PACKAGE_TAG}.
* @param value an internal class name, an arbitrary string, a method descriptor, a module or a
* package name, depending on tag.
* @return a new Symbol with the given value.
*/
private
void
addConstantUtf8Reference
(
final
int
index
,
final
int
tag
,
final
String
value
)
{
add
(
new
Entry
(
index
,
tag
,
value
,
hash
(
tag
,
value
)));
...
...
@@ -1080,7 +1074,10 @@ final class SymbolTable {
// Type table entries management.
// -----------------------------------------------------------------------------------------------
/** @return the type table element whose index is given. */
/**
* @param typeIndex a type table index.
* @return the type table element whose index is given.
*/
Symbol
getType
(
int
typeIndex
)
{
return
typeTable
[
typeIndex
];
}
...
...
@@ -1105,12 +1102,12 @@ final class SymbolTable {
}
/**
* Adds an {@link Frame#UNINITIALIZED} type in the type table of this symbol table. Does
nothing
* if the type table already contains a similar type.
* Adds an {@link Frame#
ITEM_
UNINITIALIZED} type in the type table of this symbol table. Does
*
nothing
if the type table already contains a similar type.
*
* @param value an internal class name.
* @param bytecodeOffset the bytecode offset of the NEW instruction that created this {@link
* Frame#UNINITIALIZED} type value.
* Frame#
ITEM_
UNINITIALIZED} type value.
* @return the index of a new or already existing type Symbol with the given value.
*/
int
addUninitializedType
(
final
String
value
,
final
int
bytecodeOffset
)
{
...
...
@@ -1133,11 +1130,12 @@ final class SymbolTable {
* Adds a merged type in the type table of this symbol table. Does nothing if the type table
* already contains a similar type.
*
* @param typeTableIndex1 a {@link #TYPE_TAG} type, specified by its index in the type table.
* @param typeTableIndex2 another {@link #TYPE_TAG} type, specified by its index in the type
* @param typeTableIndex1 a {@link Symbol#TYPE_TAG} type, specified by its index in the type
* table.
* @param typeTableIndex2 another {@link Symbol#TYPE_TAG} type, specified by its index in the type
* table.
* @return the index of a new or already existing {@link #TYPE_TAG} type Symbol,
corresponding to
* the common super class of the given types.
* @return the index of a new or already existing {@link
Symbol
#TYPE_TAG} type Symbol,
*
corresponding to
the common super class of the given types.
*/
int
addMergedType
(
final
int
typeTableIndex1
,
final
int
typeTableIndex2
)
{
// TODO sort the arguments? The merge result should be independent of their order.
...
...
asm/src/main/java/org/objectweb/asm/TypeReference.java
View file @
573452d9
...
...
@@ -167,8 +167,8 @@ public class TypeReference {
* The target_type and target_info structures - as defined in the Java Virtual Machine
* Specification (JVMS) - corresponding to this type reference. target_type uses one byte, and all
* the target_info union fields use up to 3 bytes (except localvar_target, handled with the
* specific method {@link MethodVisitor#visitLocalVariableAnnotation
()
}). Thus, both structures
*
can
be stored in an int.
* specific method {@link MethodVisitor#visitLocalVariableAnnotation}). Thus, both structures
can
* be stored in an int.
*
* <p>This int field stores target_type (called the TypeReference 'sort' in the public API of this
* class) in its most significant byte, followed by the target_info fields. Depending on
...
...
asm/src/main/java/org/objectweb/asm/signature/SignatureWriter.java
View file @
573452d9
...
...
@@ -54,7 +54,7 @@ public class SignatureWriter extends SignatureVisitor {
* boolean encoded in one bit. The top of the stack is the least significant bit. Pushing false =
* *2, pushing true = *2+1, popping = /2.
*
* <p>Class type arguments must be surrounded with '
<
' and '
>
' and, because
* <p>Class type arguments must be surrounded with '
<
' and '
>
' and, because
*
* <ol>
* <li>class types can be nested (because type arguments can themselves be class types),
...
...
build.gradle
View file @
573452d9
...
...
@@ -307,6 +307,16 @@ configure(subprojects.findAll { it.provides }) {
}
}
// Add a task to generate a private javadoc and add it as a dependency of the
// 'check' task.
task
privateJavadoc
(
type:
Javadoc
)
{
source
=
sourceSets
.
main
.
allJava
classpath
=
configurations
.
compile
destinationDir
=
file
(
"${javadoc.destinationDir}-private"
)
options
.
memberLevel
=
JavadocMemberLevel
.
PRIVATE
}
check
.
dependsOn
privateJavadoc
// Add tasks to generate the Javadoc and a source jar, to be uploaded to Maven
// together with the main jar (containing the compiled code).
task
javadocJar
(
type:
Jar
,
dependsOn:
'javadoc'
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment