public static int computeOffset(OperandSymbol opsym, Constructor cons) {
		int offset = opsym.getRelativeOffset();
		int baseidx = opsym.getOffsetBase();
		if (baseidx != -1) {
			OperandSymbol baseop = cons.getOperand(baseidx);
			offset += baseop.getMinimumLength();
			offset += computeOffset(baseop, cons);
		}
		return offset;
	}
Compute the offset of an operand encoded in the instruction block

<p>
TODO: Currently, there are duplicate mechanisms for resolving a constructor: 1) The newer
mechanism implemented in {@link AssemblyConstructState}, and 2) the older one implemented in
{@link #applyPatterns(AssemblyConstructorSemantic, int, AssemblyResolutionResults)}. The
latter seems to require this method, since it does not have pre-computed shifts as in the
former. We should probably remove the latter in favor of the former....

@param opsym the operand symbol
@param cons the constructor containing the operand
@return the offset (right shift) to apply to the encoded operand
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/sem/AbstractAssemblyTreeResolver.java