private void visitPropertyAccessorValueWrite()

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 );
    }