|
|||||||||
| Home >> All >> com >> techtrader >> modules >> tools >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
com.techtrader.modules.tools.bytecode
Class BCMethod

java.lang.Objectcom.techtrader.modules.tools.bytecode.BCEntity
com.techtrader.modules.tools.bytecode.BCMethod
- All Implemented Interfaces:
- Constants, com.techtrader.modules.tools.bytecode.visitor.VisitAcceptor
Representation of a bytecode method of a class; a BCMethod can only be obtained from a BCClass. Note that this class has method to manipulate its declared excptions and code for convenience only; they can be manipulated directly through the ATTR_EXCEPTIONS and ATTR_CODE attributes.
| Field Summary | |
private int |
_access
|
private int |
_descriptorIndex
|
private int |
_nameIndex
|
private BCClass |
_owner
|
| Fields inherited from class com.techtrader.modules.tools.bytecode.BCEntity |
|
| Constructor Summary | |
protected |
BCMethod(BCClass owner)
Protected constructor. |
| Method Summary | |
void |
acceptVisit(com.techtrader.modules.tools.bytecode.visitor.BCVisitor visit)
Accept a visit from a BCVisitor, calling the appropriate methods to notify the visitor that it has entered this entity, and to provide it with the proper callbacks for each sub-entity owned by this object. |
Code |
addCode()
Add a code block to this method; replaces the old block if it exists. |
void |
addExceptionType(java.lang.Class type)
Add an exception to those declared by this method. |
void |
addExceptionTypeName(java.lang.String name)
Add an exception to those declared by this method. |
void |
addParamType(java.lang.Class type)
Add a parameter type to this method. |
void |
addParamTypeName(java.lang.String name)
Add a parameter type to this method. |
void |
clearExceptionTypes()
Remove all declared exceptions from this method. |
int |
getAccessFlags()
Return the access flags for this class as a bit array of ACCESS_XXX constants. |
Code |
getCode()
Get the code for this method; returns null if none. |
int |
getDescriptorIndex()
Get the index in the constant pool of the UTF entry holding the descriptor of this method. |
java.lang.String[] |
getExceptionTypeNames()
Get the exception types thrown by this method. |
java.lang.Class[] |
getExceptionTypes()
Get the exception types thrown by this method. |
java.lang.String |
getName()
Get the name of this method. |
int |
getNameIndex()
Get the index in the constant pool of the UTF entry holding the name of this method. |
BCClass |
getOwner()
Get the BCClass that owns this method. |
java.lang.String[] |
getParamTypeNames()
Get the names of all the parameter types for this method. |
java.lang.Class[] |
getParamTypes()
Get the types of parameters this method takes. |
com.techtrader.modules.tools.bytecode.lowlevel.ConstantPool |
getPool()
Get the class constant pool; this method delegates to the owning class. |
java.lang.Class |
getReturnType()
Get the Class of the return type of this method. |
java.lang.String |
getReturnTypeName()
Get the name of the class type returned by this method. |
Code |
importCode(Code code)
Import a code block from another method. |
protected void |
invalidate()
Used when this field is deleted from its class. |
boolean |
isAbstract()
Manipulate the method access flags. |
boolean |
isFinal()
Manipulate the method access flags. |
boolean |
isNative()
Manipulate the method access flags. |
boolean |
isPackage()
Manipulate the method access flags. |
boolean |
isPrivate()
Manipulate the method access flags. |
boolean |
isProtected()
Manipulate the method access flags. |
boolean |
isPublic()
Manipulate the method access flags. |
boolean |
isStatic()
Manipulate the method access flags. |
boolean |
isStrict()
Manipulate the method access flags. |
boolean |
isSynchronized()
Manipulate the method access flags. |
void |
makePackage()
Manipulate the method access flags. |
void |
makePrivate()
Manipulate the method access flags. |
void |
makeProtected()
Manipulate the method access flags. |
void |
makePublic()
Manipulate the method access flags. |
protected void |
readData(java.io.DataInput in)
|
boolean |
removeCode()
Remove the code from this method; note that this actually removes the Code attribute completely; if you want to make an empty code block use the Code.clear() method. |
boolean |
removeExceptionType(java.lang.Class type)
Remove the given exception type from those that this method declares in its throws clause. |
boolean |
removeExceptionTypeName(java.lang.String name)
Remove the given exception type from those that this method declares in its throws clause. |
boolean |
removeParamType(java.lang.Class type)
Remove a parameter from this method. |
boolean |
removeParamTypeName(java.lang.String name)
Remove a parameter from this method. |
void |
setAbstract(boolean on)
Manipulate the method access flags. |
void |
setAccessFlags(int access)
Set the access flags for this class as a bit array of ACCESS_XXX constants. |
void |
setDescriptor(java.lang.Class returnType,
java.lang.Class[] paramTypes)
Set this method descriptor; using this method is much more efficient than setting the return type and param types separately. |
void |
setDescriptor(java.lang.String returnType,
java.lang.String[] paramTypes)
Set this method descriptor; using this method is much more efficient than setting the return type and param types separately. |
void |
setDescriptorIndex(int index)
Set the index in the constant pool of the UTF entry holding the descriptor of this method. |
private void |
setDescriptorInternal(java.lang.String returnType,
java.lang.String[] paramTypes)
Internal helper method to set the descriptor of this method, using the internal form of the method return type and params |
void |
setExceptionTypeNames(java.lang.String[] types)
Set the exception types for this method. |
void |
setExceptionTypes(java.lang.Class[] types)
Set the exception types for this method. |
void |
setFinal(boolean on)
Manipulate the method access flags. |
void |
setName(java.lang.String name)
Set the name of this method. |
void |
setNameIndex(int index)
Set the index in the constant pool of the UTF entry holding the name of this method. |
void |
setNative(boolean on)
Manipulate the method access flags. |
void |
setParamTypeNames(java.lang.String[] names)
Set the parameter types of this method. |
void |
setParamTypes(java.lang.Class[] types)
Set the parameter type of this method. |
void |
setReturnType(java.lang.Class type)
Set the return type of this method. |
void |
setReturnTypeName(java.lang.String name)
Set the return type of this method. |
void |
setStatic(boolean on)
Manipulate the method access flags. |
void |
setStrict(boolean on)
Manipulate the method access flags. |
void |
setSynchronized(boolean on)
Manipulate the method access flags. |
protected void |
writeData(java.io.DataOutput out)
|
| Methods inherited from class com.techtrader.modules.tools.bytecode.BCEntity |
addAttribute, clearAttributes, getAttribute, getAttributes, getAttributes, importAttribute, importAttributes, readAttributes, removeAttribute, removeAttribute, visitAttributes, writeAttributes |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
_owner
private BCClass _owner
_access
private int _access
_nameIndex
private int _nameIndex
_descriptorIndex
private int _descriptorIndex
| Constructor Detail |
BCMethod
protected BCMethod(BCClass owner)
- Protected constructor.
| Method Detail |
invalidate
protected void invalidate()
- Used when this field is deleted from its class.
getOwner
public BCClass getOwner()
- Get the BCClass that owns this method.
getAccessFlags
public int getAccessFlags()
- Return the access flags for this class as a bit array of
ACCESS_XXX constants. This can be used to transfer access flags
between methods without getting/setting each possible access flag.
setAccessFlags
public void setAccessFlags(int access)
- Set the access flags for this class as a bit array of
ACCESS_XXX constants. This can be used to transfer access flags
between methods without getting/setting each possible access flag.
isPublic
public boolean isPublic()
- Manipulate the method access flags.
makePublic
public void makePublic()
- Manipulate the method access flags.
isProtected
public boolean isProtected()
- Manipulate the method access flags.
makeProtected
public void makeProtected()
- Manipulate the method access flags.
isPrivate
public boolean isPrivate()
- Manipulate the method access flags.
makePrivate
public void makePrivate()
- Manipulate the method access flags.
isPackage
public boolean isPackage()
- Manipulate the method access flags.
makePackage
public void makePackage()
- Manipulate the method access flags.
isFinal
public boolean isFinal()
- Manipulate the method access flags.
setFinal
public void setFinal(boolean on)
- Manipulate the method access flags.
isStatic
public boolean isStatic()
- Manipulate the method access flags.
setStatic
public void setStatic(boolean on)
- Manipulate the method access flags.
isSynchronized
public boolean isSynchronized()
- Manipulate the method access flags.
setSynchronized
public void setSynchronized(boolean on)
- Manipulate the method access flags.
isNative
public boolean isNative()
- Manipulate the method access flags.
setNative
public void setNative(boolean on)
- Manipulate the method access flags.
isAbstract
public boolean isAbstract()
- Manipulate the method access flags.
setAbstract
public void setAbstract(boolean on)
- Manipulate the method access flags.
isStrict
public boolean isStrict()
- Manipulate the method access flags.
setStrict
public void setStrict(boolean on)
- Manipulate the method access flags.
getNameIndex
public int getNameIndex()
- Get the index in the constant pool of the UTF entry holding the name
of this method.
setNameIndex
public void setNameIndex(int index)
- Set the index in the constant pool of the UTF entry holding the name
of this method.
getDescriptorIndex
public int getDescriptorIndex()
- Get the index in the constant pool of the UTF entry holding the
descriptor of this method.
setDescriptorIndex
public void setDescriptorIndex(int index)
- Set the index in the constant pool of the UTF entry holding the
descriptor of this method.
getName
public java.lang.String getName()
- Get the name of this method.
setName
public void setName(java.lang.String name)
- Set the name of this method.
getReturnTypeName
public java.lang.String getReturnTypeName()
- Get the name of the class type returned by this method.
getReturnType
public java.lang.Class getReturnType() throws java.lang.ClassNotFoundException
- Get the Class of the return type of this method.
getParamTypeNames
public java.lang.String[] getParamTypeNames()
- Get the names of all the parameter types for this method.
getParamTypes
public java.lang.Class[] getParamTypes() throws java.lang.ClassNotFoundException
- Get the types of parameters this method takes.
setReturnTypeName
public void setReturnTypeName(java.lang.String name)
- Set the return type of this method.
setReturnType
public void setReturnType(java.lang.Class type)
- Set the return type of this method.
setParamTypeNames
public void setParamTypeNames(java.lang.String[] names)
- Set the parameter types of this method.
setParamTypes
public void setParamTypes(java.lang.Class[] types)
- Set the parameter type of this method.
addParamTypeName
public void addParamTypeName(java.lang.String name)
- Add a parameter type to this method.
removeParamTypeName
public boolean removeParamTypeName(java.lang.String name)
- Remove a parameter from this method.
removeParamType
public boolean removeParamType(java.lang.Class type)
- Remove a parameter from this method.
addParamType
public void addParamType(java.lang.Class type)
- Add a parameter type to this method.
setDescriptor
public void setDescriptor(java.lang.String returnType, java.lang.String[] paramTypes)
- Set this method descriptor; using this method is much more
efficient than setting the return type and param types separately.
setDescriptor
public void setDescriptor(java.lang.Class returnType, java.lang.Class[] paramTypes)
- Set this method descriptor; using this method is much more
efficient than setting the return type and param types separately.
setDescriptorInternal
private void setDescriptorInternal(java.lang.String returnType, java.lang.String[] paramTypes)
- Internal helper method to set the descriptor of this method,
using the internal form of the method return type and params
getExceptionTypeNames
public java.lang.String[] getExceptionTypeNames()
- Get the exception types thrown by this method.
getExceptionTypes
public java.lang.Class[] getExceptionTypes() throws java.lang.ClassNotFoundException
- Get the exception types thrown by this method.
clearExceptionTypes
public void clearExceptionTypes()
- Remove all declared exceptions from this method.
removeExceptionTypeName
public boolean removeExceptionTypeName(java.lang.String name)
- Remove the given exception type from those that this method
declares in its throws clause.
removeExceptionType
public boolean removeExceptionType(java.lang.Class type)
- Remove the given exception type from those that this method
declares in its throws clause.
setExceptionTypeNames
public void setExceptionTypeNames(java.lang.String[] types)
- Set the exception types for this method.
setExceptionTypes
public void setExceptionTypes(java.lang.Class[] types)
- Set the exception types for this method.
addExceptionTypeName
public void addExceptionTypeName(java.lang.String name)
- Add an exception to those declared by this method.
addExceptionType
public void addExceptionType(java.lang.Class type)
- Add an exception to those declared by this method.
getCode
public Code getCode()
- Get the code for this method; returns null if none.
Note that each time the code is fetched, the position of the code
iterator is reset to before the first opcode.
addCode
public Code addCode()
- Add a code block to this method; replaces the old block if it exists.
removeCode
public boolean removeCode()
- Remove the code from this method; note that this actually removes the
Code attribute completely; if you want to make an empty code block use
the Code.clear() method.
importCode
public Code importCode(Code code)
- Import a code block from another method. The given method can be of
this class or a different one. This will cause the code of this method
to become an exact duplicate of the given code block.
getPool
public com.techtrader.modules.tools.bytecode.lowlevel.ConstantPool getPool()
- Get the class constant pool; this method delegates to the
owning class.
readData
protected void readData(java.io.DataInput in) throws java.io.IOException
writeData
protected void writeData(java.io.DataOutput out) throws java.io.IOException
acceptVisit
public void acceptVisit(com.techtrader.modules.tools.bytecode.visitor.BCVisitor visit)
- Description copied from interface:
com.techtrader.modules.tools.bytecode.visitor.VisitAcceptor - Accept a visit from a BCVisitor, calling the appropriate methods
to notify the visitor that it has entered this entity, and
to provide it with the proper callbacks for each sub-entity owned
by this object.
- Specified by:
acceptVisitin interfacecom.techtrader.modules.tools.bytecode.visitor.VisitAcceptor
|
|||||||||
| Home >> All >> com >> techtrader >> modules >> tools >> [ bytecode overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC