public AssemblyResolvedPatterns applyContextChangesForward(Map<String, Long> vals,
			AssemblyResolvedPatterns fromLeft) {
		AssemblyResolvedPatterns res = fromLeft;
		// TODO: Figure out semantics of ContextCommit. Not sure it matters here.
		for (ContextChange chg : contextChanges) {
			if (chg instanceof ContextOp) {
				ContextOp cop = (ContextOp) chg;
				MaskedLong val = SOLVER.valueForResolution(cop.getPatternExpression(), vals, res);
				res = res.writeContextOp(cop, val);
			}
		}
		return res;
	}
Apply just context transformations in the forward (disassembly) direction

<p>
Unlike the usual disassembly process, this method does not take into account any information
from the instruction encoding. Any context bits that depend on it are set to unknown
({@code x}) in the output. This method is used to pre-compute a context transition graph in
order to quickly resolve purely-recursive semantics on the root constructor table.

@param fromLeft the state before context changes
@return the state after context changes
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/assembler/sleigh/sem/AssemblyConstructorSemantic.java