Sha256: a1b5ff7364f2e2219cbccadfff4a7837c6526b8394d8334f9fd9bcf93e5a3c97

Contents?: true

Size: 1.58 KB

Versions: 135

Compression:

Stored size: 1.58 KB

Contents

package com.xruby.debug.cmd;

import com.sun.jdi.request.EventRequest;
import com.xruby.debug.Instruction;
import com.xruby.debug.Result;
import com.xruby.debug.StopInsn;
import com.xruby.debug.DebugContext;

import java.util.List;

/**
 * Clear/List breakpoint
 *
 * @author Yu Su (beanworms@gmail.com)
 */
public class ClearInsn implements Instruction {

    private int index;
    private String position;

    public ClearInsn(int index) {
        this.index = index;
    }

    public ClearInsn(String position) {
        this.position = position;
    }

    public ClearInsn() {
        this(-1);
    }

    public Result execute() {
        Result result = new Result();
        result.setStatus(Result.Status.SUCCESSFUL);
        
        List<String> list = StopInsn.allBreakpoints();
        
        if(index > 0 && index <= list.size()) {
            position = list.get(index - 1);
        }

        if(position != null) {
            EventRequest request = StopInsn.getBreakpointReq(position);
            if(request != null) {
                DebugContext.getEventRequestManager().deleteEventRequest(request);
            }
            // TODO: A bug, if breakpoint is not resolved

            StopInsn.removeBreakpoint(position);
        } else {
            StringBuffer tmp = new StringBuffer();
            for(int i = 0; i < list.size(); i ++) {
                tmp.append(i + 1).append(" ").append(list.get(i)).append("\n");
            }

            DebugContext.emitMessage(tmp.toString());
        }

        return result;
    }
}

Version data entries

135 entries across 135 versions & 2 rubygems

Version Path
rhodes-7.6.0 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-7.5.1 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-7.4.1 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-7.1.17 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-6.2.0 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-6.0.11 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.18 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.17 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.15 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.0.22 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.2 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.0.7 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.0.3 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-5.5.0 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
tauplatform-1.0.3 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
tauplatform-1.0.2 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
tauplatform-1.0.1 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-3.5.1.12 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-3.3.5 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java
rhodes-3.4.2 platform/shared/xruby/src/com/xruby/debug/cmd/ClearInsn.java