@Override public void visit(Code obj) { super.visit(obj); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code code) { super.visit(code); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { super.visit(obj); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visitJavaClass(JavaClass c) { super.visitJavaClass(c); accumulator.reportAccumulatedBugs(); }
@Override public void visit(Code code) { isPlainText = false; super.visit(code); map.clear(); accumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { super.visit(obj); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code code) { boolean interesting = testingEnabled; if (interesting) { // initialize any variables we want to initialize for the method super.visit(code); // make callbacks to sawOpcode for all opcodes } accumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { alreadySawStart = false; super.visit(obj); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { super.visit(obj); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { super.visit(obj); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code code) { super.visit(code); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { super.visit(obj); accumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { this.twoDoublesInStack = new ArrayList<>(); this.lastEmptyStackPC = 0; super.visit(obj); this.accumulator.reportAccumulatedBugs(); }
@Override public void visitJavaClass(JavaClass obj) { isInnerClass = false; // totally skip methods not defined in inner classes if (obj.getClassName().indexOf('$') >= 0) { super.visitJavaClass(obj); bugAccumulator.reportAccumulatedBugs(); } }
@Override public void visit(Code obj) { super.visit(obj); accumulateBug(); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visitClassContext(ClassContext classContext) { this.classContext = classContext; classContext.getJavaClass().accept(this); bugAccumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { if (getMethod().isStatic()) { return; } initializedFields = new HashSet<>(); nullCheckedFields = new HashSet<>(); super.visit(obj); accumulator.reportAccumulatedBugs(); }
@Override public void visit(Code code) { primer = UTF8.getBytes(getFullyQualifiedMethodName()); super.visit(code); // make callbacks to sawOpcode for all opcodes accumulator.reportAccumulatedBugs(); }
@Override public void visit(Code obj) { if ("equals".equals(getMethodName()) && "(Ljava/lang/Object;)Z".equals(getMethodSig())) { super.visit(obj); if (AnalysisContext.currentAnalysisContext().isApplicationClass(getThisClass())) { bugAccumulator.reportAccumulatedBugs(); } bugAccumulator.clearBugs(); } }
@Override public void visitAfter(Code code) { if(bugAccumulator.getLastBugLocation() == null && !sawExcludedNSECall && noSideEffectMethods.useless(getMethodDescriptor())) { // Do not report UC_USELESS_VOID_METHOD if something was already reported inside the current method // it's likely that UC_USELESS_VOID_METHOD is just the consequence of the previous report bugAccumulator.accumulateBug(new BugInstance(this, "UC_USELESS_VOID_METHOD", code.getCode().length > 40 ? HIGH_PRIORITY : code.getCode().length > 15 ? NORMAL_PRIORITY : LOW_PRIORITY) .addClassAndMethod(getMethodDescriptor()), this); } sawExcludedNSECall = false; bugAccumulator.reportAccumulatedBugs(); }