public void encodeRaw(Encoder encoder, AddressFactory addrFactory) throws IOException {
		encoder.openElement(ELEM_OP);
		encoder.writeSignedInteger(ATTRIB_CODE, opcode);
		encoder.writeSignedInteger(ATTRIB_SIZE, input.length);
		if (output == null) {
			encoder.openElement(ELEM_VOID);
			encoder.closeElement(ELEM_VOID);
		}
		else {
			output.encodeRaw(encoder);
		}
		if ((opcode == PcodeOp.LOAD) || (opcode == PcodeOp.STORE)) {
			int spaceId = (int) input[0].getOffset();
			encoder.openElement(ELEM_SPACEID);
			AddressSpace space = addrFactory.getAddressSpace(spaceId);
			encoder.writeSpace(ATTRIB_NAME, space);
			encoder.closeElement(ELEM_SPACEID);
		}
		else if (input.length > 0) {
			input[0].encodeRaw(encoder);
		}
		for (int i = 1; i < input.length; ++i) {
			input[i].encodeRaw(encoder);
		}
		encoder.closeElement(ELEM_OP);
	}
Encode just the opcode and input/output Varnode data for this PcodeOp to a stream
as an {@code <op>} element
@param encoder is the stream encoder
@param addrFactory is a factory for looking up encoded address spaces
@throws IOException for errors in the underlying stream
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/PcodeOp.java