/*******************************************************************************
 *  Copyright (c) 2000, 2009 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.logicalstructures;

import org.eclipse.osgi.util.NLS;

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

	public static String JavaLogicalStructure_0;

	public static String JDIAllInstancesValue_0;
	public static String JDIAllInstancesValue_1;
	public static String JDIAllInstancesValue_2;
	public static String JDIAllInstancesValue_4;
	public static String JDIAllInstancesValue_5;
	public static String JDIAllInstancesValue_7;
	public static String JDIAllInstancesValue_8;
	public static String JDIAllInstancesValue_9;
	public static String JDIAllInstancesValue_10;
	public static String JDIAllInstancesValue_11;
	public static String JDIAllInstancesValue_12;
	public static String JDIAllInstancesValue_13;

	public static String JavaLogicalStructures_0;
	public static String JavaLogicalStructures_1;
	public static String JavaLogicalStructures_2;
	public static String JavaLogicalStructures_3;
	public static String JavaLogicalStructures_4;
	public static String JavaStructureErrorValue_0;
	public static String JavaStructureErrorValue_1;
	public static String JavaLogicalStructure_1;
	public static String JavaLogicalStructure_2;
	public static String JavaLogicalStructure_3;

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