###############################################################################
# Copyright (c) 2000, 2016 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
###############################################################################
### compiler messages.

### compilation
compilation_unresolvedProblem =  Unresolved compilation problem: \n
compilation_unresolvedProblems = Unresolved compilation problems: \n
compilation_request    = [parsing    {2} - #{0}/{1}]
compilation_loadBinary = [reading    {0}.class]
compilation_process    = [analyzing  {2} - #{0}/{1}]
compilation_write      = [writing    {1} - #{0}]
compilation_done       = [completed  {2} - #{0}/{1}]
compilation_units      = [{0} units compiled]
compilation_unit       = [{0} unit compiled]
compilation_internalError = Internal compiler error: {0}
compilation_beginningToCompile=Beginning to compile
compilation_processing=Processing {0}

### output
output_isFile =  Regular file {0} cannot be used as output directory
output_notValidAll =  Could not create output directory {0}
output_notValid = Could not create subdirectory {0} into output directory {1}

### problem
problem_noSourceInformation =
problem_atLine = (at line {0})

### abort
abort_invalidAttribute = SANITY CHECK: Invalid attribute for local variable {0}
abort_invalidExceptionAttribute = SANITY CHECK: Invalid attribute for exception attribute for {0}
abort_missingCode = Missing code implementation in the compiler
abort_againstSourceModel = Cannot compile against source model {0} issued from {1}
abort_invalidOpcode = SANITY CHECK: Invalid opcode {0} at pc {1} for stackmap table attribute for method {2}
abort_externaAnnotationFile = Failed to read external annotations for {0} from {1} due to an exception: {2}

### accept
accept_cannot = Cannot accept the compilation unit:

### parser
parser_incorrectPath = The path for the javadcl.java file is incorrect
parser_moveFiles = MOVE FILES IN THE Runtime DIRECTORY OF Parser.class
parser_syntaxRecovery = SYNTAX RECOVERY
parser_regularParse = REGULAR PARSE
parser_missingFile = missing file {0}
parser_corruptedFile = corrupted file {0}
parser_endOfFile = end of file
parser_endOfConstructor = end of constructor
parser_endOfMethod = end of method
parser_endOfInitializer = end of initializer

### ast
ast_missingCode = Missing code gen implementation

### constant
constant_cannotCastedInto =  {0} constant cannot be casted into {1}
constant_cannotConvertedTo = {0} constant cannot be converted to {1}
