Class SubExpressionSolver
java.lang.Object
ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolver<SubExpression>
ghidra.app.plugin.assembler.sleigh.expr.AbstractBinaryExpressionSolver<SubExpression>
ghidra.app.plugin.assembler.sleigh.expr.SubExpressionSolver
Solves expressions of the form
A - B-
Field Summary
Fields inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolver
dbg, solver -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncompute(MaskedLong lval, MaskedLong rval) Compute the result of applying the operator to the two given valuescomputeLeft(MaskedLong rval, MaskedLong goal) Compute the left-hand-side value given that the result and the right are knowncomputeRight(MaskedLong lval, MaskedLong goal) Compute the right-hand-side value given that the result and the left are knownMethods inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractBinaryExpressionSolver
getInstructionLength, getValue, solve, solveLeftSide, solveRightSide, solveTwoSided, valueForResolutionMethods inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolver
register
-
Constructor Details
-
SubExpressionSolver
public SubExpressionSolver()
-
-
Method Details
-
computeLeft
Description copied from class:AbstractBinaryExpressionSolverCompute the left-hand-side value given that the result and the right are known- Specified by:
computeLeftin classAbstractBinaryExpressionSolver<SubExpression>- Parameters:
rval- the right-hand-side valuegoal- the result- Returns:
- the left-hand-side value solution
- Throws:
SolverException- if the expression cannot be solved
-
computeRight
Description copied from class:AbstractBinaryExpressionSolverCompute the right-hand-side value given that the result and the left are knownNOTE: Assumes commutativity by default
- Overrides:
computeRightin classAbstractBinaryExpressionSolver<SubExpression>- Parameters:
lval- the left-hand-side valuegoal- the result- Returns:
- the right-hand-side value solution
- Throws:
SolverException- if the expression cannot be solved
-
compute
Description copied from class:AbstractBinaryExpressionSolverCompute the result of applying the operator to the two given values- Specified by:
computein classAbstractBinaryExpressionSolver<SubExpression>- Parameters:
lval- the left-hand-side valuerval- the right-hand-side value- Returns:
- the result
-