|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--JavaElement | +--MethodInfo
Field Summary | |
(package private) int |
access_flags
|
(package private) AttributeTable |
attributes
|
(package private) Klass |
cls
|
(package private) java.util.Vector |
dependencies
for native methods, the fields / methods / classes it uses / calls / instantiates. |
(package private) MethodInfo |
effectiveMethod
If 'this' method is 'needed_virtually', this field can hold the effective method for virtual invocations if it is always the same method in all possible cases (this 'invokevirtual' needs no virtual function table). |
(package private) boolean |
effectiveMethodComputed
flag: has effective method been computed? |
(package private) GenericMethod |
genericMethod
the generic method that this method belongs to. |
(package private) int |
methodIndex
the (globally unique) index of this needed method. |
(package private) java.lang.String |
name
|
(package private) java.lang.Object |
nativeRef
reference to a native implementation of this method. |
(package private) ConstantPool |
pool
|
(package private) java.lang.String |
signature
|
(package private) int |
vtableIndex
This method's index in virtual function tables. |
Fields inherited from class JavaElement |
EXACT_INSTANCE_NEEDED,
INSTANCE_NEEDED,
NEEDED,
NEEDED_INSTANCEOF,
NEEDED_VIRTUALLY,
neededModeAddOn,
neededModeBasic,
neededReasons,
UNNEEDED |
Constructor Summary | |
(package private) |
MethodInfo(Klass cls,
ConstantPool pool,
java.io.DataInput in)
create a MethodInfo from a section of a class file. |
Method Summary | |
(package private) int |
argStackSize()
the stack size (in 32-bit-units) needed for the method arguments. |
(package private) java.lang.String |
fullName()
full name of this method (package/class.method(args)result). |
(package private) java.lang.String |
genericName()
generic name of this method (method(args)result). |
(package private) MethodInfo |
getEffectiveMethod()
check whether this 'neededVirtual' method has a single effective method for all possible cases. |
(package private) void |
makeNative(java.lang.Object nativeRef,
java.util.Vector dependencies)
add a native implementation to this method. |
(package private) void |
markBytecodesUsed(boolean[] bytecodesUsed)
marks the bytecodes used in this method. |
(package private) void |
report()
print to System.out a readable description of this method. |
(package private) java.lang.String |
returnType()
the return-type signature. |
(package private) java.lang.String |
shortLabel()
the short label of this method. |
(package private) java.lang.String |
shortName()
short name of this method (package/class.method). |
java.lang.String |
toString()
the full name of this method, prefixed by "Method ". |
(package private) void |
updateNeeded()
update the 'needed' state of this method and related elements. |
(package private) void |
write(java.io.DataOutput out)
write this method to a classfile. |
Methods inherited from class JavaElement |
isNeeded,
isNeeded,
markNeeded |
Methods inherited from class java.lang.Object |
|
Field Detail |
Klass cls
ConstantPool pool
int access_flags
AttributeTable attributes
java.lang.String name
java.lang.String signature
java.lang.Object nativeRef
java.util.Vector dependencies
GenericMethod genericMethod
MethodInfo effectiveMethod
boolean effectiveMethodComputed
int vtableIndex
int methodIndex
Constructor Detail |
MethodInfo(Klass cls, ConstantPool pool, java.io.DataInput in) throws java.io.IOException
cls
- description of the defining classpool
- the constant pool - already read from the class filein
- the stream to read exactly 1 'method_info' structure fromMethod Detail |
void makeNative(java.lang.Object nativeRef, java.util.Vector dependencies)
nativeRef
- a reference to the implementation,
to be used by the back-end.dependencies
- a vector of fields, methods and classes
used in the native implementation.void write(java.io.DataOutput out) throws java.io.IOException
void updateNeeded()
void markBytecodesUsed(boolean[] bytecodesUsed)
MethodInfo getEffectiveMethod()
java.lang.String shortLabel()
java.lang.String shortName()
java.lang.String genericName()
java.lang.String fullName()
public java.lang.String toString()
int argStackSize()
java.lang.String returnType()
void report()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |