Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 /*
  * fb-contrib - Auxiliary detectors for Java programs
  * Copyright (C) 2005-2014 Dave Brosius
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
  * License as published by the Free Software Foundation; either
  * version 2.1 of the License, or (at your option) any later version.
  *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */
package com.mebigfatguy.fbcontrib.debug;
import  org.apache.bcel.Constants;
import  org.apache.bcel.classfile.Code;
import  org.apache.bcel.classfile.Method;
public class OCSDebugger extends BytecodeScanningDetector {
    private static final String OCS_OUTPUT_FILE = "fb-contrib.ocs.output";
    private static final String OCS_METHOD_DESC = "fb-contrib.ocs.method";
    
    private static final String OUTPUT_FILE_NAME = System.getProperty();
    private static final String METHOD_DESC = System.getProperty();
    
    private OpcodeStack stack = new OpcodeStack();
    private PrintWriter pw = null;
    
    @SuppressWarnings("unused")
    public OCSDebugger(BugReporter bugReporter) {
    }
    
    public void visitClassContext(ClassContext classContext) {
        if (( != null) && ( != null))
            super.visitClassContext(classContext);
    }
    
    public void visitCode(Code obj) {
        Method m = getMethod();
        
        String curMethodDesc = getClassContext().getJavaClass().getClassName() + "." + m.getName() + m.getSignature();
        if (curMethodDesc.equals()) {
            try {
                 = new PrintWriter(new FileWriter());
                .resetForMethodEntry(this);
                super.visitCode(obj);
            } catch (IOException e) {
            } finally {
                .close();
                 = null;
            }              
        }
    }
    
    public void sawOpcode(int seen) {
        .precomputation(this);
        .sawOpcode(thisseen);
        .println(String.format("After executing: %-16s at PC: %-5d Stack Size: %-3d", Constants.OPCODE_NAMES[getOpcode()], getPC(), .getStackDepth()));
    }
New to GrepCode? Check out our FAQ X