Class MultExpressionSolver
java.lang.Object
ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolver<MultExpression>
ghidra.app.plugin.assembler.sleigh.expr.AbstractBinaryExpressionSolver<MultExpression>
ghidra.app.plugin.assembler.sleigh.expr.MultExpressionSolver
Solves expressions of the form 
A * B- 
Field SummaryFields inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolverdbg, solver
- 
Constructor SummaryConstructors
- 
Method SummaryModifier 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 knownprotected AssemblyResolutionsolveLeftSide(AbstractAssemblyResolutionFactory<?, ?> factory, PatternExpression lexp, MaskedLong rval, MaskedLong goal, Map<String, Long> vals, AssemblyResolvedPatterns cur, Set<SolverHint> hints, String description) protected AssemblyResolutionsolveRightSide(AbstractAssemblyResolutionFactory<?, ?> factory, PatternExpression rexp, MaskedLong lval, MaskedLong goal, Map<String, Long> vals, AssemblyResolvedPatterns cur, Set<SolverHint> hints, String description) protected AssemblyResolutiontryRep(AbstractAssemblyResolutionFactory<?, ?> factory, PatternExpression lexp, MaskedLong rval, MaskedLong repGoal, MaskedLong goal, Map<String, Long> vals, AssemblyResolvedPatterns cur, Set<SolverHint> hints, String description) Methods inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractBinaryExpressionSolvercomputeRight, getInstructionLength, getValue, solve, solveTwoSided, valueForResolutionMethods inherited from class ghidra.app.plugin.assembler.sleigh.expr.AbstractExpressionSolverregister
- 
Constructor Details- 
MultExpressionSolverpublic MultExpressionSolver()
 
- 
- 
Method Details- 
tryRepprotected AssemblyResolution tryRep(AbstractAssemblyResolutionFactory<?, ?> factory, PatternExpression lexp, MaskedLong rval, MaskedLong repGoal, MaskedLong goal, Map<String, throws NeedsBackfillExceptionLong> vals, AssemblyResolvedPatterns cur, Set<SolverHint> hints, String description) - Throws:
- NeedsBackfillException
 
- 
solveLeftSideprotected AssemblyResolution solveLeftSide(AbstractAssemblyResolutionFactory<?, ?> factory, PatternExpression lexp, MaskedLong rval, MaskedLong goal, Map<String, throws NeedsBackfillException, SolverExceptionLong> vals, AssemblyResolvedPatterns cur, Set<SolverHint> hints, String description) - Overrides:
- solveLeftSidein class- AbstractBinaryExpressionSolver<MultExpression>
- Throws:
- NeedsBackfillException
- SolverException
 
- 
solveRightSideprotected AssemblyResolution solveRightSide(AbstractAssemblyResolutionFactory<?, ?> factory, PatternExpression rexp, MaskedLong lval, MaskedLong goal, Map<String, throws NeedsBackfillException, SolverExceptionLong> vals, AssemblyResolvedPatterns cur, Set<SolverHint> hints, String description) - Overrides:
- solveRightSidein class- AbstractBinaryExpressionSolver<MultExpression>
- Throws:
- NeedsBackfillException
- SolverException
 
- 
computeLeftDescription copied from class:AbstractBinaryExpressionSolverCompute the left-hand-side value given that the result and the right are known- Specified by:
- computeLeftin class- AbstractBinaryExpressionSolver<MultExpression>
- Parameters:
- rval- the right-hand-side value
- goal- the result
- Returns:
- the left-hand-side value solution
- Throws:
- SolverException- if the expression cannot be solved
 
- 
computeDescription copied from class:AbstractBinaryExpressionSolverCompute the result of applying the operator to the two given values- Specified by:
- computein class- AbstractBinaryExpressionSolver<MultExpression>
- Parameters:
- lval- the left-hand-side value
- rval- the right-hand-side value
- Returns:
- the result
 
 
-