--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/org.chromium.sdk/src/org/chromium/sdk/internal/tools/v8/V8Protocol.java Wed Dec 23 17:13:18 2009 -0800
@@ -0,0 +1,202 @@
+// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.sdk.internal.tools.v8;
+
+/**
+ * Events, command and response types and keys for the V8 Debugger
+ * protocol messages.
+ */
+public enum V8Protocol implements CharSequence {
+
+ KEY_SEQ("seq"),
+
+ KEY_REQSEQ("request_seq"),
+
+ KEY_TYPE("type"),
+
+ TYPE_EVENT("event"),
+
+ /**
+ * VM state.
+ */
+ KEY_RUNNING("running"),
+
+ TYPE_RESPONSE("response"),
+
+ TYPE_REQUEST("request"),
+
+ COMMAND_CONTINUE("continue"),
+
+ COMMAND_EVALUATE("evaluate"),
+
+ COMMAND_BACKTRACE("backtrace"),
+
+ COMMAND_FRAME("frame"),
+
+ COMMAND_SCRIPTS("scripts"),
+
+ COMMAND_SOURCE("source"),
+
+ COMMAND_SETBP("setbreakpoint"),
+
+ KEY_COMMAND("command"),
+
+ KEY_SUCCESS("success"),
+
+ KEY_MESSAGE("message"),
+
+ KEY_BODY("body"),
+
+ KEY_V8_VERSION("V8Version"),
+
+ FRAME_RECEIVER("receiver"),
+
+ FRAME_FUNC("func"),
+
+ BODY_INDEX("index"),
+
+ BODY_LOCALS("locals"),
+
+ BODY_SCOPES("scopes"),
+
+ BODY_ARGUMENTS("arguments"),
+
+ FRAME_SCRIPT("script"),
+
+ ARGUMENT_NAME("name"),
+
+ ARGUMENT_VALUE("value"),
+
+ LOCAL_NAME("name"),
+
+ LOCAL_VALUE("value"),
+
+ FRAME_REFS("refs"),
+
+ INFERRED_NAME("inferredName"),
+
+ /**
+ * Ref handle object. It contains name, value, type, handle (ref #).
+ */
+ REF_HANDLE("handle"),
+
+ REF_TEXT("text"),
+
+ REF_TYPE("type"),
+
+ /**
+ * A primitive type value.
+ */
+ REF_VALUE("value"),
+
+ /**
+ * A string-type value length.
+ */
+ REF_LENGTH("length"),
+
+ /**
+ * Object properties.
+ */
+ REF_PROPERTIES("properties"),
+
+ REF_PROP_NAME("name"),
+
+ REF_CONSTRUCTORFUNCTION("constructorFunction"),
+
+ REF_PROTOOBJECT("protoObject"),
+
+ REF_PROTOTYPEOBJECT("prototypeObject"),
+
+ REF_CLASSNAME("className"),
+
+ REF_PROP_TYPE("propertyType"),
+
+ BODY_FRAMES("frames"),
+
+ BODY_FRAME_TEXT("text"),
+
+ BODY_FRAME_LINE("line"),
+
+ BODY_FRAME_SRCLINE("sourceLineText"),
+
+ BODY_SOURCELINE("sourceLine"),
+
+ BODY_SOURCECOLUMN("sourceColumn"),
+
+ BODY_FRAME_POSITION("position"),
+
+ BREAK_BODY("body"),
+
+ BREAK_BREAKPOINTS("breakpoints"),
+
+ KEY_EVENT("event"),
+
+ EVENT_BREAK("break"),
+
+ EVENT_EXCEPTION("exception"),
+
+ /**
+ * Scripts and Source response.
+ */
+ SOURCE_CODE("source"),
+
+ /**
+ * Script name.
+ */
+ BODY_NAME("name"),
+
+ BODY_LINEOFFSET("lineOffset"),
+
+ BODY_LINECOUNT("lineCount"),
+
+ BODY_SCRIPT_TYPE("scriptType"),
+
+ BODY_SOURCE("body"),
+
+ BODY_SETBP("body"),
+
+ BODY_BREAKPOINT("breakpoint"),
+
+ BODY_TYPE("type"),
+
+ EVAL_BODY("body"),
+
+ REF("ref"),
+
+ ID("id"),
+
+ DATA("data"),
+
+ CONTEXT("context"),
+
+ EXCEPTION("exception"),
+
+ UNCAUGHT("uncaught"),
+
+ ;
+
+ public final String key;
+
+ private V8Protocol(String key) {
+ this.key = key;
+ }
+
+ public char charAt(int index) {
+ return key.charAt(index);
+ }
+
+ public int length() {
+ return key.length();
+ }
+
+ public CharSequence subSequence(int start, int end) {
+ return key.subSequence(start, end);
+ }
+
+ @Override
+ public String toString() {
+ return key;
+ }
+}