@Override public void generateGetter(PrintWriter writer) { generateGetter( writer, "long", String.format( "return (buffer.data[offset+%d] & 0xff) + " + "((buffer.data[offset+%d] & 0xff)<<8) + " + "((buffer.data[offset+%d] & 0xff)<<16) + " + "((buffer.data[offset+%d] & 0xff)<<24) + " + "((buffer.data[offset+%d] & 0xff)<<32) + " + "((buffer.data[offset+%d] & 0xff)<<40) + " + "((buffer.data[offset+%d] & 0xff)<<48) + " + "((buffer.data[offset+%d] & 0xff)<<56);", annotation.offset(), annotation.offset() + 1, annotation.offset() + 2, annotation.offset() + 3, annotation.offset() + 4, annotation.offset() + 5, annotation.offset() + 6, annotation.offset() + 7)); }
@Override public void generateSetter(PrintWriter writer) { generateSetter( writer, "long", String.format("buffer.data[offset+%d] = (byte)(value & 0xff);", annotation.offset()), String.format( "buffer.data[offset+%d] = (byte)((value>>8) & 0xff);", annotation.offset() + 1), String.format( "buffer.data[offset+%d] = (byte)((value>>16) & 0xff);", annotation.offset() + 2), String.format( "buffer.data[offset+%d] = (byte)((value>>24) & 0xff);", annotation.offset() + 3), String.format( "buffer.data[offset+%d] = (byte)((value>>32) & 0xff);", annotation.offset() + 4), String.format( "buffer.data[offset+%d] = (byte)((value>>40) & 0xff);", annotation.offset() + 5), String.format( "buffer.data[offset+%d] = (byte)((value>>48) & 0xff);", annotation.offset() + 6), String.format( "buffer.data[offset+%d] = (byte)((value>>56) & 0xff);", annotation.offset() + 7)); }