All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jp.co.worksap.oss.findbugs.ForbiddenSystemClass Maven / Gradle / Ivy

package jp.co.worksap.oss.findbugs;

import org.apache.bcel.classfile.Code;

import edu.umd.cs.findbugs.BugInstance;
import edu.umd.cs.findbugs.BugReporter;
import edu.umd.cs.findbugs.bcel.OpcodeStackDetector;

public class ForbiddenSystemClass extends OpcodeStackDetector {
    private BugReporter bugReporter;

    public ForbiddenSystemClass(BugReporter bugReporter) {
        this.bugReporter = bugReporter;
    }

    @Override
    public void visit(Code obj) {
        super.visit(obj);
    }

    @Override
    public void sawOpcode(int seen) {
        if (seen == GETSTATIC) {
            if (getClassConstantOperand().equals("java/lang/System")
                    && (getNameConstantOperand().equals("out") || getNameConstantOperand()
                            .equals("err"))) {
                BugInstance bug = new BugInstance(this, "FORBIDDEN_SYSTEM",
                        NORMAL_PRIORITY).addClassAndMethod(this).addSourceLine(
                        this, getPC());
                bugReporter.reportBug(bug);
            }
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy