@Override
    public void visitMethod(Method obj) {
        stack.resetForMethodEntry(this);
        jdbcLocals.clear();

        int[] parmRegs = RegisterUtils.getParameterRegisters(obj);
        Type[] argTypes = obj.getArgumentTypes();

        for (int t = 0; t < argTypes.length; t++) {
            String sig = argTypes[t].getSignature();
            if (isJDBCClass(sig)) {
                jdbcLocals.put(Integer.valueOf(parmRegs[t]),
                        Integer.valueOf(RegisterUtils.getLocalVariableEndRange(obj.getLocalVariableTable(), parmRegs[t], 0)));
            }
        }
    }
@ Override public void visitMethod ( Method obj ) { stack . resetForMethodEntry ( this ) ; jdbcLocals . clear ( ) ; int [ ] parmRegs = RegisterUtils . getParameterRegisters ( obj ) ; Type [ ] argTypes = obj . getArgumentTypes ( ) ; for ( int t = 0 ; t < argTypes . length ; t ++ ) { String sig = argTypes [ t ] . getSignature ( ) ; if ( isJDBCClass ( sig ) ) { jdbcLocals . put ( Integer . valueOf ( parmRegs [ t ] ) , Integer . valueOf ( RegisterUtils . getLocalVariableEndRange ( obj . getLocalVariableTable ( ) , parmRegs [ t ] , 0 ) ) ) ; } } }
implement the visitor to reset the opcode stack and set of locals that are jdbc objects

@param obj
the context param of the currently parsed method