/*******************************************************************************
 * Copyright (c) 2000, 2018 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 - Initial API and implementation
 *******************************************************************************/
package org.eclipse.jdt.internal.debug.core.model;

import org.eclipse.osgi.util.NLS;

public class JDIDebugModelMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.jdt.internal.debug.core.model.JDIDebugModelMessages";//$NON-NLS-1$

	public static String JDIArrayEntryVariable_exception_modifying_variable_value;
	public static String JDIArrayEntryVariable_exception_retrieving_reference_type;
	public static String JDIArrayEntryVariable_exception_retrieving_type_signature;
	public static String JDIArrayEntryVariable_exception_while_retrieving_type_of_array_entry;
	public static String JDIArrayEntryVariable_value_modification_failed;

	public static String JDIArrayType_exception_while_creating_new_instance_of_array;
	public static String JDIArrayType_exception_while_retrieving_component_type_of_array;

	public static String JDIArrayValue_exception_while_retrieving_array_length;
	public static String JDIArrayValue_exception_while_retrieving_value_from_array;
	public static String JDIArrayValue_exception_while_retrieving_values_from_array;
	public static String JDIArrayValue_exception_while_setting_value_in_array;
	public static String JDIArrayValue_6;
	public static String JDIArrayValue_8;

	public static String JDIClassType_exception_while_performing_method_lookup_for_constructor;
	public static String JDIClassType_exception_while_performing_method_lookup_for_selector;
	public static String JDIClassType_exception_while_retrieving_class_object;
	public static String JDIClassType_exception_while_retrieving_field;
	public static String JDIClassType_exception_while_retrieving_superclass;
	public static String JDIClassType_Type_does_not_implement_cosntructor;
	public static String JDIClassType_Type_does_not_implement_selector;
	public static String JDIClassType_Type_is_not_a_class_type;

	public static String JDIDebugElement_unknown;

	public static String JDIDebugTarget_2;

	public static String JDIDebugTarget_4;
	public static String JDIDebugTarget_does_not_support_disconnect;
	public static String JDIDebugTarget_does_not_support_storage_retrieval;
	public static String JDIDebugTarget_does_not_support_termination;
	public static String JDIDebugTarget_exception_disconnecting;
	public static String JDIDebugTarget_exception_resume;
	public static String JDIDebugTarget_exception_retrieving_version_information;
	public static String JDIDebugTarget_exception_suspend;
	public static String JDIDebugTarget_exception_terminating;
	public static String JDIDebugTarget_JDI_Event_Dispatcher;
	public static String JDIDebugTarget_Unable_to_create_class_prepare_request___VM_disconnected__2;
	public static String JDIDebugTarget_Unable_to_create_class_prepare_request__3;
	public static String JDIDebugTarget_Unable_to_retrieve_types___VM_disconnected__4;
	public static String JDIDebugTarget_0;
	public static String JDIDebugTarget_ThreadNameNotifier;

	public static String JDIFieldVariable_exception_modifying_value;
	public static String JDIFieldVariable_exception_retrieving_field_name;
	public static String JDIFieldVariable_exception_retrieving_field_signature;
	public static String JDIFieldVariable_exception_while_retrieving_type_of_field;

	public static String JDILocalVariable_exception_modifying_local_variable_value;
	public static String JDILocalVariable_exception_retrieving_local_variable_name;
	public static String JDILocalVariable_exception_retrieving_local_variable_type_name;
	public static String JDILocalVariable_exception_retrieving_local_variable_type_signature;
	public static String JDILocalVariable_exception_while_retrieving_type_of_local_variable;

	public static String JDIModificationVariable_0;

	public static String JDIModificationVariable_Unable_to_generate_value___VM_disconnected__1;

	public static String JDINullValue_0;

	public static String JDIObjectValue_12;

	public static String JDIObjectValue_13;

	public static String JDIObjectValue_14;

	public static String JDIObjectValue_exception_retrieving_field;
	public static String JDIObjectValue_exception_retrieving_reference_type;
	public static String JDIObjectValue_exception_while_performing_method_lookup_for_selector;
	public static String JDIObjectValue_11;
	public static String JDIObjectValue_0;
	public static String JDIObjectValue_1;

	public static String JDIReferenceListValue_0;
	public static String JDIReferenceListValue_2;
	public static String JDIReferenceListValue_3;
	public static String JDIReferenceListValue_4;
	public static String JDIReferenceListValue_6;
	public static String JDIReferenceListValue_7;
	public static String JDIReferenceListValue_8;
	public static String JDIReferenceListValue_9;
	public static String JDIReferenceListValue_11;
	public static String JDIReferenceListValue_15;

	public static String JDIReferenceType_5;

	public static String JDIStackFrame__unknown_declaring_type__1;
	public static String JDIStackFrame__unknown_method__1;
	public static String JDIStackFrame__unknown_receiving_type__2;

	public static String JDIStackFrame_26;
	public static String JDIStackFrame_Drop_to_frame_not_supported;
	public static String JDIStackFrame_exception_retreiving_declaring_type;
	public static String JDIStackFrame_exception_retrieving_argument_type_names;
	public static String JDIStackFrame_exception_retrieving_declaring_type;
	public static String JDIStackFrame_exception_retrieving_fields;
	public static String JDIStackFrame_exception_retrieving_line_number;
	public static String JDIStackFrame_exception_retrieving_method_name;
	public static String JDIStackFrame_exception_retrieving_method_signature;
	public static String JDIStackFrame_exception_retrieving_receiving_type;
	public static String JDIStackFrame_exception_retrieving_source_name;
	public static String JDIStackFrame_exception_retrieving_source_path;
	public static String JDIStackFrame_exception_retrieving_this;
	public static String JDIStackFrame_exception_retrieving_visible_variables_2;
	public static String JDIStackFrame_exception_retrieving_visible_variables;
	public static String JDIStackFrame_pop_frame_not_supported;
	public static String JDIStackFrame_Variable_information_unavailable_for_native_methods;
	public static String JDIStackFrame_ReturnValue;
	public static String JDIStackFrame_ReturningValue;
	public static String JDIStackFrame_ExceptionThrown;
	public static String JDIStackFrame_ThrowingException;
	public static String JDIStackFrame_NoMethodReturnValue;
	public static String JDIStackFrame_NotObservedBecauseOfTimeout;

	public static String JDIThisVariable_exception_while_retrieving_type_this;
	public static String JDIThisVariableexception_retrieving_reference_type_name;
	public static String JDIThisVariableexception_retrieving_type_signature;
	public static String JDIThisVariable_Exception_occurred_while_retrieving_modifiers__1;

	public static String JDIThread_47;

	public static String JDIThread_48;

	public static String JDIThread_can_only_specify_one_receiver_for_a_method_invocation;
	public static String JDIThread_Cannot_perform_nested_evaluations_2;
	public static String JDIThread_Cannot_perform_nested_evaluations;
	public static String JDIThread_Evaluation_failed___thread_not_suspended;
	public static String JDIThread_exception_creating_step_request;
	public static String JDIThread_exception_determining_if_system_thread;
	public static String JDIThread_exception_dropping_to_frame;
	public static String JDIThread_exception_invoking_method;
	public static String JDIThread_exception_popping;
	public static String JDIThread_exception_resuming;
	public static String JDIThread_exception_retrieving_frame_count;

	public static String JDIThread_exception_retrieving_stack_frames_2;
	public static String JDIThread_exception_retrieving_thread_group_name;
	public static String JDIThread_exception_retrieving_thread_group;
	public static String JDIThread_exception_retrieving_thread_name;
	public static String JDIThread_exception_retrieving_thread_priority;
	public static String JDIThread_exception_stepping;
	public static String JDIThread_exception_suspending;
	public static String JDIThread_exception_while_popping_stack_frame;
	public static String JDIThread_no_priority_field;
	public static String JDIThread_priority_not_an_integer;
	public static String JDIThread_Thread_must_be_suspended_by_step_or_breakpoint_to_perform_method_invocation_1;
	public static String JDIThread_suspend_timeout;
	public static String JDIThread_garbage_collected_1;
	public static String JDIThread_Unable_to_retrieve_stack_frame___thread_not_suspended__1;
	public static String JDIThread_Unable_to_create_step_request___VM_disconnected__1;
	public static String JDIThread_Unable_to_create_step_request___VM_disconnected__2;
	public static String JDIThread_39;

	public static String JDIThread_42;
	public static String JDIThread_43;
	public static String JDIThread_44;
	public static String JDIThread_45;
	public static String JDIThread_46;
	public static String JDIThread_0;

	public static String JDIThread_1;

	public static String JDIType_exception_while_retrieving_signature;
	public static String JDIType_exception_while_retrieving_type_name;

	public static String JDIValue_deallocated;
	public static String JDIValue_exception_is_collected;
	public static String JDIValue_exception_retrieving_fields;
	public static String JDIValue_exception_retrieving_length_of_array;
	public static String JDIValue_exception_retrieving_reference_type_name;
	public static String JDIValue_exception_retrieving_type_signature;
	public static String JDIValue_exception_retrieving_type;
	public static String JDIValue_exception_retrieving_unique_id;
	public static String JDIValue_exception_retrieving_value;
	public static String JDIValue_id_8;
	public static String JDIValue_null_4;

	public static String JDIVariable_does_not_support_value_modification;
	public static String JDIVariable_exception_retrieving;

	public static String Timer_Timer_cannot_be_started_more_than_once_1;

	public static String JDIObjectValueMethod_declaring_type_not_found_1;
	public static String JDIObjectValue_method_lookup_failed_for_selector____0____with_signature____1___1;
	public static String JDIThread_exception_stoping_thread;

	public static String JDIReferenceType_2;
	public static String JDIReferenceType_3;
	public static String JDIReferenceType_0;
	public static String JDIReferenceType_1;
	public static String JDIStackFrame_25;

	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, JDIDebugModelMessages.class);
	}

	public static String JDIStackFrame_0;

	public static String JDIFieldVariable_0;

	public static String JDIReferenceType_4;

	public static String JDIThreadGroup_0;

	public static String JDIThreadGroup_1;

	public static String JDIThreadGroup_2;

	public static String JDIThreadGroup_3;

	public static String JDIThreadGroup_4;

	public static String JDIThreadGroup_5;

	public static String JDIDebugTarget_1;

}
