;Compiler Error Messages
BCE0001=The class '{0}' already has '{1}' as its base class. 
BCE0002=Parameter name must be an identifier.
BCE0003=Named arguments are only allowed for constructors.
BCE0004=Ambiguous reference '{0}': {1}.
BCE0005=Unknown identifier: '{0}'.
BCE0006='{0}' is a value type. The 'as' operator can only be used with reference types.
BCE0007=The name '{0}' does not represent a public property or field of the type '{1}'.
BCE0008=The '{0}' type does not have a constructor with the signature '{1}'.
BCE0009=An error occurred during the resolution of the '{0}' ast attribute: '{1}'.
BCE0010='{0}' is an internal type. Ast attributes must be compiled to a separate assembly before they can be used.
BCE0011=An error occurred during the execution of the step '{0}': '{1}'.
BCE0012=The type '{0}' does not implement the ICompilerStep interface.
BCE0013=The element '{0}' must specify the attribute '{1}'.
BCE0014=AssemblyBuilder was not correctly set up.
BCE0015=Node '{0}' has not been correctly processed.
BCE0016=No overload of the method '{0}' takes '{1}' parameter(s).
BCE0017=The best overload for the method '{0}' is not compatible with the argument list '{1}'.
BCE0018=The name '{0}' does not denote a valid type.
BCE0019='{0}' is not a member of '{1}'.
BCE0020=An instance of type '{0}' is required to access non static member '{1}'.
BCE0021=Namespace '{0}' not found, maybe you forgot to add an assembly reference?
BCE0022=Cannot convert '{1}' to '{0}'.
BCE0023=No apropriate version of '{1}' for the argument list '{0}' was found.
BCE0024=The type '{0}' does not have a visible constructor that matches the argument list '{1}'.
BCE0025=Only unidimensional arrays are supported.
BCE0026='{0}' cannot be used in a boolean context.
BCE0027=Ambiguous type reference, it could be any of the following: '{0}'.
BCE0028=No entry point found.
BCE0029=More than one entry point found.
BCE0030=The node '{0}' is not in the collection.
BCE0031=Language feature still not implemented: '{0}'.
BCE0032=The event '{0}' expects a callable reference compatible with '{1}'.
BCE0033=The type '{0}' is not a valid attribute.
BCE0034=Expressions in statements must only be executed for their side-effects.
BCE0035='{0}' conflicts with inherited member '{1}'.
BCE0036=typeof must be used with a type reference as its single argument.
BCE0037=Unknown macro: '{0}'.
BCE0038='{0}' is not a valid macro.
BCE0039='{0}' is internal. Only external macros can be expanded.
BCE0040=Generic error.
BCE0041=Failed to load assembly '{0}'.
BCE0042=Error reading from '{0}': '{1}'.
BCE0043=Unexpected token: {0}.
BCE0044='{0}'.
BCE0045=Macro expansion error: '{0}'.
BCE0046='{0}' can't be used with a value type ('{1}')
BCE0047=Method '{0}' cannot be overriden because it is not virtual.
BCE0048=Type '{0}' does not support slicing.
BCE0049=Expression cannot be assigned to.
BCE0050=Operator '{0}' cannot be used with an expression of type '{1}'.
BCE0051=Operator '{0}' cannot be used with a left hand side of type '{1}' and a right hand side of type '{2}'.
BCE0052=Type '{0}' is not a valid argument for 'len'.
BCE0053=Property '{0}' is read only.
BCE0054='isa' expects a type reference, a System.Type instance or a type array.
BCE0055=Internal compiler error: {0}.
BCE0056=File '{0}' was not found.
BCE0057=Primitive '{0}' can't be redefined.
BCE0058=Object required.
BCE0059=The 'lock' macro expects at least one argument.
BCE0060='{0}': no suitable method found to override.
BCE0061='{0}' is not an override.
BCE0062=Could not infer the return type for the method '{0}'.
BCE0063=No enclosing loop out of which to break or continue.
BCE0064=No attribute with the name '{0}' or '{0}Attribute' was found (attribute names are case insensitive).
BCE0065=Cannot iterate over expression of type '{0}'.
BCE0066=The attribute '{0}' can only be applied to '{1}' nodes.
BCE0067=There is already a local variable with the name '{0}'.
BCE0068=The property '{0}' cannot be used without parameters.
BCE0069=Interface '{0}' can only inherit from another interface but the type '{1}' is not an interface.
BCE0070=Definition of '{0}' depends on '{1}' whose type could not be resolved because of a cycle. Explicitly declare the type of either one to break the cycle.
BCE0071=Inheritance cycle detected: '{0}'.
BCE0072=Overriden method '{0}' has a return type of '{1}' not '{2}'.
BCE0073=Abstract method '{0}' cannot have a body.
BCE0074='self' cannot be used outside a method.
BCE0075='{0}' is a namespace. Namespaces cannot be used as expressions.
BCE0076=Runtime methods must have an empty body.
BCE0077=It is not possible to invoke an expression of type '{0}'.
BCE0078=A method reference was expected.
BCE0079=__addressof__ builtin function can only be used in delegate constructors.
BCE0080='{0}' builtin function cannot be used as an expression.
BCE0081=A raise statement with no arguments is not allowed outside an exception handler.
BCE0082='{0}' is not callable. Event type must be callable.
BCE0083=Static constructors must be public.
BCE0084=Static constructors can not declare parameters.
BCE0085=Cannot create instance of abstract class '{0}'.
BCE0086=Cannot create instance of interface '{0}'.
BCE0087=Cannot create instance of enum '{0}'.
BCE0088=Sorry but the '{0}' prefix is reserved by the compiler. Friends?
BCE0089=Type '{0}' already has a definition for '{1}'.
BCE0090=Derived method '{0}' can not reduce the accessiblity of '{1}' from '{2}' to '{3}'.
BCE0091=Event reference '{0}' cannot be used as an expression.
BCE0092='{0}' is not a valid argument type for raise, only strings and exceptions are allowed.
BCE0093=Cannot branch into ensure block.
BCE0094=Cannot branch into exception handler.
BCE0095=No such label '{0}'.
BCE0096=Method '{0}' already has a label '{1}'.
BCE0097=Cannot branch into try block.
BCE0098=Invalid arguments for __switch__.
BCE0099=yield cannot be used inside a try, except or ensure block.
BCE0100=yield cannot be used inside constructors.
BCE0101=The return type of a generator must be either 'System.Collections.IEnumerable' or 'object'.
BCE0102=Generators cannot return values.
BCE0103=Cannot extend final type '{0}'.
BCE0104='transient' can only be applied to class, field and event definitions.
BCE0105='abstract' can only be applied to class, method, property and event definitions.
BCE0106=Failed to access the types defined in the assembly '{0}'.
BCE0107=Value types cannot declare parameterless constructors.
BCE0108=Value type fields cannot have initializers.
BCE0109=Array '{0}' is rank '{1}', not rank '{2}'.
BCE0110='{0}' is not a namespace.
BCE0111=Destructors cannot have any attributes or modifiers
BCE0112=Destructors cannot be passed parameters
BCE0113=Invalid character literal: '{0}'
BCE0114=Explicit interface implementation for non interface type '{0}'
BCE0115=Cannot implement interface item '{0}.{1}' when not implementing the interface '{0}'
BCE0116=Explicit member implementation for '{0}.{1}' must not declare any modifiers.
BCE0117=Field '{0}' is read only.
BCE0118=Target of explode expression must be an array.
BCE0119=Explode expression can only be used as the last argument to a callable which takes a variable number of arguments.
BCE0120='{0}' is unaccessible due to its protection level.
BCE0121='super' is not valid in this context.
BCE0122=Value type '{0}' does not provide an implementation for '{1}'. Value types cannot have abstract members.
BCE0123=Invalid parameter type '{0}'.
BCE0124=Invalid field type '{0}'.
BCE0125=Invalid declaration type '{0}'.
BCE0126=It is not possible to evaluate an expression of type '{0}'.
BCE0127=A ref or out argument must be an lvalue: '{0}'
BCE0128='try' block must be followed by either 'except' or 'ensure'.

