;Compiler Error Messages
BCE0000='{0}'
BCE0001=The class '{0}' already has '{1}' as its base class. 
BCE0002=Parameter name must be an identifier.
BCE0003=Named arguments are only allowed when creating objects.
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 settable 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 ('{1}'). {2}
BCE0019='{0}' is not a member of '{1}'. {2}
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 appropriate 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 uni-dimensional 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=Internal macro '{0}' could not be compiled. Errors were reported.
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 overridden 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='self' is not valid in a static method, static property, or static field initializer.
BCE0059=The 'lock' macro expects at least one argument.
BCE0060='{0}': no suitable method found to override. {1}
BCE0060.IncompatibleSignature=Method of same name has been found with incompatible signature(s).
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). {1}
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=Overridden 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=Run-time and PInvoke 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__ built-in function can only be used in delegate constructors.
BCE0080='{0}' built-in 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 private.
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 accessibility 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=Return type '{0}' cannot be used on a generator. Did you mean '{0}*' ? Or use a '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 assembly {0}.
BCE0107=Value types cannot declare parameter-less 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 inaccessible 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 {1}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 at least one 'except' block or either a 'failure' or 'ensure' block.
BCE0129=Invalid extension definition, only static methods with at least one argument are allowed.
BCE0130='partial' can only be applied to class definitions.
BCE0131=Invalid combination of modifiers on '{0}': {1}.
BCE0132=The namespace '{0}' already contains a definition for '{1}'.
BCE0133=Invalid signature for Main. It should be one of: 'Main() as void', 'Main() as int', 'Main(argv as (string)) as void', 'Main(argv as (string)) as int'.
BCE0134='{0}' cannot return values.
BCE0135=Invalid name: '{0}'
BCE0136=Use a colon (:) instead of equal sign (=) for named parameters.
BCE0137=Property '{0}' is write only.
BCE0138='{0}' is not a generic definition.
BCE0139='{0}' requires '{1}' arguments.
BCE0140=Yield statement type '{0}' does not match generator element type '{1}'.
BCE0141=Duplicate parameter name '{0}' in '{1}'.
BCE0142=Cannot bind [default] attribute to value type parameter '{0}' in '{1}'.
BCE0143=Cannot return from an ensure block.
BCE0144='{0}' is obsolete. {1}
BCE0145=Cannot catch type '{0}'; 'except' blocks can only catch exceptions derived from 'System.Exception'. To catch non-CLS compliant exceptions, use a default exception handler or catch 'System.Runtime.CompilerServices.RuntimeWrappedException'.
BCE0146=The type '{0}' must be a reference type in order to substitute the generic parameter '{1}' in '{2}'. 
BCE0147=The type '{0}' must be a value type in order to substitute the generic parameter '{1}' in '{2}'. 
BCE0148=The type '{0}' must have a public default constructor in order to substitute the generic parameter '{1}' in '{2}'.
BCE0149=The type '{0}' must derive from '{1}' in order to substitute the generic parameter '{2}' in '{3}'. 
BCE0150='final' cannot be applied to interface, struct, or enum definitions.
BCE0151='static' cannot be applied to interface, struct, or enum definitions.
BCE0152=Constructors cannot be marked virtual, abstract, or override: '{0}'.
BCE0153='{0}' can be applied on one of these targets only : {1}.
BCE0154='{0}' cannot be applied multiple times on the same target.
BCE0155=Instantiating generic parameters is not yet supported.
;BCE0155=Cannot create an instance of the variable type '{0}' because it doesn't have a default constructor constraint.
BCE0156=Event '{0}' can only be invoked from within the class it was declared ('{1}').
BCE0157=Generic types without all generic parameters defined cannot be instantiated.
BCE0158=Cannot invoke instance method '{0}' before object initialization. Move your call after 'self' or 'super'.
BCE0159=Generic parameter '{0}' cannot have both a reference type constraint and a value type constraint.
BCE0160=Generic parameter '{0}' cannot have both a value type constraint and a default constructor constraint.
BCE0161=Type constraint '{1}' cannot be used together with the '{2}' constraint on generic parameter '{0}'.
BCE0162=Type '{1}' must be an interface type or a non-final class type to be used as a type constraint on generic parameter '{0}'.
BCE0163=Type constraint '{1}' on generic parameter '{0}' conflicts with type constraint '{2}'. At most one non-interface type constraint can be specified for a generic parameter.
BCE0164=Cannot infer generic arguments for method '{0}'. Provide stronger type information through arguments, or explicitly state the generic arguments.
BCE0165='{0}' is already handled by except block for '{1}' at {2}.
BCE0166=Unknown macro '{0}'. Did you mean to declare the field '{0} as object'?
BCE0167=Namespace '{0}' not found in assembly '{1}'
BCE0168=Cannot take the address of, get the size of, or declare a pointer to managed type `{0}'.
BCE0169=`{0}' in explicit interface declaration is not a member of interface `{1}'.
BCE0170=An enum member must be a constant integer value.
BCE0171=Constant value `{0}' cannot be converted to a `{1}'.
BCE0172=`{0}' interface member implementation must be public or explicit.
BCE0173=`{0}' is not a regex option. Valid options are: g, i, m, s, x, l, n, c and e.
BCE0174='{0}' is not an interface. Only interface members can be explicitly implemented.
BCE0175=Nested type '{0}' cannot extend enclosing type '{1}'.

