use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class ConfusingFunctionSemantics method visitClassContext.
/**
* implements the visitor to initialize/destroy the possible parameter registers and opcode stack
*
* @param classContext
* the context object of the currently parsed class
*/
@Override
public void visitClassContext(ClassContext classContext) {
try {
stack = new OpcodeStack();
possibleParmRegs = new HashMap<>(10);
super.visitClassContext(classContext);
} finally {
stack = null;
possibleParmRegs = null;
}
}
use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class ContainsBasedConditional method visitClassContext.
@Override
public void visitClassContext(ClassContext classContext) {
try {
stack = new OpcodeStack();
switchLocs = new BitSet();
super.visitClassContext(classContext);
} finally {
switchLocs = null;
stack = null;
}
}
use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class CustomBuiltXML method visitClassContext.
/**
* overrides the visitor to create and destroy the stack
*
* @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 MapUsageIssues method visitClassContext.
@Override
public void visitClassContext(ClassContext classContext) {
try {
stack = new OpcodeStack();
mapContainsKeyUsed = new HashMap<>();
mapGetUsed = new HashMap<>();
super.visitClassContext(classContext);
} finally {
mapContainsKeyUsed = null;
mapGetUsed = null;
stack = null;
}
}
use of edu.umd.cs.findbugs.OpcodeStack in project fb-contrib by mebigfatguy.
the class MissingMethodsDetector method visitClassContext.
/**
* overrides the visitor to initialize and tear down the opcode stack
*
* @param classContext
* the context object of the currently parsed class
*/
@Override
public void visitClassContext(ClassContext classContext) {
try {
String clsName = classContext.getJavaClass().getClassName();
isInnerClass = clsName.indexOf(Values.INNER_CLASS_SEPARATOR) >= 0;
clsSignature = SignatureUtils.classToSignature(clsName);
stack = new OpcodeStack();
localSpecialObjects = new HashMap<>();
fieldSpecialObjects = new HashMap<>();
super.visitClassContext(classContext);
if (!isInnerClass && !fieldSpecialObjects.isEmpty()) {
for (Map.Entry<String, String> entry : fieldSpecialObjects.entrySet()) {
String fieldName = entry.getKey();
String signature = entry.getValue();
bugReporter.reportBug(makeFieldBugInstance().addClass(this).addField(clsName, fieldName, signature, false));
}
}
} finally {
stack = null;
localSpecialObjects = null;
fieldSpecialObjects = null;
}
}
Aggregations