Class FindPuzzlers

All Implemented Interfaces:
Detector, Priorities, org.apache.bcel.classfile.Visitor

public class FindPuzzlers extends OpcodeStackDetector
  • Field Details

    • SYSTEM_OUT

      static FieldDescriptor SYSTEM_OUT
    • SYSTEM_ERR

      static FieldDescriptor SYSTEM_ERR
    • bugReporter

      final BugReporter bugReporter
    • bugAccumulator

      final BugAccumulator bugAccumulator
    • testingEnabled

      private final boolean testingEnabled
    • becameTop

      int becameTop
    • imul_constant

      int imul_constant
    • imul_distance

      int imul_distance
    • imul_operand_is_parameter

      boolean imul_operand_is_parameter
    • prevOpcodeIncrementedRegister

      int prevOpcodeIncrementedRegister
    • valueOfConstantArgumentToShift

      int valueOfConstantArgumentToShift
    • best_priority_for_ICAST_INTEGER_MULTIPLY_CAST_TO_LONG

      int best_priority_for_ICAST_INTEGER_MULTIPLY_CAST_TO_LONG
    • constantArgumentToShift

      boolean constantArgumentToShift
    • shiftOfNonnegativeValue

      boolean shiftOfNonnegativeValue
    • ternaryConversionState

      int ternaryConversionState
    • badlyComputingOddState

      int badlyComputingOddState
    • prevOpCode

      int prevOpCode
    • previousMethodInvocation

      XMethod previousMethodInvocation
    • isTigerOrHigher

      boolean isTigerOrHigher
    • ITERATOR

      static ClassDescriptor ITERATOR
    • MAP_ENTRY

      static ClassDescriptor MAP_ENTRY
    • pendingUnreachableBranch

      BugInstance pendingUnreachableBranch
  • Constructor Details

    • FindPuzzlers

      public FindPuzzlers(BugReporter bugReporter)
  • Method Details

    • visit

      public void visit(org.apache.bcel.classfile.Code obj)
      Overrides:
      visit in class DismantleBytecode
    • visit

      public void visit(org.apache.bcel.classfile.JavaClass obj)
      Overrides:
      visit in class BetterVisitor
    • resetIMulCastLong

      private void resetIMulCastLong()
    • adjustPriority

      private int adjustPriority(int factor, int priority)
    • adjustMultiplier

      private int adjustMultiplier(Object constant, int mul)
    • beforeOpcode

      public boolean beforeOpcode(int seen)
      Description copied from class: DismantleBytecode
      return false if we should skip calling sawOpcode
      Overrides:
      beforeOpcode in class OpcodeStackDetector
    • sawOpcode

      public void sawOpcode(int seen)
      Description copied from class: OpcodeStackDetector

      By default, this method will not be called when stack is TOP. To change this behavior, override #beforeOpcode(int) and change to return true even if stack is TOP.

      see Using FindBugs for Research to learn lattice and what TOP means.

      Specified by:
      sawOpcode in class OpcodeStackDetector
      See Also:
    • implementsRunnable

      boolean implementsRunnable(org.apache.bcel.classfile.JavaClass obj)
    • extendsThread

      boolean extendsThread(org.apache.bcel.classfile.JavaClass obj)