Packages

t

org.opalj.support.debug

ConsoleEvaluationTracer

trait ConsoleEvaluationTracer extends AITracer

A tracer that primarily prints out the evaluation order of the instructions on the console. This tracer is particularly useful to understand the handling of JSR/RET instructions.

If you want to reuse this tracer to trace evaluations of different methods you should call the reset method between two calls.

Thread Safety

This tracer has internal state that is dependent on the state of the evaluation. Hence, this class is not thread safe and a new AI instance should be used per method that is analyzed.

Linear Supertypes
AITracer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConsoleEvaluationTracer
  2. AITracer
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def abruptMethodExecution(domain: Domain)(pc: Int, exception: ai.Domain.ExceptionValue): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  5. def abruptSubroutineTermination(domain: Domain)(details: String, sourcePC: Int, targetPC: Int, jumpToSubroutineId: Int, terminatedSubroutinesCount: Int, forceScheduling: Boolean, oldWorklist: Chain[Int], newWorklist: Chain[Int]): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  8. def continuingInterpretation(code: Code, domain: Domain)(initialWorkList: Chain[Int], alreadyEvaluatedPCs: IntArrayStack, operandsArray: ai.Domain.OperandsArray, localsArray: ai.Domain.LocalsArray, memoryLayoutBeforeSubroutineCall: Chain[(Int, ai.Domain.OperandsArray, ai.Domain.LocalsArray)]): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  9. def deadLocalVariable(domain: Domain)(pc: Int, lvIndex: Int): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  10. def domainMessage(domain: Domain, source: Class[_], typeID: String, pc: Option[Int], message: ⇒ String): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  11. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  13. def establishedConstraint(domain: Domain)(pc: Int, effectivePC: Int, operands: ai.Domain.Operands, locals: ai.Domain.Locals, newOperands: ai.Domain.Operands, newLocals: ai.Domain.Locals): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  14. def flow(domain: Domain)(currentPC: Int, targetPC: Int, isExceptionalControlFlow: Boolean): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  15. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  16. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  17. def initialLocals(domain: Domain)(locals: ai.Domain.Locals): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  18. def instructionEvalution(domain: Domain)(pc: Int, instruction: Instruction, operands: ai.Domain.Operands, locals: ai.Domain.Locals): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  19. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  20. def join(domain: Domain)(pc: Int, thisOperands: ai.Domain.Operands, thisLocals: ai.Domain.Locals, otherOperands: ai.Domain.Operands, otherLocals: ai.Domain.Locals, result: Update[(ai.Domain.Operands, ai.Domain.Locals)]): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  21. def jumpToSubroutine(domain: Domain)(pc: Int, targetPC: Int, nestingLevel: Int): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. def noFlow(domain: Domain)(currentPC: Int, targetPC: Int): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  24. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  25. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  26. def rescheduled(domain: Domain)(sourcePC: Int, targetPC: Int, isExceptionalControlFlow: Boolean, worklist: Chain[Int]): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  27. def reset(): Unit
  28. def result(result: AIResult): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  29. def ret(domain: Domain)(pc: Int, returnAddressPC: Int, oldWorklist: Chain[Int], newWorklist: Chain[Int]): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  30. def returnFromSubroutine(domain: Domain)(pc: Int, returnAddressPC: Int, subroutinePCs: Chain[Int]): Unit
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  31. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  32. def toString(): String
    Definition Classes
    AnyRef → Any
  33. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from AITracer

Inherited from AnyRef

Inherited from Any

Ungrouped