###############################################################################
# Copyright (c) 2007, 2014 Borland Software 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:
#     Borland Software Corporation - initial API and implementation
#     Alex Paperno - bugs 420970
#     Christopher Gerking - bug 427237
###############################################################################
ExtendedOclEvaluatorVisitorImpl_ModuleNotExecutable=Module ''{0}'' is not executable
ExtendedOclEvaluatorVisitorImpl_InvalidObjectExpType=Cannot cast {0} of type {1} to {2}\!
ExtendedOclEvaluatorVisitorImpl_ReadOnlyInputModel=Input model parameter ''{0}'' is read-only!
UknownSourceLabel=UknownSource
MappingPreconditionFailed=Precondition failed in mapping ''{0}''
MappingPostconditionFailed=Postcondition failed in mapping ''{0}''
ModelTypeConstraintFailed=WHERE condition failed for model parameter ''{0}'' of transformation ''{1}''
AssertFailedMessage=ASSERT [{0}] failed at ({1})
TerminatingExecution=Terminating execution...
FatalAssertionFailed=Fatal assertion failed
QvtOperationalEvaluationVisitorImpl_invalidConfigPropertyValue=Failed to get ''{0}'' configuration property value from ''{1}'' string
QvtOperationalEvaluationVisitorImpl_UndefModelParamInTransf=Undefined model passed to transformation
QvtOperationalEvaluationVisitorImpl_unexpectedRuntimeExc=Unexpected runtime exception caught during execution
IteratorNotImpl=Iterator ({0}) not yet implemented.
NoBlackboxOperationFound=No blackbox implementation found for ''{0}''
AmbiguousBlackboxOperationFound=Ambiguous blackbox implementation found for ''{0}''
BlackboxMappingFailedToAssignResult=Blackbox operation ''{0}'' failed to assign mapping result