use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class ModifyingUnmodifiableCollection method visitClassContext.
/**
* overrides the visitor to setup and tear down the opcode stack
*
* @param context
* the context object of the currently parse java class
*/
@Override
public void visitClassContext(ClassContext context) {
try {
stack = new OpcodeStack();
super.visitClassContext(context);
} finally {
stack = null;
}
}
use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class Section508Compliance method visitClassContext.
/**
* implements the visitor to create and clear the stack
*
* @param classContext
* the context object of the currently visited class
*/
@Override
public void visitClassContext(ClassContext classContext) {
try {
if ((jcomponentClass != null) && (accessibleClass != null)) {
JavaClass cls = classContext.getJavaClass();
if (cls.instanceOf(jcomponentClass) && !cls.implementationOf(accessibleClass)) {
bugReporter.reportBug(new BugInstance(this, BugType.S508C_NON_ACCESSIBLE_JCOMPONENT.name(), NORMAL_PRIORITY).addClass(cls));
}
}
stack = new OpcodeStack();
fieldLabels = new HashSet<>();
localLabels = new HashMap<>();
super.visitClassContext(classContext);
for (XField fa : fieldLabels) {
bugReporter.reportBug(new BugInstance(this, BugType.S508C_NO_SETLABELFOR.name(), NORMAL_PRIORITY).addClass(this).addField(fa));
}
} catch (ClassNotFoundException cnfe) {
bugReporter.reportMissingClass(cnfe);
} finally {
stack = null;
fieldLabels = null;
localLabels = null;
}
}
use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class NonSymmetricEquals method visitClassContext.
/**
* implements the visitor to create the stack object
*
* @param classContext
* the context object of the currently parsed class
*/
@Override
public void visitClassContext(ClassContext classContext) {
try {
stack = new OpcodeStack();
super.visitClassContext(classContext);
} finally {
stack = null;
}
}
use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class OptionalIssues method visitClassContext.
/**
* implements the visitor to filter out pre-1.8 classes, for 1.8+ classes, it creates the opcode stack and active stack ops
*
* @param classContext
* the context object of the currently parsed class
*/
@Override
public void visitClassContext(ClassContext classContext) {
currentClass = classContext.getJavaClass();
if (currentClass.getMajor() >= Const.MAJOR_1_8) {
try {
stack = new OpcodeStack();
activeStackOps = new ArrayDeque<>();
super.visitClassContext(classContext);
} finally {
activeStackOps = null;
stack = null;
}
}
currentClass = null;
}
use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class OrphanedDOMNode method visitClassContext.
/**
* implements the visitor to create and clear the stack, node creations and store maps
*
* @param classContext
* the context object for the currently parsed class
*/
@Override
public void visitClassContext(ClassContext classContext) {
try {
stack = new OpcodeStack();
nodeCreations = new HashMap<>();
nodeStores = new HashMap<>();
super.visitClassContext(classContext);
} finally {
stack = null;
nodeCreations = null;
nodeStores = null;
}
}
Aggregations