blob: f256a338636f14e88ec964a0e7c1397ab477cb05 [file] [log] [blame]
/*
* Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
#include "jvmdi.h"
#include "JVMDITools.h"
#ifdef __cplusplus
extern "C" {
#endif
char const *TranslateEvent(jint kind) {
switch (kind) {
case JVMDI_EVENT_SINGLE_STEP:
return ("JVMDI_EVENT_SINGLE_STEP");
case JVMDI_EVENT_BREAKPOINT:
return ("JVMDI_EVENT_BREAKPOINT");
case JVMDI_EVENT_FRAME_POP:
return ("JVMDI_EVENT_FRAME_POP");
case JVMDI_EVENT_EXCEPTION:
return ("JVMDI_EVENT_EXCEPTION");
case JVMDI_EVENT_USER_DEFINED:
return ("JVMDI_EVENT_USER_DEFINED");
case JVMDI_EVENT_THREAD_START:
return ("JVMDI_EVENT_THREAD_START");
case JVMDI_EVENT_THREAD_END:
return ("JVMDI_EVENT_THREAD_END");
case JVMDI_EVENT_CLASS_PREPARE:
return ("JVMDI_EVENT_CLASS_PREPARE");
case JVMDI_EVENT_CLASS_UNLOAD:
return ("JVMDI_EVENT_CLASS_UNLOAD");
case JVMDI_EVENT_CLASS_LOAD:
return ("JVMDI_EVENT_CLASS_LOAD");
case JVMDI_EVENT_FIELD_ACCESS:
return ("JVMDI_EVENT_FIELD_ACCESS");
case JVMDI_EVENT_FIELD_MODIFICATION:
return ("JVMDI_EVENT_FIELD_MODIFICATION");
case JVMDI_EVENT_EXCEPTION_CATCH:
return ("JVMDI_EVENT_EXCEPTION_CATCH");
case JVMDI_EVENT_METHOD_ENTRY:
return ("JVMDI_EVENT_METHOD_ENTRY");
case JVMDI_EVENT_METHOD_EXIT:
return ("JVMDI_EVENT_METHOD_EXIT");
case JVMDI_EVENT_VM_INIT:
return ("JVMDI_EVENT_VM_INIT");
case JVMDI_EVENT_VM_DEATH:
return ("JVMDI_EVENT_VM_DEATH");
default:
return ("<Unknown Event>");
}
}
char const *TranslateError(jvmdiError err) {
switch (err) {
case JVMDI_ERROR_NONE:
return ("JVMDI_ERROR_NONE");
case JVMDI_ERROR_OUT_OF_MEMORY:
return ("JVMDI_ERROR_OUT_OF_MEMORY");
case JVMDI_ERROR_ACCESS_DENIED:
return ("JVMDI_ERROR_ACCESS_DENIED");
case JVMDI_ERROR_UNATTACHED_THREAD:
return ("JVMDI_ERROR_UNATTACHED_THREAD");
case JVMDI_ERROR_VM_DEAD:
return ("JVMDI_ERROR_VM_DEAD");
case JVMDI_ERROR_INTERNAL:
return ("JVMDI_ERROR_INTERNAL");
case JVMDI_ERROR_INVALID_THREAD:
return ("JVMDI_ERROR_INVALID_THREAD");
case JVMDI_ERROR_INVALID_FIELDID:
return ("JVMDI_ERROR_INVALID_FIELDID");
case JVMDI_ERROR_INVALID_METHODID:
return ("JVMDI_ERROR_INVALID_METHODID");
case JVMDI_ERROR_INVALID_LOCATION:
return ("JVMDI_ERROR_INVALID_LOCATION");
case JVMDI_ERROR_INVALID_FRAMEID:
return ("JVMDI_ERROR_INVALID_FRAMEID");
case JVMDI_ERROR_NO_MORE_FRAMES:
return ("JVMDI_ERROR_NO_MORE_FRAMES");
case JVMDI_ERROR_OPAQUE_FRAME:
return ("JVMDI_ERROR_OPAQUE_FRAME");
case JVMDI_ERROR_NOT_CURRENT_FRAME:
return ("JVMDI_ERROR_NOT_CURRENT_FRAME");
case JVMDI_ERROR_TYPE_MISMATCH:
return ("JVMDI_ERROR_TYPE_MISMATCH");
case JVMDI_ERROR_INVALID_SLOT:
return ("JVMDI_ERROR_INVALID_SLOT");
case JVMDI_ERROR_DUPLICATE:
return ("JVMDI_ERROR_DUPLICATE");
case JVMDI_ERROR_THREAD_NOT_SUSPENDED:
return ("JVMDI_ERROR_THREAD_NOT_SUSPENDED");
case JVMDI_ERROR_THREAD_SUSPENDED:
return ("JVMDI_ERROR_THREAD_SUSPENDED");
case JVMDI_ERROR_INVALID_OBJECT:
return ("JVMDI_ERROR_INVALID_OBJECT");
case JVMDI_ERROR_INVALID_CLASS:
return ("JVMDI_ERROR_INVALID_CLASS");
case JVMDI_ERROR_CLASS_NOT_PREPARED:
return ("JVMDI_ERROR_CLASS_NOT_PREPARED");
case JVMDI_ERROR_NULL_POINTER:
return ("JVMDI_ERROR_NULL_POINTER");
case JVMDI_ERROR_ABSENT_INFORMATION:
return ("JVMDI_ERROR_ABSENT_INFORMATION");
case JVMDI_ERROR_INVALID_EVENT_TYPE:
return ("JVMDI_ERROR_INVALID_EVENT_TYPE");
case JVMDI_ERROR_NOT_IMPLEMENTED:
return ("JVMDI_ERROR_NOT_IMPLEMENTED");
case JVMDI_ERROR_INVALID_THREAD_GROUP:
return ("JVMDI_ERROR_INVALID_THREAD_GROUP");
case JVMDI_ERROR_INVALID_PRIORITY:
return ("JVMDI_ERROR_INVALID_PRIORITY");
case JVMDI_ERROR_NOT_FOUND:
return ("JVMDI_ERROR_NOT_FOUND");
case JVMDI_ERROR_INVALID_MONITOR:
return ("JVMDI_ERROR_INVALID_MONITOR");
case JVMDI_ERROR_ILLEGAL_ARGUMENT:
return ("JVMDI_ERROR_ILLEGAL_ARGUMENT");
case JVMDI_ERROR_NOT_MONITOR_OWNER:
return ("JVMDI_ERROR_NOT_MONITOR_OWNER");
case JVMDI_ERROR_INTERRUPT:
return ("JVMDI_ERROR_INTERRUPT");
case JVMDI_ERROR_INVALID_TYPESTATE:
return ("JVMDI_ERROR_INVALID_TYPESTATE");
case JVMDI_ERROR_INVALID_CLASS_FORMAT:
return ("JVMDI_ERROR_INVALID_CLASS_FORMAT");
case JVMDI_ERROR_CIRCULAR_CLASS_DEFINITION:
return ("JVMDI_ERROR_CIRCULAR_CLASS_DEFINITION");
case JVMDI_ERROR_ADD_METHOD_NOT_IMPLEMENTED:
return ("JVMDI_ERROR_ADD_METHOD_NOT_IMPLEMENTED");
case JVMDI_ERROR_SCHEMA_CHANGE_NOT_IMPLEMENTED:
return ("JVMDI_ERROR_SCHEMA_CHANGE_NOT_IMPLEMENTED");
case JVMDI_ERROR_FAILS_VERIFICATION:
return ("JVMDI_ERROR_FAILS_VERIFICATION");
#ifdef JVMDI_VERSION_1_2
case JVMDI_ERROR_UNSUPPORTED_VERSION:
return ("JVMDI_ERROR_UNSUPPORTED_VERSION");
case JVMDI_ERROR_HIERARCHY_CHANGE_NOT_IMPLEMENTED:
return ("JVMDI_ERROR_HIERARCHY_CHANGE_NOT_IMPLEMENTED");
case JVMDI_ERROR_DELETE_METHOD_NOT_IMPLEMENTED:
return ("JVMDI_ERROR_DELETE_METHOD_NOT_IMPLEMENTED");
case JVMDI_ERROR_NAMES_DONT_MATCH:
return ("JVMDI_ERROR_NAMES_DONT_MATCH");
case JVMDI_ERROR_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED:
return ("JVMDI_ERROR_CLASS_MODIFIERS_CHANGE_NOT_IMPLEMENTED");
case JVMDI_ERROR_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED:
return ("JVMDI_ERROR_METHOD_MODIFIERS_CHANGE_NOT_IMPLEMENTED");
#endif
default:
return ("<Unknown Error>");
}
}
#ifdef __cplusplus
}
#endif