;Compiler warnings
BCW0000=WARNING: {0}
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 do not 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}'?
BCW0008=WARNING: Duplicate namespace: '{0}'.
BCW0009=WARNING: The -keyfile option will override your AssemblyKeyFile attribute.
BCW0010=WARNING: The -keycontainer option will override your AssemblyKeyName attribute.
BCW0011=WARNING: Type '{0}' does not provide an implementation for '{1}', a stub has been created.
BCW0012=WARNING: '{0}' is obsolete. {1}
BCW0013=WARNING: '{1}' on static type '{0}' is redundantly marked static. All members of static types are automatically assumed to be static.
BCW0014=WARNING: {0} {1} '{2}' is never used.
BCW0015=WARNING: Unreachable code detected.
BCW0016=WARNING: Namespace '{0}' is never used.
BCW0017=WARNING: New protected {0} '{1}' declared in sealed class '{2}'.
BCW0018=WARNING: Overriding 'object.Finalize()' is bad practice. You should use destructor syntax instead.
BCW0019=WARNING: 'except {0}:' is ambiguous. Did you mean 'except as {0}:'?
BCW0020=WARNING: Assignment made to same expression. Did you mean to assign to something else?
BCW0021=WARNING: Comparison made with same expression. Did you mean to compare with something else?
BCW0022=WARNING: Boolean expression will always have the same value.
BCW0023=WARNING: This method could return default value implicitly.
BCW0024=WARNING: Visible {0} does not declare {1} type explicitely.
BCW0025=WARNING: Variable '{0}' has the same name as a private field of base type '{1}'. Did you mean to use the field?
BCW0026=WARNING: Likely typo in member name '{0}'. Did you mean '{1}'?
BCW0027=WARNING: Obsolete syntax '{0}'. Use '{1}'.
BCW0028=WARNING: Implicit downcast from `{0}' to `{1}'.

; 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}. {1}
BooC.CantRunWithoutPipeline=A pipeline must be specified!
BooC.InvalidPipeline='{0}' is neither a built-in pipeline nor a valid custom pipeline name.
BooC.VerifyPipelineUnsupported=PEVerify pipeline is not supported on this platform.
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
BooC.UnableToLoadAssembly=Unable to load assembly: {0}
BooC.BadFormat=Unable to load assembly (bad file format): {0}
BooC.NullAssembly=Unable to load assembly (null argument)
BooC.CannotFindAssembly=Cannot find assembly: '{0}'
BooC.NoSystemPath=Cannot find path to mscorlib.
BooC.BadLibPath=Not a valid directory for -lib argument: '{0}'
BooC.PkgConfigNotFound=Cannot execute pkg-config, is it in your PATH ?
BooC.PkgConfigReportedErrors=pkg-config returned errors: {0}
BooC.DidYouMean=Did you mean '{0}'?
BooC.Return=return
BooC.NamedArgument='{0}' argument
BooC.InvalidNestedMacroContext=Invalid nested macro context. Check your macro hierarchy

;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}

;boo command line utility
boo.CommandLine.culture=the culture {code} to use when running the application
boo.CommandLine.debug=emit debugging information
boo.CommandLine.ducky=treat object references as duck
boo.CommandLine.embedres=embeds the specified file as a unmanaged resource
boo.CommandLine.output=file name for the generated assembly
boo.CommandLine.pipeline=which compilation pipeline to use, it can be either the name of a built-in pipeline like 'boo' or a full type name
boo.CommandLine.reference=references an assembly
boo.CommandLine.resource=adds a managed resource
boo.CommandLine.target=one of exe, winexe, library
boo.CommandLine.utf8=use UTF8 when writing to the console
boo.CommandLine.wsa=use the white space agnostic parser
boo.CommandLine.help=display help information and exit

boo.CommandLine.header=boo command line utility
boo.CommandLine.usage=Usage: boo [options] [source files]
