JDWPConstants.java revision d37f4b603e2e5f5a9139f97fcd9f8c41fa6d0d3f
1fe71893183f504feff290e343bf740bd32432129Chris Lattner/*
26cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * Licensed to the Apache Software Foundation (ASF) under one or more
36cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * contributor license agreements.  See the NOTICE file distributed with
46cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * this work for additional information regarding copyright ownership.
56cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * The ASF licenses this file to You under the Apache License, Version 2.0
66cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * (the "License"); you may not use this file except in compliance with
76cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * the License.  You may obtain a copy of the License at
86cefb77a7073057fecd721ae141140d75ce76512Chris Lattner *
96cefb77a7073057fecd721ae141140d75ce76512Chris Lattner *     http://www.apache.org/licenses/LICENSE-2.0
10fe71893183f504feff290e343bf740bd32432129Chris Lattner *
116cefb77a7073057fecd721ae141140d75ce76512Chris Lattner *  Unless required by applicable law or agreed to in writing, software
126cefb77a7073057fecd721ae141140d75ce76512Chris Lattner *  distributed under the License is distributed on an "AS IS" BASIS,
136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner *
1593c7e418257bd65fcf8f5d9faa9487dd99358430Chris Lattner *  See the License for the specific language governing permissions and
166cefb77a7073057fecd721ae141140d75ce76512Chris Lattner *  limitations under the License.
176cefb77a7073057fecd721ae141140d75ce76512Chris Lattner */
186cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
196cefb77a7073057fecd721ae141140d75ce76512Chris Lattner/**
206cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * @author Aleksey V. Yantsen
219a79de3d091978cfee5264ee2563fc5dedd33cb7Chuck Rose III */
226cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
236cefb77a7073057fecd721ae141140d75ce76512Chris Lattner/**
246cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * Created on 10.25.2004
256cefb77a7073057fecd721ae141140d75ce76512Chris Lattner */
266cefb77a7073057fecd721ae141140d75ce76512Chris Lattnerpackage org.apache.harmony.jpda.tests.framework.jdwp;
276cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
286cefb77a7073057fecd721ae141140d75ce76512Chris Lattner/**
296cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * This class defines various constants from JDWP specifications.
306cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * Each class has getName function to convert a constant value
316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner * to string equivalent.
326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner */
336cefb77a7073057fecd721ae141140d75ce76512Chris Lattnerpublic class JDWPConstants {
346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
366cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP ThreadStatus constants
376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class ThreadStatus {
396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte ZOMBIE = 0;
416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
426cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte RUNNING = 1;
436cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
446cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte SLEEPING = 2;
456cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
466cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte MONITOR = 3;
476cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
486cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte WAIT = 4;
496cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
506cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
516cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
526cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
536cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param status
546cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
556cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(int status) {
586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            switch (status) {
596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ZOMBIE:
606cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ZOMBIE";
616cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case RUNNING:
626cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "RUNNING";
636cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case SLEEPING:
646cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "SLEEPING";
656cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case MONITOR:
666cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "MONITOR";
676cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case WAIT:
686cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "WAIT";
696cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
706cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
716cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
726cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
766cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP SuspendStatus constants
776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class SuspendStatus {
796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte SUSPEND_STATUS_SUSPENDED = 1;
816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
84327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         *
85327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         * @param status
86327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         *            a constant from ones declared in this class
87327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         * @return String
88327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         */
89327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static String getName(int status) {
90327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            if (status == SUSPEND_STATUS_SUSPENDED)
91327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "SUSPENDED";
92327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            return "NONE";
93327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        }
94327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel    }
95327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
96327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel    /**
97327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel     * JDWP ClassStatus constants
98327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel     */
99327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel    public static class ClassStatus {
100327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
101327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static final byte VERIFIED = 1;
102327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
103327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static final byte PREPARED = 2;
104327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
105327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static final byte INITIALIZED = 4;
106327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
107327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static final byte ERROR = 8;
108327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
109327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        // it looks like JDWP spec becomes out of date
110327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        // see JVMTI specification for GetClassStatus:
111327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        //
112327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static final byte ARRAY = 16;
113327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
114327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static final byte PRIMITIVE = 32;
115327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
116327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        /**
117327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         * Gets name for corresponding constant value.
118327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         *
119327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         * @param status
120327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         *            a constant from ones declared in this class
121327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         * @return String
122327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel         */
123327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel        public static String getName(int status) {
124327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel
125327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            String returnValue = "";
126327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            if ((status & VERIFIED) == VERIFIED)
127327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                returnValue += "|VERIFIED";
128327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            if ((status & PREPARED) == PREPARED)
129327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                returnValue += "|PREPARED";
130327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            if ((status & INITIALIZED) == INITIALIZED)
1316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                returnValue += "|INITIALIZED";
1326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            if ((status & ERROR) == ERROR)
1336cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                returnValue += "|ERROR";
1346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            if ((status & ARRAY) == ARRAY)
1356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                returnValue += "|ARRAY";
1366cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            if ((status & PRIMITIVE) == PRIMITIVE)
1376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                returnValue += "|PRIMITIVE";
1386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            if (returnValue.equals("")) {
1406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                returnValue = "NONE";
1416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            } else {
1426cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                returnValue = returnValue.substring(1);
1436cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
1446cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1456cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            return returnValue;
1466cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
1476cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
1486cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1496cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
1506cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP TypeTag constants
1516cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
1526cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class TypeTag {
1536cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1546cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte CLASS = 1;
1556cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte INTERFACE = 2;
1576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte ARRAY = 3;
1596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1606cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
1616cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
162b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman         *
163b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman         * @param refTypeTag
164b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman         *            a constant from ones declared in this class
165b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman         * @return String
1666cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
1676cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(byte refTypeTag) {
1686cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            switch (refTypeTag) {
1696cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case CLASS:
1706cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "CLASS";
1716cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INTERFACE:
1726cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INTERFACE";
1736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ARRAY:
1746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ARRAY";
1756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
1766cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
1776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
1786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
1796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
1806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
1826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP Tag constants
1836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
1846cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class Tag {
1856cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1866cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte ARRAY_TAG = 91;
1876cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1886cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte BYTE_TAG = 66;
1896cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1906cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte CHAR_TAG = 67;
1916cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1926cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte OBJECT_TAG = 76;
1936cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1946cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte FLOAT_TAG = 70;
1956cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1966cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte DOUBLE_TAG = 68;
1976cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
1986cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte INT_TAG = 73;
1996cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2006cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte LONG_TAG = 74;
2016cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2026cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte SHORT_TAG = 83;
2036cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2046cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte VOID_TAG = 86;
2056cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2066cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte BOOLEAN_TAG = 90;
2076cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2086cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte STRING_TAG = 115;
2096cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2106cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte THREAD_TAG = 116;
2116cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2126cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte THREAD_GROUP_TAG = 103;
2136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte CLASS_LOADER_TAG = 108;
2156cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2166cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte CLASS_OBJECT_TAG = 99;
2176cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2186cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte NO_TAG = 0;
2196cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2206cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
2216cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
2226cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
2236cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param tag
2246cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
2256cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
2266cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
2276cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(byte tag) {
2286cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            switch (tag) {
2296cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ARRAY_TAG:
2306cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ARRAY_TAG";
2316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case BYTE_TAG:
2326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "BYTE_TAG";
2336cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case CHAR_TAG:
2346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "CHAR_TAG";
2356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case OBJECT_TAG:
2366cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "OBJECT_TAG";
2376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case FLOAT_TAG:
2386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "FLOAT_TAG";
2396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case DOUBLE_TAG:
2406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "DOUBLE_TAG";
2416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INT_TAG:
2426cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INT_TAG";
2436cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case LONG_TAG:
2446cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "LONG_TAG";
2456cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case SHORT_TAG:
2466cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "SHORT_TAG";
2476cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case VOID_TAG:
2486cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "VOID_TAG";
2496cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case BOOLEAN_TAG:
2506cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "BOOLEAN_TAG";
2516cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case STRING_TAG:
2526cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "STRING_TAG";
2536cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case THREAD_TAG:
2546cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "THREAD_TAG";
2556cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case THREAD_GROUP_TAG:
2566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "THREAD_GROUP_TAG";
2576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case CLASS_LOADER_TAG:
2586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "CLASS_LOADER_TAG";
2596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case CLASS_OBJECT_TAG:
2606cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "CLASS_OBJECT_TAG";
2616cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NO_TAG:
2626cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NO_TAG";
2636cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
2646cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
2656cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
2666cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
2676cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
2686cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2696cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
2706cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP EventKind constants
2716cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
2726cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class EventKind {
2736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte SINGLE_STEP = 1;
2756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2766cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte BREAKPOINT = 2;
2776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte FRAME_POP = 3;
2796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte EXCEPTION = 4;
2816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte USER_DEFINED = 5;
2836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2846cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte THREAD_START = 6;
2856cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2866cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte THREAD_END = 7;
2876cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2886cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte THREAD_DEATH = THREAD_END;
2896cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2906cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte CLASS_PREPARE = 8;
2916cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2926cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte CLASS_UNLOAD = 9;
2936cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2946cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte CLASS_LOAD = 10;
2956cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2966cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte FIELD_ACCESS = 20;
2976cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
2986cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte FIELD_MODIFICATION = 21;
2996cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3006cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte EXCEPTION_CATCH = 30;
3016cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3026cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte METHOD_ENTRY = 40;
3036cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3046cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte METHOD_EXIT = 41;
3056cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3066cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        // METHOD_EXIT_WITH_RETURN_VALUE
3076cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        // MONITOR_CONTENDED_ENTER,MONITOR_CONTENDED_ENTER
3086cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        // MONITOR_WAIT, MONITOR_WAITED are new events for Java 6
3096cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte METHOD_EXIT_WITH_RETURN_VALUE = 42;
3106cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3116cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte MONITOR_CONTENDED_ENTER = 43;
3126cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte MONITOR_CONTENDED_ENTERED = 44;
3146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3156cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte MONITOR_WAIT = 45;
3166cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3176cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte MONITOR_WAITED = 46;
3186cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3196cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte VM_INIT = 90;
3206cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3216cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte VM_START = VM_INIT;
3226cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3236cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte VM_DEATH = 99;
3246cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3256cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte VM_DISCONNECTED = 100;
3266cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3276cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
3286cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
3296cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
3306cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param eventKind
3316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
3326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
3336cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
3346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(byte eventKind) {
3356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            switch (eventKind) {
3366cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case SINGLE_STEP:
3376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "SINGLE_STEP";
3386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case BREAKPOINT:
3396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "BREAKPOINT";
3406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case FRAME_POP:
3416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "FRAME_POP";
342b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman            case EXCEPTION:
343b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman                return "EXCEPTION";
344b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman            case USER_DEFINED:
345b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman                return "USER_DEFINED";
346b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman            case THREAD_START:
347b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman                return "THREAD_START";
348b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman            case THREAD_END:
349b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman                return "THREAD_END";
350b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman            case CLASS_PREPARE:
351b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman                return "CLASS_PREPARE";
352b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman            case CLASS_UNLOAD:
353b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman                return "CLASS_UNLOAD";
354b5af3344c196de5ed3f45b250dfb864be6e9ddc5Nate Begeman            case CLASS_LOAD:
3556cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "CLASS_LOAD";
3566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case FIELD_ACCESS:
3576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "FIELD_ACCESS";
3586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case FIELD_MODIFICATION:
3596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "FIELD_MODIFICATION";
3606cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case EXCEPTION_CATCH:
3616cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "EXCEPTION_CATCH";
3626cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case METHOD_ENTRY:
3636cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "METHOD_ENTRY";
3646cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case METHOD_EXIT:
3656cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "METHOD_EXIT";
3666cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case METHOD_EXIT_WITH_RETURN_VALUE:
3676cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "METHOD_EXIT_WITH_RETURN_VALUE";
3686cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case MONITOR_CONTENDED_ENTER:
3696cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "MONITOR_CONTENDED_ENTER";
3706cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case MONITOR_CONTENDED_ENTERED:
3716cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "MONITOR_CONTENDED_ENTERED";
3726cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case MONITOR_WAIT:
3736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "MONITOR_WAIT";
3746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case MONITOR_WAITED:
3756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "MONITOR_WAITED";
3766cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case VM_INIT:
3776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "VM_INIT";
3786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case VM_DEATH:
3796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "VM_DEATH";
3806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case VM_DISCONNECTED:
3816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "VM_DISCONNECTED";
3826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
3836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
3846cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
385c8478d8b12c2d7e4cea32d0c9940f5cac2baa4ddChris Lattner        }
386c8478d8b12c2d7e4cea32d0c9940f5cac2baa4ddChris Lattner    }
387710e995889c71812743f3f33861c24273f4569a7Chris Lattner
388710e995889c71812743f3f33861c24273f4569a7Chris Lattner    /**
389bc0b9f70ae072d695e0eb7ceb729b3306b0679feChris Lattner     * JDWP Error constants
390bc0b9f70ae072d695e0eb7ceb729b3306b0679feChris Lattner     */
3916cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class Error {
3926cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3936cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NONE = 0;
3946cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3956cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_THREAD = 10;
3966cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3976cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_THREAD_GROUP = 11;
3986cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
3996cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_PRIORITY = 12;
4006cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4016cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int THREAD_NOT_SUSPENDED = 13;
4026cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4036cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int THREAD_SUSPENDED = 14;
4046cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4056cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int THREAD_NOT_ALIVE = 15;
4066cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4076cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_OBJECT = 20;
4086cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4096cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_CLASS = 21;
4106cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4116cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int CLASS_NOT_PREPARED = 22;
4126cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_METHODID = 23;
4146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4156cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_LOCATION = 24;
4166cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4176cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_FIELDID = 25;
4186cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4196cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_FRAMEID = 30;
4206cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4216cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NO_MORE_FRAMES = 31;
4226cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4236cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int OPAQUE_FRAME = 32;
4246cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4256cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NOT_CURRENT_FRAME = 33;
4266cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4276cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int TYPE_MISMATCH = 34;
4286cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4296cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_SLOT = 35;
4306cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int DUPLICATE = 40;
4326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4336cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NOT_FOUND = 41;
4346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_MONITOR = 50;
4366cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NOT_MONITOR_OWNER = 51;
4386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INTERRUPT = 52;
4406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_CLASS_FORMAT = 60;
4426cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4436cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int CIRCULAR_CLASS_DEFENITION = 61;
4446cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4456cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int FAILS_VERIFICATION = 62;
4466cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4476cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ADD_METHOD_NOT_IMPLEMENTED = 63;
4486cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4496cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int SCHEMA_CHANGE_NOT_IMPLEMENTED = 64;
4506cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4516cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_TYPESTATE = 65;
4526cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4536cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int HIERARCHY_CHANGE_NOT_IMPLEMENTED = 66;
4546cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4556cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int DELETE_METHOD_NOT_IMPLEMENTED = 67;
4566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int UNSUPPORTED_VERSION = 68;
4586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NAMES_DONT_MATCH = 69;
4606cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4616cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 70;
4626cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4636cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED = 71;
4646cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4656cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NOT_IMPLEMENTED = 99;
4666cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4676cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NULL_POINTER = 100;
4686cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4696cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ABSENT_INFORMATION = 101;
4706cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4716cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_EVENT_TYPE = 102;
4726cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ILLEGAL_ARGUMENT = 103;
4746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int OUT_OF_MEMORY = 110;
4766cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ACCESS_DENIED = 111;
4786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int VM_DEAD = 112;
4806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INTERNAL = 113;
4826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int UNATTACHED_THREAD = 115;
4846cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4856cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_TAG = 500;
4866cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4876cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ALREADY_INVOKING = 502;
4886cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4896cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_INDEX = 503;
4906cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4916cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_LENGTH = 504;
4926cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4936cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_STRING = 506;
4946cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4956cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_CLASS_LOADER = 507;
4966cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4976cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_ARRAY = 508;
4986cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
4996cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int TRANSPORT_LOAD = 509;
5006cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
5016cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int TRANSPORT_INIT = 510;
5026cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
5036cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int NATIVE_METHOD = 511;
5046cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
5056cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int INVALID_COUNT = 512;
5066cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
5076cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
5086cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
5096cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
5106cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param errorCode
5116cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
5126cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
5136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
5146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(int errorCode) {
5156cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            switch (errorCode) {
5166cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NONE:
5176cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NONE";
5186cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_THREAD:
5196cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_THREAD";
5206cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_THREAD_GROUP:
5216cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_THREAD_GROUP";
5226cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_PRIORITY:
5236cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_PRIORITY";
5246cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case THREAD_NOT_SUSPENDED:
5256cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "THREAD_NOT_SUSPENDED";
5266cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case THREAD_SUSPENDED:
5276cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "THREAD_SUSPENDED";
5286cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case THREAD_NOT_ALIVE:
5296cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "THREAD_NOT_ALIVE";
5306cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_OBJECT:
5316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_OBJECT";
5326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_CLASS:
5336cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_CLASS";
5346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case CLASS_NOT_PREPARED:
5356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "CLASS_NOT_PREPARED";
5366cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_METHODID:
5376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_METHODID";
5386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_LOCATION:
5396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_LOCATION";
5406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_FIELDID:
5416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_FIELDID";
5426cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_FRAMEID:
5436cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_FRAMEID";
5446cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NO_MORE_FRAMES:
5456cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NO_MORE_FRAMES";
5466cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case OPAQUE_FRAME:
547327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "OPAQUE_FRAME";
548327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            case NOT_CURRENT_FRAME:
549327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "NOT_CURRENT_FRAME";
550327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            case TYPE_MISMATCH:
551327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "TYPE_MISMATCH";
552327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            case INVALID_SLOT:
553327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "INVALID_SLOT";
554327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            case DUPLICATE:
555327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "DUPLICATE";
5566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NOT_FOUND:
5576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NOT_FOUND";
5586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_MONITOR:
5596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_MONITOR";
5606cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NOT_MONITOR_OWNER:
5616cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NOT_MONITOR_OWNER";
5626cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INTERRUPT:
563327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "INTERRUPT";
564327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            case INVALID_CLASS_FORMAT:
56571a2cb25ebc818383dd0f80475bc166f834e8d99Chris Lattner                return "INVALID_CLASS_FORMAT";
56671a2cb25ebc818383dd0f80475bc166f834e8d99Chris Lattner            case CIRCULAR_CLASS_DEFENITION:
56771a2cb25ebc818383dd0f80475bc166f834e8d99Chris Lattner                return "CIRCULAR_CLASS_DEFENITION";
568327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            case FAILS_VERIFICATION:
569327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel                return "FAILS_VERIFICATION";
5706cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ADD_METHOD_NOT_IMPLEMENTED:
5716cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ADD_METHOD_NOT_IMPLEMENTED";
5726cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case SCHEMA_CHANGE_NOT_IMPLEMENTED:
5736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "SCHEMA_CHANGE_NOT_IMPLEMENTED";
5746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_TYPESTATE:
5756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_TYPESTATE";
576327d0651f8c3b1480d8fc1f4d96e07a1452eaa8cScott Michel            case HIERARCHY_CHANGE_NOT_IMPLEMENTED:
5776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "HIERARCHY_CHANGE_NOT_IMPLEMENTED";
5786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case DELETE_METHOD_NOT_IMPLEMENTED:
5796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "DELETE_METHOD_NOT_IMPLEMENTED";
5806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case UNSUPPORTED_VERSION:
5816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "UNSUPPORTED_VERSION";
5826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NAMES_DONT_MATCH:
5836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NAMES_DONT_MATCH";
5846cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED:
5856cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED";
5866cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED:
5876cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED";
5886cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NOT_IMPLEMENTED:
5896cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NOT_IMPLEMENTED";
5906cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NULL_POINTER:
5916cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NULL_POINTER";
5926cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ABSENT_INFORMATION:
5936cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ABSENT_INFORMATION";
5946cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_EVENT_TYPE:
5956cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_EVENT_TYPE";
5966cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ILLEGAL_ARGUMENT:
5976cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ILLEGAL_ARGUMENT";
5986cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case OUT_OF_MEMORY:
5996cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "OUT_OF_MEMORY";
6006cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ACCESS_DENIED:
6016cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ACCESS_DENIED";
6026cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case VM_DEAD:
6036cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "VM_DEAD";
6046cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INTERNAL:
6056cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INTERNAL";
6066cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case UNATTACHED_THREAD:
6076cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "UNATTACHED_THREAD";
6086cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_TAG:
6096cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_TAG";
6106cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ALREADY_INVOKING:
6116cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ALREADY_INVOKING";
6126cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_INDEX:
6136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_INDEX";
6146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_LENGTH:
6156cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_LENGTH";
6166cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_STRING:
6176cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_STRING";
6186cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_CLASS_LOADER:
6196cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_CLASS_LOADER";
6206cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_ARRAY:
6216cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_ARRAY";
6226cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case TRANSPORT_LOAD:
6236cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "TRANSPORT_LOAD";
6246cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case TRANSPORT_INIT:
6256cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "TRANSPORT_INIT";
6266cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case NATIVE_METHOD:
6276cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "NATIVE_METHOD";
6286cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INVALID_COUNT:
6296cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INVALID_COUNT";
6306cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
6316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
6326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
6336cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
6346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
6356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6366cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
6376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP StepDepth constants
6386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
6396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class StepDepth {
6406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte INTO = 0;
6426cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6436cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte OVER = 1;
6446cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6456cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte OUT = 2;
6466cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6476cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
6486cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
6496cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
6506cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param code
6516cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
6526cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
6536cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
6546cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(int code) {
6556cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            switch (code) {
6566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case INTO:
6576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "INTO";
6586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case OVER:
6596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "OVER";
6606cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case OUT:
6616cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "OUT";
6626cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
6636cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
6646cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
6656cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
6666cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
6676cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6686cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
6696cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP StepSize constants
6706cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
6716cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class StepSize {
6726cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte MIN = 0;
6746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte LINE = 1;
6766cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
6786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
6796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
6806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param code
6816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
6826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
6836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
6846cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(int code) {
6856cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            switch (code) {
6866cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case MIN:
6876cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "MIN";
6886cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case LINE:
6896cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "LINE";
6906cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
6916cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
6926cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
6936cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
6946cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
6956cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
6966cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
6976cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * JDWP SuspendPolicy constants
6986cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     */
6996cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class SuspendPolicy {
7006cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7016cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte NONE = 0;
7026cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7036cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte EVENT_THREAD = 1;
7046cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7056cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte ALL = 2;
7066cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7076cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
7086cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
7096cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
7106cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param code
7116cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
7126cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
7136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
7146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(int code) {
715e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            switch (code) {
716e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            case NONE:
717e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner                return "NONE";
718e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            case EVENT_THREAD:
719e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner                return "EVENT_THREAD";
720e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            case ALL:
721e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner                return "ALL";
722e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            default:
723e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner                return "<unknown>";
724e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            }
725e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner        }
726e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner    }
727e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner
728e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner    /**
729e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner     * JDWP InvokeOptions constants
730e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner     */
7316cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    public static class InvokeOptions {
7326cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte INVOKE_SINGLE_THREADED = 0x01;
7336cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7346cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final byte INVOKE_NONVIRTUAL = 0x02;
7356cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
736fe71893183f504feff290e343bf740bd32432129Chris Lattner        /**
7376cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
7386cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
7396cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param code
7406cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *            a constant from ones declared in this class
7416cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
7426cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
7436cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(int code) {
7446cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            String buf = "NONE";
7456cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            if ((code & INVOKE_SINGLE_THREADED) != 0) {
7466cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                buf += "|INVOKE_SINGLE_THREADED";
7476cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
7486cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            if ((code & INVOKE_NONVIRTUAL) != 0) {
7496cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                buf += "|INVOKE_NONVIRTUAL";
7506cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
7516cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            if ((code & ~(INVOKE_SINGLE_THREADED | INVOKE_NONVIRTUAL)) != 0) {
7526cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                buf += "|<unknown>";
7536cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
7546cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            return buf;
7556cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
7566cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
7576cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7586cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    /**
7596cefb77a7073057fecd721ae141140d75ce76512Chris Lattner     * Field access flags
7600123b7dcfa9be97588926407163deb8d603487ceScott Michel     */
76127926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling    public static class FieldAccess {
76227926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling
76327926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling        /**
76427926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling         * Is public; may be accessed from outside its package; Any field.
76527926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling         */
76627926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling        public static final int ACC_PUBLIC = 0x0001;
76727926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling
76827926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling        /**
76927926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling         * Is private; usable only within the defining class; Class field.
77027926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling         */
77127926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling        public static final int ACC_PRIVATE = 0x0002;
77227926af8285b194df04db2b9a1e38ec1e570c9acBill Wendling
7736cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
7746cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Is protected; may be accessed within subclasses; Class field.
7756cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
7766cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ACC_PROTECTED = 0x0004;
7776cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7786cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
7796cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Is static; Any field.
7806cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
7816cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ACC_STATIC = 0x0008;
7826cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7836cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
7846cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Is final; no further overriding or assignment after initialization;
7856cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Any field.
7866cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
7876cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ACC_FINAL = 0x0010;
7886cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7896cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
7906cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Is volatile; cannot be cached; Class field.
7916cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
7926cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ACC_VOLATILE = 0x0040;
7936cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
7946cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
7956cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Is transient; not written or read by a persistent object manager;
7966cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Class field.
7976cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
7986cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static final int ACC_TRANSIENT = 0x0080;
7996cefb77a7073057fecd721ae141140d75ce76512Chris Lattner
8006cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        /**
8016cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * Gets name for corresponding constant value.
8026cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         *
8036cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @param code
804e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner         *            a constant from ones declared in this class
8056cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         * @return String
8066cefb77a7073057fecd721ae141140d75ce76512Chris Lattner         */
8076cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        public static String getName(int code) {
808e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            switch (code) {
8096cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ACC_PUBLIC:
810e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner                return "ACC_PUBLIC";
811e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            case ACC_PRIVATE:
812e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner                return "ACC_PRIVATE";
8136cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ACC_PROTECTED:
8146cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ACC_PROTECTED";
8156cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ACC_STATIC:
8166cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ACC_STATIC";
8176cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ACC_FINAL:
8186cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ACC_FINAL";
819e67bde5bb1959dbd7085981cb0bcf6f7c749f724Chris Lattner            case ACC_VOLATILE:
8206cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ACC_VOLATILE";
8216cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            case ACC_TRANSIENT:
8226cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "ACC_TRANSIENT";
8236cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            default:
8246cefb77a7073057fecd721ae141140d75ce76512Chris Lattner                return "<unknown>";
8256cefb77a7073057fecd721ae141140d75ce76512Chris Lattner            }
8266cefb77a7073057fecd721ae141140d75ce76512Chris Lattner        }
8276cefb77a7073057fecd721ae141140d75ce76512Chris Lattner    }
8286cefb77a7073057fecd721ae141140d75ce76512Chris Lattner}
8296cefb77a7073057fecd721ae141140d75ce76512Chris Lattner