public class InnerClassesAttribute extends AttributeInfo
InnerClasses_attribute
.Modifier and Type | Field | Description |
---|---|---|
static java.lang.String |
tag |
The name of this attribute
"InnerClasses" . |
Constructor | Description |
---|---|
InnerClassesAttribute(ConstPool cp) |
Constructs an empty InnerClasses attribute.
|
Modifier and Type | Method | Description |
---|---|---|
int |
accessFlags(int nth) |
Returns
classes[nth].inner_class_access_flags . |
void |
append(int inner,
int outer,
int name,
int flags) |
Appends a new entry.
|
void |
append(java.lang.String inner,
java.lang.String outer,
java.lang.String name,
int flags) |
Appends a new entry.
|
AttributeInfo |
copy(ConstPool newCp,
java.util.Map<java.lang.String,java.lang.String> classnames) |
Makes a copy.
|
int |
find(java.lang.String name) |
Finds the entry for the given inner class.
|
java.lang.String |
innerClass(int nth) |
Returns the class name indicated
by
classes[nth].inner_class_info_index . |
int |
innerClassIndex(int nth) |
Returns
classes[nth].inner_class_info_index . |
java.lang.String |
innerName(int nth) |
Returns the simple class name indicated
by
classes[nth].inner_name_index . |
int |
innerNameIndex(int nth) |
Returns
classes[nth].inner_name_index . |
java.lang.String |
outerClass(int nth) |
Returns the class name indicated
by
classes[nth].outer_class_info_index . |
int |
outerClassIndex(int nth) |
Returns
classes[nth].outer_class_info_index . |
int |
remove(int nth) |
Removes the
nth entry. |
void |
setAccessFlags(int nth,
int flags) |
Sets
classes[nth].inner_class_access_flags to
the given index. |
void |
setInnerClassIndex(int nth,
int index) |
Sets
classes[nth].inner_class_info_index to
the given index. |
void |
setInnerNameIndex(int nth,
int index) |
Sets
classes[nth].inner_name_index to
the given index. |
void |
setOuterClassIndex(int nth,
int index) |
Sets
classes[nth].outer_class_info_index to
the given index. |
int |
tableLength() |
Returns
number_of_classes . |
get, getConstPool, getName, length, set
public static final java.lang.String tag
"InnerClasses"
.public InnerClassesAttribute(ConstPool cp)
append(String, String, String, int)
public int tableLength()
number_of_classes
.public int innerClassIndex(int nth)
classes[nth].inner_class_info_index
.public java.lang.String innerClass(int nth)
classes[nth].inner_class_info_index
.
The class name is fully-qualified and separated by dot.ConstPool.getClassInfo(int)
public void setInnerClassIndex(int nth, int index)
classes[nth].inner_class_info_index
to
the given index.public int outerClassIndex(int nth)
classes[nth].outer_class_info_index
.public java.lang.String outerClass(int nth)
classes[nth].outer_class_info_index
.public void setOuterClassIndex(int nth, int index)
classes[nth].outer_class_info_index
to
the given index.public int innerNameIndex(int nth)
classes[nth].inner_name_index
.public java.lang.String innerName(int nth)
classes[nth].inner_name_index
.public void setInnerNameIndex(int nth, int index)
classes[nth].inner_name_index
to
the given index.public int accessFlags(int nth)
classes[nth].inner_class_access_flags
.public void setAccessFlags(int nth, int flags)
classes[nth].inner_class_access_flags
to
the given index.public int find(java.lang.String name)
name
- the fully-qualified class name separated by dot and $.public void append(java.lang.String inner, java.lang.String outer, java.lang.String name, int flags)
inner
- inner_class_info_index
outer
- outer_class_info_index
name
- inner_name_index
flags
- inner_class_access_flags
public void append(int inner, int outer, int name, int flags)
inner
- inner_class_info_index
outer
- outer_class_info_index
name
- inner_name_index
flags
- inner_class_access_flags
public int remove(int nth)
nth
entry. It does not eliminate
constant pool items that the removed entry refers to.
ClassFile.compact()
should be executed to remove
these unnecessary items.nth
- 0, 1, 2, ...ClassFile.compact()
public AttributeInfo copy(ConstPool newCp, java.util.Map<java.lang.String,java.lang.String> classnames)
Map
object.copy
in class AttributeInfo
newCp
- the constant pool table used by the new copy.classnames
- pairs of replaced and substituted
class names.Javassist, a Java-bytecode translator toolkit.
Copyright (C) 1999- Shigeru Chiba. All Rights Reserved.