/*******************************************************************************
 * 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 JDIStackFrame_NoLongerAvailable;

	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;

}
