org.chromium.sdk/src/org/chromium/sdk/internal/tools/v8/request/DebuggerMessageFactory.java
changeset 2 e4420d2515f1
child 355 8726e95bcbba
equal deleted inserted replaced
1:ef76fc2ac88c 2:e4420d2515f1
       
     1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
       
     2 // Use of this source code is governed by a BSD-style license that can be
       
     3 // found in the LICENSE file.
       
     4 
       
     5 package org.chromium.sdk.internal.tools.v8.request;
       
     6 
       
     7 import java.util.List;
       
     8 
       
     9 import org.chromium.sdk.Breakpoint;
       
    10 import org.chromium.sdk.DebugContext.StepAction;
       
    11 
       
    12 /**
       
    13  * A factory for {@link DebuggerMessage}s. Static methods are used to construct
       
    14  * commands to be sent to the remote V8 debugger.
       
    15  */
       
    16 public class DebuggerMessageFactory {
       
    17 
       
    18   public static DebuggerMessage backtrace(Integer fromFrame, Integer toFrame,
       
    19       boolean compactFormat) {
       
    20     return new BacktraceMessage(fromFrame, toFrame, compactFormat);
       
    21   }
       
    22 
       
    23   public static DebuggerMessage goOn(StepAction stepAction, Integer stepCount) {
       
    24     return new ContinueMessage(stepAction, stepCount);
       
    25   }
       
    26 
       
    27   public static DebuggerMessage evaluate(String expression, Integer frame, Boolean global,
       
    28       Boolean disableBreak) {
       
    29     return new EvaluateMessage(expression, frame, global, disableBreak);
       
    30   }
       
    31 
       
    32   public static DebuggerMessage frame(Integer frameNumber) {
       
    33     return new FrameMessage(frameNumber);
       
    34   }
       
    35 
       
    36   public static ContextlessDebuggerMessage scripts(Integer types, Boolean includeScripts) {
       
    37     return new ScriptsMessage(types, includeScripts);
       
    38   }
       
    39 
       
    40   public static ContextlessDebuggerMessage scripts(List<Long> ids, Boolean includeScripts) {
       
    41     return new ScriptsMessage(ids, includeScripts);
       
    42   }
       
    43 
       
    44   public static ContextlessDebuggerMessage source(Integer frame, Integer fromLine, Integer toLine) {
       
    45     return new SourceMessage(frame, fromLine, toLine);
       
    46   }
       
    47 
       
    48   public static ContextlessDebuggerMessage setBreakpoint(Breakpoint.Type type, String target,
       
    49       Integer line, Integer position, Boolean enabled, String condition, Integer ignoreCount) {
       
    50     return new SetBreakpointMessage(type, target, line, position, enabled, condition, ignoreCount);
       
    51   }
       
    52 
       
    53   public static ContextlessDebuggerMessage changeBreakpoint(Breakpoint breakpoint) {
       
    54     return new ChangeBreakpointMessage(breakpoint.getId(), breakpoint.isEnabled(),
       
    55         breakpoint.getCondition(), getV8IgnoreCount(breakpoint.getIgnoreCount()));
       
    56   }
       
    57 
       
    58   public static ContextlessDebuggerMessage clearBreakpoint(Breakpoint breakpoint) {
       
    59     return new ClearBreakpointMessage(breakpoint.getId());
       
    60   }
       
    61 
       
    62   public static DebuggerMessage lookup(List<Long> refs, Boolean inlineRefs) {
       
    63     return new LookupMessage(refs, inlineRefs);
       
    64   }
       
    65 
       
    66   public static ContextlessDebuggerMessage suspend() {
       
    67     return new SuspendMessage();
       
    68   }
       
    69 
       
    70   public static DebuggerMessage scope(int scopeNumber, int frameNumber) {
       
    71     return new ScopeMessage(scopeNumber, frameNumber);
       
    72   }
       
    73 
       
    74   public static ContextlessDebuggerMessage version() {
       
    75     return new VersionMessage();
       
    76   }
       
    77 
       
    78   private static Integer getV8IgnoreCount(int count) {
       
    79     return count == Breakpoint.EMPTY_VALUE ? null : count;
       
    80   }
       
    81 }