in lightning-core/src/main/java/org/apache/directmemory/lightning/internal/generator/BytecodeMarshallerGenerator.java [768:820]
private void visitPropertyAccessorValueWrite( Class<?> type, MethodVisitor mv )
{
String methodName = null;
String methodSignature = null;
if ( type == boolean.class )
{
methodName = "writeBoolean";
methodSignature = PROPERTY_ACCESSOR_WRITE_BOOLEAN_SIGNATURE;
}
else if ( type == byte.class )
{
methodName = "writeByte";
methodSignature = PROPERTY_ACCESSOR_WRITE_BYTE_SIGNATURE;
}
else if ( type == char.class )
{
methodName = "writeChar";
methodSignature = PROPERTY_ACCESSOR_WRITE_CHAR_SIGNATURE;
}
else if ( type == short.class )
{
methodName = "writeShort";
methodSignature = PROPERTY_ACCESSOR_WRITE_SHORT_SIGNATURE;
}
else if ( type == int.class )
{
methodName = "writeInt";
methodSignature = PROPERTY_ACCESSOR_WRITE_INT_SIGNATURE;
}
else if ( type == long.class )
{
methodName = "writeLong";
methodSignature = PROPERTY_ACCESSOR_WRITE_LONG_SIGNATURE;
}
else if ( type == float.class )
{
methodName = "writeFloat";
methodSignature = PROPERTY_ACCESSOR_WRITE_FLOAT_SIGNATURE;
}
else if ( type == double.class )
{
methodName = "writeDouble";
methodSignature = PROPERTY_ACCESSOR_WRITE_DOUBLE_SIGNATURE;
}
else
{
methodName = "writeObject";
methodSignature = PROPERTY_ACCESSOR_WRITE_OBJECT_SIGNATURE;
}
mv.visitMethodInsn( INVOKEINTERFACE, VALUEPROPERTYACCESSOR_CLASS_INTERNAL_TYPE, methodName, methodSignature );
}