;Compiler warnings
BCW0001=WARNING: Type '{0}' does not provide an implementation for '{1}' and will be marked abstract
BCW0002=WARNING: Statement modifiers have no effect in labels.
BCW0003=WARNING: Unused local variable '{0}'.
BCW0004=WARNING: right hand side of 'is' operator is a type reference, are you sure you don't want to use 'isa' instead?
BCW0005=WARNING: Unsubscribing from event '{0}' with an adapted method reference. Either change the signature of the method to '{1}' or use a cached reference of the correct type.
BCW0006=WARNING: Assignment to temporary.
BCW0007=WARNING: Assignment inside a conditional. Did you mean == instead of = here?: '{0}'


; BooC Command Line Errors
BCE0500=Response file '{0}' listed more than once.
BCE0501=Response file '{0}' could not be found.
BCE0502=An error occurred while loading response file '{0}'.

;Boo.Lang.Compiler
Boo.Lang.Compiler.GlobalNamespaceIsNotSet=Global namespace is not set!


;BooC Messages
BooC.Errors={0} error(s).
BooC.Warnings={0} warning(s).
BooC.ProcessingTime={0} module(s) processed in {1}ms after {2}ms of environment setup.
BooC.FatalError=Fatal error: {0}.
BooC.InvalidOption=Invalid option: {0}.
BooC.CantRunWithoutPipeline=A pipeline must be specified!
BooC.UnableToLoadPipeline=Failed to load pipeline {0}, cause: {1}.
BooC.NoPipeline=No compilation pipeline specified (/p:<PIPELINE>)
BooC.NoInputSpecified=No inputs specified
BooC.NoOutputSpecified=No output specified

;Boo.Lang
ListWasModified=The list was modified. 
ArgumentNotEnumerable=Argument is not enumerable (does not implement System.Collections.IEnumerable).
CantEnumerateNull=Cannot enumerate null.
UnpackListOfWrongSize=Unpack list of wrong size.
CantUnpackNull=Cannot unpack null.
UnpackArrayOfWrongSize=Unpack array of wrong size (expected={0}, actual={1}).
CantCompareItems=At least one side must implement IComparable or both sides should implement IEnumerable.
AssertArgCount=expecting 1 or 2 args to assert; got {0}
