Package org.jibx.binding.classes
Class ExceptionMethodBuilder
java.lang.Object
org.jibx.binding.classes.BindingMethod
org.jibx.binding.classes.MethodBuilder
org.jibx.binding.classes.ExceptionMethodBuilder
- Direct Known Subclasses:
ContextMethodBuilder
Builder for simple methods that may just pass checked exceptions on to
caller.
- Author:
- Dennis M. Sosnoski
-
Field Summary
FieldsFields inherited from class org.jibx.binding.classes.MethodBuilder
EXCEPTION_CONSTRUCTOR_SIGNATURE1, EXCEPTION_CONSTRUCTOR_SIGNATURE2, FRAMEWORK_EXCEPTION_CLASS, m_exceptions, m_generator, m_hashCode, m_instructionBuilder, m_item, m_method, m_targetBranches, m_valueMap, s_argNameLists, SYNTHETIC_ACCESS_FLAG
-
Constructor Summary
ConstructorsConstructorDescriptionExceptionMethodBuilder
(String name, String sig, ClassFile cf) Constructor from signature for public, final method.ExceptionMethodBuilder
(String name, String sig, ClassFile cf, int access) Constructor from signature.ExceptionMethodBuilder
(String name, Type ret, Type[] args, ClassFile cf, int access) Constructor with types specified. -
Method Summary
Modifier and TypeMethodDescriptionint
defineSlot
(Object obj, Type type) Define local variable slot for object.void
Free local variable slot for object.int
Check if local variable slot defined for object.protected void
Process accumulated exceptions.Methods inherited from class org.jibx.binding.classes.MethodBuilder
addException, addLocal, addMethod, addMethodExceptions, appendAASTORE, appendACONST_NULL, appendALOAD, appendARRAYLENGTH, appendASTORE, appendCall, appendCallInit, appendCallInterface, appendCallStatic, appendCallVirtual, appendCreateArray, appendCreateCast, appendCreateCast, appendCreateNew, appendDCMPG, appendDUP, appendDUP_X1, appendDUP2, appendFCMPG, appendGet, appendGetField, appendGetStatic, appendIASTORE, appendICONST_0, appendICONST_1, appendIF_ICMPNE, appendIFEQ, appendIFGE, appendIFLT, appendIFNE, appendIFNONNULL, appendIFNULL, appendIncrementLocal, appendInstanceOf, appendISUB, appendIXOR, appendLCMP, appendLoadConstant, appendLoadConstant, appendLoadConstant, appendLoadLocal, appendPOP, appendPOP2, appendPut, appendPutField, appendPutStatic, appendReturn, appendReturn, appendStoreLocal, appendSWAP, appendSWAP1For2, appendTargetACONST_NULL, appendTargetCreateNew, appendTargetLoadConstant, appendTargetLoadConstant, appendTargetNOP, appendThrow, appendUnconditionalBranch, codeComplete, createLocal, getAccessFlags, getFirstInstruction, getItem, getKeyValue, getLastInstruction, getMethod, getName, getSignature, hashCode, initStackState, initStackState, initStackState, internalAppendCreateNew, isStackTopLong, setAccessFlags, setKeyValue, setTarget, targetNext, targetNext
Methods inherited from class org.jibx.binding.classes.BindingMethod
computeMethodHash, equals, getClassFile, makeAccessible
-
Field Details
-
m_slotMap
Map for object to variable assignments.
-
-
Constructor Details
-
ExceptionMethodBuilder
Constructor with types specified.- Parameters:
name
- method name to be builtret
- method return typeargs
- types of argumentscf
- owning class file informationaccess
- flags for method access
-
ExceptionMethodBuilder
Constructor from signature.- Parameters:
name
- method name to be builtsig
- method signaturecf
- owning class file informationaccess
- flags for method access
-
ExceptionMethodBuilder
Constructor from signature for public, final method.- Parameters:
name
- method name to be builtsig
- method signaturecf
- owning class file information
-
-
Method Details
-
defineSlot
Define local variable slot for object. The current code in the method must have the initial value for the variable on the stack- Parameters:
obj
- owning object of slottype
- variable type- Returns:
- slot number
-
getSlot
Check if local variable slot defined for object.- Parameters:
obj
- owning object of slot- Returns:
- local variable slot assigned to object, or
-1
if none
-
freeSlot
Free local variable slot for object. This clears the usage of the slot (if one has been defined for the object) so it can be reused for other purposes.- Parameters:
obj
- owning object of slot
-
handleExceptions
protected void handleExceptions()Process accumulated exceptions. Just adds the checked exceptions that may be thrown within the body to the list for this method, passing them on to the caller for handling.- Specified by:
handleExceptions
in classMethodBuilder
-