Search in sources :

Example 6 with MemoryExpressionElement

use of com.google.security.zynamics.binnavi.debug.models.memoryexpressions.MemoryExpressionElement in project binnavi by google.

the class CEvaluationVisitor method visit.

@Override
public void visit(final MultiplicationExpression expression) {
    BigInteger value = null;
    for (final MemoryExpressionElement child : expression.getChildren()) {
        child.visit(this);
        final BigInteger childValue = getValue(child);
        if (childValue == null) {
            return;
        }
        if (value == null) {
            value = getValue(child);
            if (value == null) {
                return;
            }
        } else {
            value = value.multiply(getValue(child));
        }
    }
    m_partialEvaluationMap.put(expression, value);
}
Also used : BigInteger(java.math.BigInteger) MemoryExpressionElement(com.google.security.zynamics.binnavi.debug.models.memoryexpressions.MemoryExpressionElement)

Aggregations

MemoryExpressionElement (com.google.security.zynamics.binnavi.debug.models.memoryexpressions.MemoryExpressionElement)6 BigInteger (java.math.BigInteger)6 CEvaluationVisitor (com.google.security.zynamics.binnavi.Gui.Debug.MemoryPanel.Implementations.CEvaluationVisitor)1 MemorySection (com.google.security.zynamics.binnavi.debug.models.processmanager.MemorySection)1 CAddress (com.google.security.zynamics.zylib.disassembly.CAddress)1 RecognitionException (org.antlr.runtime.RecognitionException)1