###############################################################################
# Copyright (c) 2003, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
No_source_package_fragment_EXC_=IWAE0001E No source package fragment root could be found.
Specified_root_is_not_a_so_EXC_=IWAE0002E Specified root is not a source root.
Project_name_not_specified_EXC_=IWAE0003E Project name not specified.
An_analysis_import_can_onl_EXC_=IWAE0004E An analysis import can only be executed during run().
If_this_generation_continu_WARN_=IWAE0005W If this generation continues, the Java source file \"{0}\" will be overwritten.
Java_generation_requires_a_EXC_=IWAE0006E Java generation requires a JavaTopLevelGenerationHelper.
The_prepare_method_can_o_EXC_=IWAE0007E The prepare() method can only be called during run().
Member_generator_does_not__EXC_=IWAE0008E Member generator does not have a declaring type generator.
Enclosing_compilation_unit_EXC_=IWAE0009E Enclosing compilation unit generator not found.
Renames_of_main_types_are__EXC_=IWAE0010E Renames of main types are only supported in the Java code generation framework via a compilation unit rename.
The_field_will_not_gen_INFO_=IWAE0011I The field \"{1}\" will not be generated because a non-generated field with the same name already exists.
The_field_will_not_del_INFO_=IWAE0012I The field \"{0}\" will not be deleted because it is not marked generated.
The_method_will_not_gen_INFO_=IWAE0013I The method \"{1}\" will not be generated because a non-generated method with the same signature already exists.
The_method_will_not_del_INFO_=IWAE0014I The method \"{0}\" will not be deleted because it is not marked generated.
The_type_will_not_gen_INFO_=IWAE0015I The type \"{1}\" will not be generated because a non-generated type with the same name already exists.
The_type_will_not_del_INFO_=IWAE0016I The type \"{0}\" will not be deleted because it is not marked generated.
