Package org.jibx.binding.classes
Class MarshalBuilder
Marshalling method builder. Tracks the creation of a marshalling method,
including special handling of exceptions that may be generated by object
accesses during the marshalling process.
- Author:
- Dennis M. Sosnoski
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
private static final String
private static final Type
Fields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionInstructionHandle
Add exception handler code.Methods inherited from class org.jibx.binding.classes.MarshalUnmarshalBuilder
handleExceptions
Methods inherited from class org.jibx.binding.classes.ContextMethodBuilder
getFullName, isStaticMethod, loadContext, loadContext, loadObject, loadObject, setObjectSlot, storeObject
Methods inherited from class org.jibx.binding.classes.ExceptionMethodBuilder
defineSlot, freeSlot, getSlot
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
-
MARSHALCONTEXT_CLASS
- See Also:
-
MARSHAL_EXCEPTION_TEXT
- See Also:
-
MARSHALCONTEXT_TYPE
private static final Type MARSHALCONTEXT_TYPE
-
-
Constructor Details
-
MarshalBuilder
Constructor. This sets up for constructing a marshalling method with public access and wrapped exception handling. If the method is being generated directly to the class being marshalled it's built as a virtual method; otherwise, it's done as a static method.- Parameters:
name
- method name to be builtcf
- owning class file informationmf
- method generation class file information
-
-
Method Details
-
genExceptionHandler
public InstructionHandle genExceptionHandler()Add exception handler code. The implementation of this abstract base class method provides handling specific to a marshalling method.- Specified by:
genExceptionHandler
in classMarshalUnmarshalBuilder
- Returns:
- handle for first instruction in handler
-