Trait

org.opalj.ai

ConsoleEvaluationTracer

Related Doc: package ai

Permalink

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

Abstract Value Members

  1. abstract def deadLocalVariable(domain: Domain)(pc: PC, lvIndex: Int): Unit

    Permalink
    Definition Classes
    AITracer
  2. abstract def initialLocals(domain: Domain)(locals: Domain.Locals): Unit

    Permalink
    Definition Classes
    AITracer

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def abruptMethodExecution(domain: Domain)(pc: Int, exception: Domain.ExceptionValue): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  5. def abruptSubroutineTermination(domain: Domain)(sourcePC: PC, targetPC: PC, jumpToSubroutineId: Int, terminatedSubroutinesCount: Int, oldWorklist: Chain[PC], newWorklist: Chain[PC]): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def continuingInterpretation(code: Code, domain: Domain)(initialWorkList: Chain[PC], alreadyEvaluated: Chain[PC], operandsArray: Domain.OperandsArray, localsArray: Domain.LocalsArray, memoryLayoutBeforeSubroutineCall: Chain[(PC, Domain.OperandsArray, Domain.LocalsArray)]): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  9. def domainMessage(domain: Domain, source: Class[_], typeID: String, pc: Option[PC], message: ⇒ String): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. def establishedConstraint(domain: Domain)(pc: PC, effectivePC: PC, operands: Domain.Operands, locals: Domain.Locals, newOperands: Domain.Operands, newLocals: Domain.Locals): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  13. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. def flow(domain: Domain)(currentPC: PC, targetPC: PC, isExceptionalControlFlow: Boolean): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  17. def instructionEvalution(domain: Domain)(pc: PC, instruction: Instruction, operands: Domain.Operands, locals: Domain.Locals): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  18. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  19. def join(domain: Domain)(pc: PC, thisOperands: Domain.Operands, thisLocals: Domain.Locals, otherOperands: Domain.Operands, otherLocals: Domain.Locals, result: Update[(Domain.Operands, Domain.Locals)]): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  20. def jumpToSubroutine(domain: Domain)(pc: PC, target: PC, nestingLevel: Int): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. def noFlow(domain: Domain)(currentPC: PC, targetPC: PC): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  23. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  25. def rescheduled(domain: Domain)(sourcePC: PC, targetPC: PC, isExceptionalControlFlow: Boolean, worklist: Chain[PC]): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  26. def reset(): Unit

    Permalink
  27. def result(result: AIResult): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  28. def ret(domain: Domain)(pc: PC, returnAddress: PC, oldWorklist: Chain[PC], newWorklist: Chain[PC]): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  29. def returnFromSubroutine(domain: Domain)(pc: PC, returnAddress: PC, subroutineInstructions: Chain[PC]): Unit

    Permalink
    Definition Classes
    ConsoleEvaluationTracer → AITracer
  30. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  31. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  32. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AITracer

Inherited from AnyRef

Inherited from Any

Ungrouped