Package edu.umd.cs.findbugs

Examples of edu.umd.cs.findbugs.BugInstance.addClass()


                            .addCalledMethod(this);
                    Subtypes2 subtypes2 = AnalysisContext.currentAnalysisContext().getSubtypes2();
                    Set<ClassDescriptor> directSubtypes = subtypes2.getDirectSubtypes(getClassDescriptor());
                    if (!directSubtypes.isEmpty()) {
                        for (ClassDescriptor sub : directSubtypes) {
                            bug.addClass(sub).describe(ClassAnnotation.SUBCLASS_ROLE);
                        }
                        bug.setPriority(Priorities.HIGH_PRIORITY);
                    }
                    bugAccumulator.accumulateBug(bug, this);
                }
View Full Code Here


            Set<String> loop = lf.findLoop(dependencyGraph, clsName);
            boolean pruneLeaves;
            if (loop != null) {
                BugInstance bug = new BugInstance(this, "CD_CIRCULAR_DEPENDENCY", NORMAL_PRIORITY);
                for (String loopCls : loop) {
                    bug.addClass(loopCls);
                }
                bugReporter.reportBug(bug);
                pruneLeaves = removeLoopLinks(dependencyGraph, loop);
            } else {
                dependencyGraph.remove(clsName);
View Full Code Here

            BugInstance bug = new BugInstance(this, "EQ_DOESNT_OVERRIDE_EQUALS", NORMAL_PRIORITY);

            // create annotation pointing to this class source line 1, otherwise the primary annotation shows parent class
            SourceLineAnnotation sourceLine = new SourceLineAnnotation(getDottedClassName(), obj.getSourceFileName(), 1, 1, 0, 0);
            bug.addClass(getDottedClassName()).add(sourceLine);
            bug.addMethod(inheritedEquals).describe(MethodAnnotation.METHOD_DID_YOU_MEAN_TO_OVERRIDE);
            bugReporter.reportBug(bug);
        }
    }
View Full Code Here

            public void visitMethodInsn(int opcode, String owner, String invokedName, String invokedDesc, boolean itf) {
                if (prevPC + 1 == getPC() && prevOpcode == I2D && opcode == INVOKESTATIC && owner.equals("java/lang/Math")
                        && invokedName.equals("ceil") && invokedDesc.equals("(D)D")) {
                    BugInstance bug0 = new BugInstance(TestASM.this, "ICAST_INT_CAST_TO_DOUBLE_PASSED_TO_CEIL", NORMAL_PRIORITY);
                    MethodAnnotation methodAnnotation = MethodAnnotation.fromForeignMethod(TestASM.this.name, name, desc, access);
                    bug0.addClass(TestASM.this).addMethod(methodAnnotation);
                    bugReporter.reportBug(bug0);
                }
            }
        };
View Full Code Here

                                        } catch (CheckedAnalysisException e) {
                                            continue;
                                        }
                                        XMethod m = Hierarchy2.findMethod(c, "equals", "(Ljava/lang/Object;)Z", false);
                                        if (m == null) {
                                            bug.addClass(c).describe(ClassAnnotation.SUBCLASS_ROLE);
                                            priority--;
                                            bug.setPriority(priority);
                                        }
                                    }
View Full Code Here

                    overhead > 20 * SIZE_OF_HUGE_CONSTANT ? HIGH_PRIORITY
                            : (overhead > 8 * SIZE_OF_HUGE_CONSTANT ? NORMAL_PRIORITY : LOW_PRIORITY)).addClass(className)
                            .addField(field).addInt(length).addInt(occursIn.size()).describe(IntAnnotation.INT_OCCURRENCES);
            for (String c : occursIn) {
                if (!c.equals(className)) {
                    bug.addClass(c);
                }
            }

            bugReporter.reportBug(bug);

View Full Code Here

                            if (!subclass.equals(getClassDescriptor())) {

                                XClass xSub = AnalysisContext.currentXFactory().getXClass(subclass);
                                if (xSub != null && xSub.findMethod("readResolve", "()Ljava/lang/Object;", false) == null
                                        && xSub.findMethod("writeReplace", "()Ljava/lang/Object;", false) == null) {
                                    bug.addClass(subclass).describe(ClassAnnotation.SUBCLASS_ROLE);
                                    nasty = true;
                                }
                            }
                        }
                        if (nasty) {
View Full Code Here

        if (descriptor instanceof FieldDescriptor) {
            bug.addField((FieldDescriptor)descriptor);
        } else if (descriptor instanceof MethodDescriptor) {
            bug.addMethod((MethodDescriptor)descriptor);
        } else if (descriptor instanceof ClassDescriptor) {
            bug.addClass((ClassDescriptor)descriptor);
        }
        if (DEBUG) {
            System.out.println("Reporting " + bug);
        }
        return bug;
View Full Code Here

                    priority--;
                }
                BugInstance bug = new BugInstance(this, "CN_IDIOM_NO_SUPER_CALL", priority).addClass(this).addMethod(
                        cloneMethodAnnotation);
                for (ClassDescriptor d : directSubtypes) {
                    bug.addClass(d).describe(ClassAnnotation.SUBCLASS_ROLE);
                }
                bugReporter.reportBug(bug);
            } catch (ClassNotFoundException e) {
                bugReporter.reportMissingClass(e);
            }
View Full Code Here

                    System.out.println("reporting warning");
                }

                BugInstance bugInstance = new BugInstance(this, exitInTryBlock ? "DE_MIGHT_DROP" : "DE_MIGHT_IGNORE", priority)
                .addClassAndMethod(this);
                bugInstance.addClass(causeName).describe("CLASS_EXCEPTION");
                bugInstance.addSourceLine(srcLine);
                bugAccumulator.accumulateBug(bugInstance, srcLine);

            }
        }
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.