###############################################################################
# Copyright (c) 2000, 2006 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
JavaHotCodeReplaceManager_Drop_to_frame_not_supported=Drop to frame not supported.
JavaHotCodeReplaceManager_does_not_support_hcr=VM does not support hot code replace.
JavaHotCodeReplaceManager_exception_replacing_types={0} occurred replacing types in VM.
JavaHotCodeReplaceManager_hcr_failed=Hot code replace failed - VM may be inconsistent
JavaHotCodeReplaceManager_hcr_ignored=Hot code replace ignored.
JavaHotCodeReplaceManager_hcr_unsupported_redefinition=Hot code replace failed - VM unable to perform requested redefinition
JavaHotCodeReplaceManager_hcr_unsupported_operation=Hot code replace failed - {0}
JavaHotCodeReplaceManager_hcr_bad_bytes=Hot code replace failed - new classfile name does not match reference type name
JavaHotCodeReplaceManager_hcr_verify_error=Hot code replace failed - verifier detected internal inconsistency or security problem
JavaHotCodeReplaceManager_hcr_unsupported_class_version=Hot code replace failed - class version number not supported by VM
JavaHotCodeReplaceManager_hcr_class_format_error=Hot code replace failed - class is not valid
JavaHotCodeReplaceManager_hcr_class_circularity_error=Hot code replace failed - circularity detected while initializing a class
JavaHotCodeReplaceManager_Hot_code_replace_failed___VM_disconnected__1=Hot code replace failed - VM disconnected.
JavaHotCodeReplaceManager_Hot_code_replace_failed___VM_disconnected__2=Hot code replace failed - VM disconnected.
