Changeset 1189

Show
Ignore:
Timestamp:
06/19/08 18:16:34 (3 months ago)
Author:
asterite
Message:

More porting. Simplified internal error reporting by using varargs arguments. Removed ISignautreConstants and now everything uses Signature.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/descent.core/src/descent/core/Signature.java

    r1188 r1189  
    1717 
    1818import descent.core.compiler.CharOperation; 
    19 import descent.internal.compiler.parser.ISignatureConstants; 
    2019import descent.internal.compiler.parser.LINK; 
    2120import descent.internal.compiler.parser.STC; 
     
    133132 *     | "|"  // interface 
    134133 *     | "E"  // enum 
     134 *     | "~"  // enum member 
    135135 *     | ""  // variable 
    136136 *     | "="  // alias 
     
    433433     
    434434    /** 
    435      * Character constant indicating a function parameters break using the X letter
     435     * Character constant indicating a variadic function parameters break with same type
    436436     * Value is <code>'X'</code>. 
    437437     */ 
    438     public static final char C_FUNCTION_PARAMTERS_BREAK_1             = 'X'; 
    439      
    440     /** 
    441      * Character constant indicating a function parameters break using the Y letter
     438    public static final char C_FUNCTION_PARAMETERS_BREAK_VARARGS_SAME_TYPE                = 'X'; 
     439     
     440    /** 
     441     * Character constant indicating a variadic function parameters break with unknown types
    442442     * Value is <code>'Y'</code>. 
    443443     */ 
    444     public static final char C_FUNCTION_PARAMTERS_BREAK_2             = 'Y'; 
     444    public static final char C_FUNCTION_PARAMETERS_BREAK_VARARGS_UNKNOWN_TYPES                = 'Y'; 
    445445     
    446446    /** 
     
    448448     * Value is <code>'Z'</code>. 
    449449     */ 
    450     public static final char C_FUNCTION_PARAMTERS_BREAK_3             = 'Z'; 
     450    public static final char C_FUNCTION_PARAMTERS_BREAK               = 'Z'; 
    451451     
    452452    /** 
     
    493493     
    494494    /** 
     495     * Character constant indicating an enum member in a signature. 
     496     * Value is <code>'~'</code>. 
     497     */ 
     498    public static final char C_ENUM_MEMBER                                      = '~'; 
     499     
     500    /** 
    495501     * Character constant indicating a variable in a signature. 
    496502     * Value is <code>''</code>. 
     
    545551     */ 
    546552    public static final char C_TEMPLATED_FUNCTION                       = ')'; 
     553     
     554    /** 
     555     * Character constant indicating a function in a signature. 
     556     * Value is <code>'['</code>. 
     557     */ 
     558    public static final char C_FUNCTION                     = '['; 
     559     
     560    /** 
     561     * Character constant indicating a special function (invariant, static ctor, 
     562     * static dtor or unittest) in a signature. 
     563     * Value is <code>'}'</code>. 
     564     */ 
     565    public static final char C_SPECIAL_FUNCTION                     = '}'; 
    547566     
    548567    /** 
     
    599618     * Value is <code>'\\'</code>. 
    600619     */ 
    601     public static final char C_TEMPLATE_VALUE_SPECIFIC_VALUE                  = '\\'; 
     620    public static final char C_TEMPLATE_VALUE_PARAMETER_SPECIFIC_VALUE                    = '\\'; 
    602621     
    603622    /** 
     
    642661     */ 
    643662    public static final char C_MODIFIER_LAZY                            = 'L'; 
     663     
     664    /** 
     665     * Character constant indicating a positioned symbol in a signature. 
     666     * Value is <code>'$'</code>. 
     667     */ 
     668    public static final char C_POSITION                                     = '$'; 
    644669     
    645670    /** 
     
    13321357            @Override 
    13331358            public void acceptTypeofReturn() { 
    1334                 add(String.valueOf(ISignatureConstants.TYPEOF_RETURN)); 
     1359                add(String.valueOf(Signature.C_TYPEOF_RETURN)); 
    13351360            } 
    13361361            @Override 
     
    14831508            @Override 
    14841509            public void acceptTypeofReturn() { 
    1485                 copy(String.valueOf(ISignatureConstants.TYPEOF_RETURN)); 
     1510                copy(String.valueOf(Signature.C_TYPEOF_RETURN)); 
    14861511            } 
    14871512            @Override 
     
    16681693            @Override 
    16691694            public void acceptSymbol(char type, char[] name, int startPosition, String signature) { 
    1670                 if (type == ISignatureConstants.FUNCTION || 
    1671                     type == ISignatureConstants.TEMPLATED_FUNCTION) { 
     1695                if (type == Signature.C_FUNCTION || 
     1696                    type == Signature.C_TEMPLATED_FUNCTION) { 
    16721697                    Stack<StringBuilder> st = stack.peek(); 
    16731698                     
     
    16841709                    funcName.append(name); 
    16851710                     
    1686                     if (type == ISignatureConstants.TEMPLATED_FUNCTION) { 
     1711                    if (type == Signature.C_TEMPLATED_FUNCTION) { 
    16871712                        appendTemplateParameters(funcName); 
    16881713                    } 
     
    17041729                    sb.append(name); 
    17051730                     
    1706                     if (type == ISignatureConstants.TEMPLATE || 
    1707                         type == ISignatureConstants.TEMPLATED_CLASS || 
    1708                         type == ISignatureConstants.TEMPLATED_STRUCT || 
    1709                         type == ISignatureConstants.TEMPLATED_UNION || 
    1710                         type == ISignatureConstants.TEMPLATED_INTERFACE) { 
     1731                    if (type == Signature.C_TEMPLATE || 
     1732                        type == Signature.C_TEMPLATED_CLASS || 
     1733                        type == Signature.C_TEMPLATED_STRUCT || 
     1734                        type == Signature.C_TEMPLATED_UNION || 
     1735                        type == Signature.C_TEMPLATED_INTERFACE) { 
    17111736                        appendTemplateParameters(sb); 
    17121737                    } 
     
    19721997                if (functionCount == 1) { 
    19731998                    switch(c) { 
    1974                     case ISignatureConstants.FUNCTION_PARAMETERS_BREAK: 
     1999                    case Signature.C_FUNCTION_PARAMTERS_BREAK: 
    19752000                        break; 
    1976                     case ISignatureConstants.FUNCTION_PARAMETERS_BREAK_VARIADIC
     2001                    case Signature.C_FUNCTION_PARAMETERS_BREAK_VARARGS_UNKNOWN_TYPES
    19772002                        variadic[0] = IMethod.VARARGS_UNDEFINED_TYPES; 
    19782003                        break; 
    1979                     case ISignatureConstants.FUNCTION_PARAMETERS_BREAK_VARIADIC2
     2004                    case Signature.C_FUNCTION_PARAMETERS_BREAK_VARARGS_SAME_TYPE
    19802005                        variadic[0] = IMethod.VARARGS_SAME_TYPES; 
    19812006                        break; 
     
    19872012                if (functionCount == 0) { 
    19882013                    valid[0] =  
    1989                         type == ISignatureConstants.FUNCTION || 
    1990                         type == ISignatureConstants.TEMPLATED_FUNCTION; 
     2014                        type == Signature.C_FUNCTION || 
     2015                        type == Signature.C_TEMPLATED_FUNCTION; 
    19912016                } 
    19922017            } 
     
    22282253        public void acceptSymbol(char type, char[] name, int startPosition, String signature) { 
    22292254            switch(type) { 
    2230             case ISignatureConstants.CLASS: 
     2255            case Signature.C_CLASS: 
    22312256                kind[0] = CLASS_TYPE_SIGNATURE; 
    22322257                break; 
    2233             case ISignatureConstants.STRUCT: 
     2258            case Signature.C_STRUCT: 
    22342259                kind[0] = STRUCT_TYPE_SIGNATURE; 
    22352260                break; 
    2236             case ISignatureConstants.UNION: 
     2261            case Signature.C_UNION: 
    22372262                kind[0] = UNION_TYPE_SIGNATURE; 
    22382263                break; 
    2239             case ISignatureConstants.INTERFACE: 
     2264            case Signature.C_INTERFACE: 
    22402265                kind[0] = INTERFACE_TYPE_SIGNATURE; 
    22412266                break; 
    2242             case ISignatureConstants.FUNCTION: 
     2267            case Signature.C_FUNCTION: 
    22432268                kind[0] = FUNCTION_SIGNATURE; 
    22442269                break; 
    2245             case ISignatureConstants.TEMPLATE: 
     2270            case Signature.C_TEMPLATE: 
    22462271                kind[0] = TEMPLATE_TYPE_SIGNATURE; 
    22472272                break; 
    2248             case ISignatureConstants.TEMPLATED_CLASS: 
     2273            case Signature.C_TEMPLATED_CLASS: 
    22492274                kind[0] = TEMPLATED_CLASS_TYPE_SIGNATURE; 
    22502275                break; 
    2251             case ISignatureConstants.TEMPLATED_STRUCT: 
     2276            case Signature.C_TEMPLATED_STRUCT: 
    22522277                kind[0] = TEMPLATED_STRUCT_TYPE_SIGNATURE; 
    22532278                break; 
    2254             case ISignatureConstants.TEMPLATED_UNION: 
     2279            case Signature.C_TEMPLATED_UNION: 
    22552280                kind[0] = TEMPLATED_UNION_TYPE_SIGNATURE; 
    22562281                break; 
    2257             case ISignatureConstants.TEMPLATED_INTERFACE: 
     2282            case Signature.C_TEMPLATED_INTERFACE: 
    22582283                kind[0] = TEMPLATED_INTERFACE_TYPE_SIGNATURE; 
    22592284                break; 
    2260             case ISignatureConstants.TEMPLATED_FUNCTION: 
     2285            case Signature.C_TEMPLATED_FUNCTION: 
    22612286                kind[0] = TEMPLATED_FUNCTION_SIGNATURE; 
    22622287                break; 
  • trunk/descent.core/src/descent/core/compiler/IProblem.java

    r1188 r1189  
    329329    int IsClassPathCorrect = 118; 
    330330    int FunctionsCannotBeConstOrAuto = 119; 
    331     int NonVirtualFunctionsCannotBeAbstract = 120; 
    332     int CannotBeBothAbstractAndFinal = 121; 
    333     int ModifierCannotBeAppliedToVariables = 122; 
    334     int StructsCannotBeAbstract = 123; 
    335     int UnionsCannotBeAbstract = 124; 
    336     int AliasCannotBeConst = 125; 
    337     int OneArgumentOfTypeExpected = 126; 
    338     int IllegalMainParameters = 127; 
    339     int MustReturnIntOrVoidFromMainFunction = 128; 
    340     int AtLeastOneArgumentOfTypeExpected = 129; 
    341     int FirstArgumentMustBeOfType = 130; 
    342     int StringExpectedForPragmaMsg = 131; 
    343     int LibPragmaMustRecieveASingleArgumentOfTypeString = 132; 
    344     int StringExpectedForPragmaLib = 133; 
    345     int CannotHaveOutOrInoutParameterOfTypeStaticArray = 134; 
    346     int CannotHaveParameterOfTypeVoid = 135; 
    347     int FunctionsCannotReturnStaticArrays = 136; 
    348     int UnrecongnizedTrait = 137; 
    349     int CanOnlyConcatenateArrays = 138; 
    350     int ArrayIndexOutOfBounds = 139; 
    351     int ArrayIndexOutOfBounds2 = 140; 
    352     int AssertionFailed = 141; 
    353     int AssertionFailedNoMessage = 142; 
    354     int ExpressionIsNotEvaluatableAtCompileTime = 143; 
    355     int UndefinedProperty = 144; 
    356     int DeprecatedProperty = 145; 
    357     int FileNameMustBeString = 146; 
    358     int FileImportsMustBeSpecified = 147; 
    359     int FileNotFound = 148; 
    360     int ErrorReadingFile = 149; 
    361     int ExpressionHasNoEffect = 150; 
    362     int ConstantIsNotAnLValue = 151; 
    363     int VersionIdentifierReserved = 152; 
    364     int CannotPutCatchStatementInsideFinallyBlock = 153; 
    365     int ExpressionDoesNotGiveABooleanResult = 154; 
    366     int BreakIsNotInsideALoopOrSwitch = 155; 
    367     int CaseIsNotInSwitch = 156; 
    368     int VersionDeclarationMustBeAtModuleLevel = 157; 
    369     int DebugDeclarationMustBeAtModuleLevel = 158; 
    370     int GotoCaseNotInSwitch = 159; 
    371     int GotoDefaultNotInSwitch = 160; 
    372     int LazyVariablesCannotBeLvalues = 161; 
    373     int DivisionByZero = 162; 
    374     int DefaultNotInSwitch = 163; 
    375     int SwitchAlreadyHasDefault = 164; 
    376     int ContinueNotInLoop = 165; 
    377     int ForeachIndexCannotBeRef = 166; 
    378     int ParametersDoesNotMatchParameterTypes = 167; 
    379     int IncompatibleParameterStorageClass = 168; 
    380     int OutCannotBeConst = 169; 
    381     int OutCannotBeInvariant = 170; 
    382     int ScopeCannotBeRefOrOut = 171; 
    383     int IncompatibleTypesForOperator = 172; 
    384     int IncompatibleTypesForMinus = 173; 
    385     int SymbolNotDefined = 174; 
    386     int SymbolNotATemplate = 175; 
    387     int CannotDeleteType = 176; 
    388     int NotAnLvalue = 177; 
    389     int CannotAliasAnExpression = 178; 
    390     int CannotAssignToStaticArray = 179; 
    391     int CannotChangeReferenceToStaticArray = 180; 
    392     int CannotModifyParameterInContract = 181; 
    393     int BothOverloadsMuchArgumentList = 182; 
    394     int ExpressionHasNoType = 183; 
    395     int SymbolNotAnExpression = 184; 
    396     int SymbolHasNoValue = 185; 
    397     int TooManyInitializers = 186; 
    398     int SymbolNotAStaticAndCannotHaveStaticInitializer = 187; 
    399     int SymbolNotAType = 188; 
    400     int IncompleteMixinDeclaration = 189; 
    401     int SymbolNotATemplateItIs = 190; 
    402     int SymbolCannotBeDeclaredToBeAFunction = 191; 
    403     int CannotHaveArrayOfType = 192; 
    404     int SymbolDoesNotMatchAnyTemplateDeclaration = 193; 
    405     int IndexOverflowForStaticArray = 194; 
    406     int UnknownSize = 195; 
    407     int NoSizeYetForForwardReference = 196; 
    408     int SymbolMatchesMoreThanOneTemplateDeclaration = 197; 
    409     int ExpressionLeadsToStackOverflowAtCompileTime = 198; 
    410     int StringIndexOutOfBounds = 199; 
    411     int CannotCreateInstanceOfAbstractClass = 200; 
    412     int CannotCreateInstanceOfInterface = 201; 
    413     int WithExpressionsMustBeClassObject = 202; 
    414     int DeclarationIsAlreadyDefined = 203; 
    415     int DeclarationIsAlreadyDefinedInAnotherScope = 204; 
    416     int VersionDefinedAfterUse = 205; 
    417     int DebugDefinedAfterUse = 206; 
    418     int NotEnoughArguments = 207; 
    419     int CanOnlySynchronizeOnClassObjects = 208; 
    420     int CannotDeduceTemplateFunctionFromArgumentTypes = 209; 
    421     int ArrayDimensionExceedsMax = 210; 
    422     int AStructIsNotAValidInitializerFor = 211; 
    423     int CannotUseArrayToInitialize = 212; 
    424     int CircularReferenceTo = 213; 
    425     int ParameterIsAlreadyDefined = 214; 
    426     int MemberIsNotAccessible = 215; 
    427     int SymbolIsNotAccessible = 216; 
    428     int ThisForSymbolNeedsToBeType = 217; 
    429     int SymbolHasForwardReferences = 218; 
    430     int CannotHaveAssociativeArrayOfKey = 219; 
    431     int CannotHaveAssociativeArrayOf = 220; 
    432     int CannotHaveArrayOfAuto = 221; 
    433     int EnclosingLabelForBreakNotFound = 222; 
    434     int EnclosingLabelForContinueNotFound = 223; 
    435     int CannotAppendTypeToType = 224; 
    436     int CannotAppendToStaticArray = 225; 
    437     int ExpressionIsVoidAndHasNoValue = 226; 
    438     int NeedMemberFunctionOpCmpForSymbolToCompare = 227; 
    439     int CompareNotDefinedForComplexOperands = 228; 
    440     int NeedThisForAddressOfSymbol = 229; 
    441     int RecursiveMixinInstantiation = 230; 
    442     int SymbolIsNotOfIntegralType = 231; 
    443     int DeleteAAKeyDeprecated = 232; 
    444     int SymbolIsDeprecated = 233; 
    445     int ShadowingDeclarationIsDeprecated = 234; 
    446     int ReturnStatementsCannotBeInFinallyScopeExitOrScopeSuccessBodies = 235; 
    447     int CannotReturnExpressionFromConstructor = 236; 
    448     int CaseNotFound = 237; 
    449     int CircularInheritanceOfInterface = 238; 
    450     int ArgumentToMixinMustBeString = 239; 
    451     int CannotAccessFrameOfFunction = 240; 
    452     int OperationNotAllowedOnBool = 241; 
    453     int SymbolIsNotAScalar = 242; 
    454     int ImportCannotBeResolved = 243; 
    455     int SymbolIsNotAVariable = 244; 
    456     int CatchHidesCatch = 245; 
    457     int ArithmeticOrStringTypeExpectedForValueParameter = 246; 
    458     int FunctionsCannotReturnAFunction = 247; 
    459     int FunctionsCannotReturnATuple = 248; 
    460     int FunctionsCannotReturnAuto = 249; 
    461     int RecursiveType = 250; 
    462     int VariadicFunctionsWithNonDLinkageMustHaveAtLeastOneParameter = 251; 
    463     int SymbolMustBeAFunction = 252; 
    464     int FunctionExpectedBeforeCall = 253; 
    465     int FunctionExpectedBeforeCallNotSymbolOfType = 254; 
    466     int CircularReferenceOfTypedef = 255; 
    467     int StringSliceIsOutOfBounds = 256; 
    468     int ErrorInstantiating = 257; 
    469     int CaseMustBeAnIntegralOrStringConstant = 258; 
    470     int DuplicateCaseInSwitchStatement = 259; 
    471     int SpecialMemberFunctionsNotAllowedForSymbol = 260; 
    472     int SpecialFunctionsNotAllowedInInterface = 261; 
    473     int FunctionBodyIsNotAbstractInInterface = 262; 
    474     int SuperClassConstructorCallMustBeInAConstructor = 263; 
    475     int ClassConstructorCallMustBeInAConstructor = 264; 
    476     int NoSuperClassConstructor = 265; 
    477     int ConstructorCallsNotAllowedInLoopsOrAfterLabels = 266; 
    478     int MultipleConstructorCalls = 267; 
    479     int ExpressionIsNotConstantOrDoesNotEvaluateToABool = 268; 
    480     int StaticIfConditionalCannotBeAtGlobalScope = 269; 
    481     int CannotBreakOutOfFinallyBlock = 270; 
    482     int LabelHasNoBreak = 271; 
    483     int LabelHasNoContinue = 272; 
    484     int CannotGotoInOrOutOfFinallyBlock = 273; 
    485     int CalledWithArgumentTypesMatchesBoth = 274; 
    486     int SymbolIsNotAnArithmeticType = 275; 
    487     int SymbolIsNotAnArithmeticTypeItIs = 276; 
    488     int CannotPerformModuloComplexArithmetic = 277; 
    489     int OperatorNotAllowedOnBoolExpression = 278; 
    490     int ForeachKeyTypeMustBeIntOrUint = 279; 
    491     int ForeachKeyCannotBeOutOrRef = 280; 
    492     int NoReverseIterationOnAssociativeArrays = 281; 
    493     int OnlyOneOrTwoArgumentsForAssociativeArrayForeach = 282; 
    494     int OnlyOneOrTwoArgumentsForArrayForeach = 283; 
    495     int ForeachTargetIsNotAnArrayOf = 284; 
    496     int ForeachKeyCannotBeInout = 285; 
    497     int ForeachValueOfUTFConversionCannotBeInout = 286; 
    498     int CannotInferTypeForSymbol = 287; 
    499     int CannotInferTypeFromInitializer = 288; 
    500     int NoStorageClassForSymbol = 289; 
    501     int OnlyOneValueOrTwoKeyValueArgumentsForTupleForeach = 290; 
    502     int CannotUniquelyInferForeachArgumentTypes = 291; 
    503     int InvalidForeachAggregate = 292; 
    504     int NotAnAssociativeArrayInitializer = 293; 
    505     int ArrayInitializersAsExpressionsNotAllowed = 294; 
    506     int IftypeConditionCannotBeAtGlobalScope = 295; 
    507     int SymbolIsNotAFieldOfSymbol = 296; 
    508     int RecursiveTemplateExpansion = 297; 
    509     int RecursiveTemplateExpansionForTemplateArgument = 298; 
    510     int IndexIsNotATypeOrExpression = 299; 
    511     int CannotHavePointerToSymbol = 300; 
    512     int SizeOfTypeIsNotKnown = 301; 
    513     int CanOnlySliceTupleTypes = 302; 
    514     int NoPropertyForTuple = 303; 
    515     int CannotResolveDotProperty = 304; 
    516     int CannotTakeAddressOfBitInArray = 305; 
    517     int OnlyOneIndexAllowedToIndex = 306; 
    518     int NoOpIndexOperatorOverloadForType = 307; 
    519     int ArrayDimensionOverflow = 308; 
    520     int OperatorAssignmentOverloadWithOpIndexIllegal = 309; 
    521     int CannotHaveOutOrInoutArgumentOfBitInArray = 310; 
    522     int SymbolIsAliasedToAFunction = 311; 
    523     int LinkageDoesNotMatchInterfaceFunction = 312; 
    524     int InterfaceFunctionIsNotImplemented = 313; 
    525     int ExpectedKeyAsArgumentToRemove = 314; 
    526     int CyclicConstructorCall = 315; 
    527     int MissingOrCurruptObjectDotD = 316; 
    528     int CannotContinueOutOfFinallyBlock = 317; 
    529     int ForwardDeclaration = 318; 
    530     int CannotFormDelegateDueToCovariantReturnType = 319; 
    531     int ForeachRangeKeyCannotHaveStorageClass = 320; 
    532     int MultipleOverridesOfSameFunction = 321; 
    533     int IdentityAssignmentOperatorOverloadIsIllegal = 322; 
    534     int LiteralsCannotBeClassMembers = 323; 
    535     int NoMatchForImplicitSuperCallInConstructor = 324; 
    536     int NoReturnAtEndOfFunction = 325; 
    537     int CanOnlyDeclareTypeAliasesWithinStaticIfConditionals = 326; 
    538     int PackageAndModuleHaveTheSameName = 327; 
    539     int StringLiteralsAreImmutable = 328; 
    540     int ExpressionDotNewIsOnlyForAllocatingNestedClasses = 329; 
    541     int TooManyArgumentsForArray = 330; 
    542     int ReturnExpressionExpected = 331; 
    543     int ReturnWithoutCallingConstructor = 332; 
    544     int ModuleIsInMultiplePackages = 333; 
    545     int ModuleIsInMultipleDefined = 334; 
    546     int NeedUpperAndLowerBoundToSlicePointer = 335; 
    547     int NeedUpperAndLowerBoundToSliceTuple = 336; 
    548     int CannotConvertStringLiteralToVoidPointer = 337; 
    549     int SymbolIsNotAPreInstanceInitializableField = 338; 
    550     int NoCaseStatementFollowingGoto = 339; 
    551     int SwitchStatementHasNoDefault = 340; 
    552     int SymbolIsNotAFunctionTemplate = 341; 
    553     int TupleIsNotAValidTemplateValueArgument = 342; 
    554     int IncompatibleArgumentsForTemplateInstantiation = 343; 
    555     int ThrowStatementsCannotBeInContracts = 344; 
    556     int CanOnlyThrowClassObjects = 345; 
    557     int StringExpectedAsSecondArgument = 346; 
    558     int WrongNumberOfArguments = 347; 
    559     int StringMustBeChars = 348; 
    560     int InvalidFirstArgument = 349; 
    561     int FirstArgumentIsNotAClass = 350; 
    562     int ArgumentHasNoMembers = 351; 
    563     int SymbolHasNoMembers = 352; 
    564     int KindSymbolHasNoMembers = 353; 
    565     int DotOffsetDeprecated = 354; 
    566     int NoClassInfoForComInterfaceObjects = 355; 
    567     int CannotMakeReferenceToABit = 356; 
    568     int CannotFormTupleOfTuples = 357; 
    569     int MissingInitializerInStaticConstructorForConstVariable = 358; 
    570     int GlobalsStaticsFieldsRefAndAutoParametersCannotBeAuto = 359; 
    571     int ReferenceToScopeClassMustBeScope = 360; 
    572     int NumberOfKeysMustMatchNumberOfValues = 361; 
    573     int ExpectedNumberArguments = 362; 
    574     int ArraySliceIfOutOfBounds = 363; 
    575     int InvalidUCS32Char = 364; 
    576     int TupleIndexExceedsBounds = 365; 
    577     int SliceIsOutOfRange = 366; 
    578     int CannotTakeAddressOf = 367; 
    579     int VariableIsUsedBeforeInitialization = 368; 
    580     int EscapingReferenceToLocal = 369; 
    581     int EscapingReferenceToAutoLocal = 370; 
    582     int EscapingReferenceToLocalVariable = 371; 
    583     int EscapingReferenceToVariadicParameter = 372; 
    584     int CanOnlyCatchClassObjects = 373; 
    585     int BaseClassIsForwardReferenced = 374; 
    586     int BaseIsForwardReferenced = 375; 
    587     int CannotInheritFromFinalClass = 376; 
    588     int StaticClassCannotInheritFromNestedClass = 377; 
    589     int SuperClassIsNestedWithin = 378; 
    590     int ArrayComparisonTypeMismatch = 379; 
    591     int ConditionalExpressionIsNotAModifiableLvalue = 380; 
    592     int CannotCastSymbolToSymbol = 381; 
    593     int CannotDeleteInstanceOfComInterface = 382; 
    594     int TemplateIsNotAMemberOf = 383; 
    595     int TemplateIdentifierIsNotAMemberOf = 384; 
    596     int CanOnlyInitiailizeConstMemberInsideConstructor = 385; 
    597     int SymbolIsNotAMember = 386; 
    598     int SymbolIsNotATemplate = 387; 
    599     int DSymbolHasNoSize = 388; 
    600     int ExpressionOfTypeDoesNotHaveABooleanValue = 389; 
    601     int ImplicitConversionCanCauseLossOfData = 390; 
    602     int ForwardReferenceToType = 391; 
    603     int FloatingPointConstantExpressionExpected = 392; 
    604     int ExpressionIsNotAValidTemplateValueArgument = 393; 
    605     int InvalidRangeLowerBound = 394; 
    606     int InvalidRangeUpperBound = 395; 
    607     int SymbolIsNotAScalarType = 396; 
    608     int ForeachIndexMustBeType = 397; 
    609     int ForeachValueMustBeType = 398; 
    610     int OpApplyFunctionMustReturnAnInt = 399; 
    611     int FunctionOfTypeOverridesButIsNotCovariant = 400; 
    612     int CannotOverrideFinalFunction = 401; 
    613     int IncompatibleCovariantTypes = 402; 
    614     int CannotUseTemplateToAddVirtualFunctionToClass = 403; 
    615     int OutResultIsAlreadyDefined = 404; 
    616     int MissingInitializerForConstField = 405; 
    617     int ImportNotFound = 406; 
    618     int SymbolMustBeAnArrayOfPointerType = 407; 
    619     int RvalueOfInExpressionMustBeAnAssociativeArray = 408; 
    620     int InterfaceInheritsFromDuplicateInterface = 409; 
    621     int LabelIsAlreadyDefined = 410; 
    622     int CannotSubtractPointerFromSymbol = 411; 
    623     int ThisForNestedClassMustBeAClassType = 412; 
    624     int CanOnlyDereferenceAPointer = 413; 
    625     int OuterClassThisNeededToNewNestedClass = 414; 
    626     int ThisForNestedClassMustBeOfType = 415; 
    627     int NoConstructorForSymbol = 416; 
    628     int NoAllocatorForSymbol = 417; 
    629     int NegativeArrayIndex = 418; 
    630     int NewCanOnlyCreateStructsDynamicArraysAndClassObjects = 419; 
    631     int MismatchedFunctionReturnTypeInference = 420; 
    632     int ShiftLeftExceeds = 421; 
    633     int SymbolCannotBeSlicedWithBrackets = 422; 
    634     int SliceExpressionIsNotAModifiableLvalue = 423; 
    635     int SymbolIsNotAMemberOf = 424; 
    636     int MoreInitiailizersThanFields = 425; 
    637     int OverlappingInitiailization = 426; 
    638     int CannotMakeExpressionOutOfInitializer = 427; 
    639     int NoDefaultOrCaseInSwitchStatement = 428; 
    640     int SymbolIsNotASymbol = 429; 
    641     int ForwardReferenceToTemplate = 430; 
    642     int ForwardReferenceToTemplateDeclaration = 431; 
    643     int SpecializationNotAllowedForDeducedParameter = 432; 
    644     int CannotDeclareTemplateAtFunctionScope = 433; 
    645     int TemplateHasNoValue = 434; 
    646     int CannotUseLocalAsTemplateParameter = 435; 
    647     int NoSizeForType = 436; 
    648     int SymbolDotSymbolIsNotADeclaration = 437; 
    649     int ThisIsRequiredButIsNotABaseClassOf = 438; 
    650     int ForwardReferenceToSymbol = 439; 
    651     int IdentifierOfSymbolIsNotDefined = 440; 
    652     int StructIsForwardReferenced = 441; 
    653     int CannotUseTemplateToAddFieldToAggregate = 442; 
    654     int CannotModifyFinalVariable = 443; 
    655     int InvalidUtf8Sequence2 = 444; 
    656     int Utf16HighValuePastEndOfString = 445; 
    657     int Utf16LowValueOutOfRange = 446; 
    658     int UnpairedUtf16Value = 447; 
    659     int IllegalUtf16Value = 448; 
    660     int StaticConstructorCanOnlyBePartOfStructClassModule = 449; 
    661     int ShiftAssignIsOutsideTheRange = 450; 
    662     int TemplateTupleParameterMustBeLastOne = 451; 
    663     int SymbolIsNestedInBoth = 452; 
    664     int FunctionIsAbstract = 453; 
    665     int KindSymbolDoesNotOverload = 454; 
    666     int MismatchedTupleLengths = 455; 
    667     int DoNotUseNullWhenComparingClassTypes = 456; 
    668     int UseTokenInsteadOfTokenWhenComparingWithNull = 457; 
    669     int VoidDoesNotHaveAnInitializer = 458; 
    670     int FunctionNameExpectedForStartAddress = 459; 
    671     int TypeofReturnMustBeInsideFunction = 460; 
    672     int PostBlitsAreOnlyForStructUnionDefinitions = 461; 
    673     int CannotHaveEDotTuple = 462; 
    674     int CannotCreateCppClasses = 463; 
    675     int SwitchAndCaseAreInDifferentFinallyBlocks = 464; 
    676     int SwitchAndDefaultAreInDifferentFinallyBlocks = 465; 
     331    int FunctionsCannotBeScopeOrAuto = 120; 
     332    int NonVirtualFunctionsCannotBeAbstract = 121; 
     333    int CannotBeBothAbstractAndFinal = 122; 
     334    int ModifierCannotBeAppliedToVariables = 123; 
     335    int StructsCannotBeAbstract = 124; 
     336    int UnionsCannotBeAbstract = 125; 
     337    int AliasCannotBeConst = 126; 
     338    int OneArgumentOfTypeExpected = 127; 
     339    int IllegalMainParameters = 128; 
     340    int MustReturnIntOrVoidFromMainFunction = 129; 
     341    int AtLeastOneArgumentOfTypeExpected = 130; 
     342    int FirstArgumentMustBeOfType = 131; 
     343    int StringExpectedForPragmaMsg = 132; 
     344    int LibPragmaMustRecieveASingleArgumentOfTypeString = 133; 
     345    int StringExpectedForPragmaLib = 134; 
     346    int CannotHaveOutOrInoutParameterOfTypeStaticArray = 135; 
     347    int CannotHaveParameterOfTypeVoid = 136; 
     348    int FunctionsCannotReturnStaticArrays = 137; 
     349    int UnrecongnizedTrait = 138; 
     350    int CanOnlyConcatenateArrays = 139; 
     351    int ArrayIndexOutOfBounds = 140; 
     352    int ArrayIndex