Java 类com.sun.jdi.request.AccessWatchpointRequest 实例源码

项目:jive    文件:EventHandlerFactory.java   
protected void removeFieldRequests(final JDIDebugTarget target)
{
  final EventRequestManager manager = target.getEventRequestManager();
  if (manager != null && !fieldRequests.isEmpty())
  {
    try
    {
      manager.deleteEventRequests(fieldRequests);
      for (final EventRequest request : fieldRequests)
      {
        target.removeJDIEventListener(
            request instanceof AccessWatchpointRequest ? fieldReadHandler : fieldWriteHandler,
            request);
      }
    }
    catch (final RuntimeException e)
    {
      JiveDebugPlugin.log(e);
    }
  }
}
项目:openjdk-jdk10    文件:EventRequestManagerImpl.java   
public AccessWatchpointRequest
                          createAccessWatchpointRequest(Field field) {
    validateMirror(field);
    if (!vm.canWatchFieldAccess()) {
        throw new UnsupportedOperationException(
      "target VM does not support access watchpoints");
    }
    return new AccessWatchpointRequestImpl(field);
}
项目:form-follows-function    文件:F3EventRequest.java   
public static List<AccessWatchpointRequest> wrapAccessWatchpointRequests(
        F3VirtualMachine f3vm,  List<AccessWatchpointRequest> reqs) {
    if (reqs == null) {
        return null;
    }
     List<AccessWatchpointRequest> result = new ArrayList<AccessWatchpointRequest>();
     for (AccessWatchpointRequest req : reqs) {
         result.add(wrap(f3vm, req));
     }
     return result;
}
项目:jive    文件:EventHandlerFactory.java   
protected void createFieldRequests(final JDIDebugTarget target, final ReferenceType refType)
{
  final EventRequestManager manager = target.getEventRequestManager();
  if (manager != null)
  {
    try
    {
      // monitor all non-synthetic fields of the prepared classes for reads/writes
      for (final Object o : refType.fields())
      {
        final Field f = (Field) o;
        // Ignore compiler generated fields
        if (!f.isSynthetic() && f.name().indexOf("$") == -1)
        {
          // monitor field reads
          final AccessWatchpointRequest readRequest = manager.createAccessWatchpointRequest(f);
          readRequest.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
          readRequest.enable();
          fieldRequests.add(readRequest);
          target.addJDIEventListener(fieldReadHandler, readRequest);
          // monitor field writes
          final ModificationWatchpointRequest writeRequest = manager
              .createModificationWatchpointRequest(f);
          writeRequest.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
          writeRequest.enable();
          fieldRequests.add(writeRequest);
          target.addJDIEventListener(fieldWriteHandler, writeRequest);
        }
      }
    }
    catch (final RuntimeException e)
    {
      JiveDebugPlugin.log(e);
    }
  }
}
项目:openjdk-jdk10    文件:EventRequestManagerImpl.java   
public List<AccessWatchpointRequest> accessWatchpointRequests() {
    return (List<AccessWatchpointRequest>)unmodifiableRequestList(JDWP.EventKind.FIELD_ACCESS);
}
项目:form-follows-function    文件:F3AccessWatchpointRequest.java   
public F3AccessWatchpointRequest(F3VirtualMachine f3vm, AccessWatchpointRequest underlying) {
    super(f3vm, underlying);
}
项目:form-follows-function    文件:F3AccessWatchpointRequest.java   
@Override
protected AccessWatchpointRequest underlying() {
    return (AccessWatchpointRequest) super.underlying();
}
项目:form-follows-function    文件:F3EventRequestManager.java   
public List<AccessWatchpointRequest> accessWatchpointRequests() {
    return F3EventRequest.wrapAccessWatchpointRequests(virtualMachine(),
            underlying().accessWatchpointRequests());
}
项目:form-follows-function    文件:F3EventRequest.java   
public static F3EventRequest wrap(F3VirtualMachine f3vm, EventRequest req) {
    if (req == null) {
        return null;
    }

    if (req instanceof AccessWatchpointRequest) {
        return new F3AccessWatchpointRequest(f3vm, (AccessWatchpointRequest)req);
    } else if (req instanceof BreakpointRequest) {
        return new F3BreakpointRequest(f3vm, (BreakpointRequest)req);
    } else if (req instanceof ClassPrepareRequest) {
        return new F3ClassPrepareRequest(f3vm, (ClassPrepareRequest)req);
    } else if (req instanceof ClassUnloadRequest) {
        return new F3ClassUnloadRequest(f3vm, (ClassUnloadRequest)req);
    } else if (req instanceof ExceptionRequest) {
        return new F3ExceptionRequest(f3vm, (ExceptionRequest)req);
    } else if (req instanceof MethodEntryRequest) {
        return new F3MethodEntryRequest(f3vm, (MethodEntryRequest)req);
    } else if (req instanceof MethodExitRequest) {
        return new F3MethodExitRequest(f3vm, (MethodExitRequest)req);
    } else if (req instanceof ModificationWatchpointRequest) {
        return new F3ModificationWatchpointRequest(f3vm, (ModificationWatchpointRequest)req);
    } else if (req instanceof MonitorContendedEnterRequest) {
        return new F3MonitorContendedEnterRequest(f3vm, (MonitorContendedEnterRequest)req);
    } else if (req instanceof MonitorContendedEnteredRequest) {
        return new F3MonitorContendedEnteredRequest(f3vm, (MonitorContendedEnteredRequest)req);
    } else if (req instanceof MonitorWaitRequest) {
        return new F3MonitorWaitRequest(f3vm, (MonitorWaitRequest)req);
    } else if (req instanceof MonitorWaitedRequest) {
        return new F3MonitorWaitedRequest(f3vm, (MonitorWaitedRequest)req);
    } else if (req instanceof StepRequest) {
        return new F3StepRequest(f3vm, (StepRequest)req);
    } else if (req instanceof ThreadDeathRequest) {
        return new F3ThreadDeathRequest(f3vm, (ThreadDeathRequest)req);
    } else if (req instanceof ThreadStartRequest) {
        return new F3ThreadStartRequest(f3vm, (ThreadStartRequest)req);
    } else if (req instanceof VMDeathRequest) {
        return new F3VMDeathRequest(f3vm, (VMDeathRequest)req);
    } else if (req instanceof WatchpointRequest) {
        return new F3WatchpointRequest(f3vm, (WatchpointRequest)req);
    } else {
        return new F3EventRequest(f3vm, req);
    }
}
项目:form-follows-function    文件:F3EventRequest.java   
public static F3AccessWatchpointRequest wrap(
        F3VirtualMachine f3vm, AccessWatchpointRequest req) {
    return (req == null)? null : new F3AccessWatchpointRequest(f3vm, req);
}