PageRenderTime 48ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 1ms

/SpecSharp/Microsoft.SpecSharp/Error.cs

#
C# | 2316 lines | 2238 code | 53 blank | 25 comment | 575 complexity | fd54e9cd51da3179763b2c0416b04a49 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

  1. //-----------------------------------------------------------------------------
  2. //
  3. // Copyright (C) Microsoft Corporation. All Rights Reserved.
  4. //
  5. //-----------------------------------------------------------------------------
  6. //
  7. #if CCINamespace
  8. using Microsoft.Cci;
  9. using Cci = Microsoft.Cci;
  10. using SysError = Microsoft.Cci.Error;
  11. #else
  12. using System.Compiler;
  13. using Cci = System.Compiler;
  14. using SysError = System.Compiler.Error;
  15. #endif
  16. using System;
  17. using System.Collections;
  18. using System.Text;
  19. using System.Globalization;
  20. namespace Microsoft.SpecSharp{
  21. public sealed class PragmaInfo {
  22. internal readonly int LineNum;
  23. internal readonly bool Disable;
  24. internal readonly PragmaInfo Next;
  25. internal PragmaInfo(
  26. int lineNum,
  27. bool disable,
  28. PragmaInfo next
  29. ) {
  30. this.LineNum = lineNum;
  31. this.Disable = disable;
  32. this.Next = next;
  33. }
  34. }
  35. internal enum Error {
  36. None = 0,
  37. AbstractAndExtern = 180,
  38. AbstractAndSealed = 502,
  39. AbstractAttributeClass = 653,
  40. AbstractBaseCall = 205,
  41. AbstractEventInitializer = 74,
  42. AbstractHasBody = 500,
  43. AbstractInConcreteClass = 513,
  44. AbstractNotVirtual = 503,
  45. AbstractSealedStatic = 418,
  46. AddModuleAssembly = 1542,
  47. AddOrRemoveExpected = 1055,
  48. AddRemoveMustHaveBody = 73,
  49. AliasNotFound = 432,
  50. AlwaysNull = 458,
  51. AmbigBinaryOps = 34,
  52. AmbigCall = 121,
  53. AmbigContext = 104,
  54. AmbigQM = 172,
  55. AmbiguousAttribute = 1614,
  56. AnonMethNotAllowed = 1706,
  57. AnonMethToNonDel = 1660,
  58. ArrayElementCantBeRefAny = 611,
  59. ArrayInitInBadPlace = 623,
  60. ArrayInitToNonArrayType = 622,
  61. ArrayOfStaticClass = 719,
  62. AsMustHaveReferenceType = 77,
  63. AsWithTypeVar = 413,
  64. AssgLvalueExpected = 131,
  65. AssgReadonly = 191,
  66. AssgReadonlyLocal = 1604,
  67. AssgReadonlyLocalCause = 1656,
  68. AssgReadonlyProp = 200,
  69. AssgReadonlyStatic = 198,
  70. AttributeLocationOnBadDeclaration = 657,
  71. AttributeOnBadSymbolType = 592,
  72. AttributeUsageOnNonAttributeClass = 641,
  73. AutoResGen = 1567,
  74. BadAccess = 122,
  75. BadArgCount = 1501,
  76. BadArgExtraRef = 1615,
  77. BadArgumentToNameAttribute = 633,
  78. BadArity2 = 305,
  79. BadArraySyntax = 1552,
  80. BadAttributeParam = 182,
  81. BadBaseType = 1521,
  82. BadBinaryOps = 19,
  83. BadBinaryOperatorSignature = 563,
  84. BadBoolOp = 217,
  85. BadCastInFixed = 254,
  86. BadCodePage = 2021,
  87. BadDelArgCount = 1593,
  88. BadDelegateLeave = 1632,
  89. BadDirectivePlacement = 1040,
  90. BadEmbeddedStmt = 1023,
  91. BadEmptyThrow = 156,
  92. BadEmptyThrowInFinally = 724,
  93. BadEventUsage = 70,
  94. BadEventUsageNoField = 79,
  95. BadExceptionType = 155,
  96. BadFinallyLeave = 157,
  97. BadFixedInitType = 209,
  98. BadForeachDecl = 230,
  99. BadGetEnumerator = 202,
  100. BadIncDecSignature = 559,
  101. BadIndexCount = 22,
  102. BadIteratorReturn = 1624,
  103. BadModifierLocation = 1585,
  104. BadModifiersOnNamespace = 1671,
  105. BadNamedAttributeArgument = 617,
  106. BadNamedAttributeArgumentType = 655,
  107. BadNewExpr = 1526,
  108. BadOperatorSyntax = 1553,
  109. BadOperatorSyntax2 = 1554,
  110. BadProtectedAccess = 1540,
  111. BadRefCompareLeft = 252,
  112. BadRefCompareRight = 253,
  113. BadSKknown = 118,
  114. BadSKunknown = 119,
  115. BadStackAllocExpr = 1575,
  116. BadTokenInType = 1518,
  117. BadTypeReference = 572,
  118. BadVarDecl = 1528,
  119. BadVisBaseClass = 60,
  120. BadVisBaseInterface = 61,
  121. BadVisDelegateParam = 59,
  122. BadVisDelegateReturn = 58,
  123. BadVisFieldType = 52,
  124. BadVisIndexerParam = 55,
  125. BadVisIndexerReturn = 54,
  126. BadVisOpParam = 57,
  127. BadVisOpReturn = 56,
  128. BadVisParamType = 51,
  129. BadVisPropertyType = 53,
  130. BadVisReturnType = 50,
  131. BadUnaryOp = 23,
  132. BadUnaryOperatorSignature = 562,
  133. BadUseOfMethod = 654,
  134. BadWin32Res = 1583,
  135. BaseIllegal = 175,
  136. BaseInBadContext = 1512,
  137. BadIndexLHS = 21,
  138. BaseInStaticMeth = 1511,
  139. BatchFileNotRead = 2003,
  140. BitwiseOrSignExtend = 675,
  141. CallingBaseFinalizeDeprecated = 250,
  142. CallingFinalizeDeprecated = 245,
  143. CannotMarkOverrideMethodNewOrVirtual = 113,
  144. CantCallSpecialMethod = 571,
  145. CantChangeAccessOnOverride = 507,
  146. CantChangeReturnTypeOnOverride = 508,
  147. CantConvAnonMethParams = 1661,
  148. CantConvAnonMethNoParams = 1688,
  149. CantConvAnonMethReturns = 1662,
  150. CantDeriveFromSealedClass = 509,
  151. CantInferMethTypeArgs = 411,
  152. CantOverrideAccessor = 560,
  153. CantOverrideNonEvent = 72,
  154. CantOverrideNonFunction = 505,
  155. CantOverrideNonProperty = 544,
  156. CantOverrideNonVirtual = 506,
  157. CantOverrideSealed = 239,
  158. CantOverrideSpecialMethod = 561,
  159. CaseFallThrough = 163,
  160. CheckedOverflow = 220,
  161. CircConstValue = 110,
  162. CircularBase = 146,
  163. ClassDoesntImplementInterface = 540,
  164. CloseUnimplementedInterfaceMember = 536,
  165. CLSNotOnModules = 3012,
  166. ColColWithTypeAlias = 431,
  167. ComImportWithoutUuidAttribute = 596,
  168. ConcreteMissingBody = 501,
  169. ConditionalMustReturnVoid = 578,
  170. ConditionalOnInterfaceMethod = 582,
  171. ConditionalOnOverride = 243,
  172. ConditionalOnSpecialMethod = 577,
  173. ConflictAliasAndMember = 576,
  174. ConflictingProtectionModifier = 107,
  175. ConstantExpected = 150,
  176. ConstOutOfRange = 31,
  177. ConstOutOfRangeChecked = 221,
  178. ConstraintIsStaticClass = 717,
  179. ConstructorInStaticClass = 710,
  180. ConstValueRequired = 145,
  181. ConversionNotInvolvingContainedType = 556,
  182. ConversionWithBase = 553,
  183. ConversionWithDerived = 554,
  184. ConversionWithInterface = 552,
  185. ConvertToStaticClass = 716,
  186. CryptoFailed = 1548,
  187. CStyleArray = 650,
  188. CustomAttributeError = 647,
  189. CycleInInterfaceInheritance = 529,
  190. DebugInitFile = 42,
  191. DeprecatedSymbol = 612,
  192. DeprecatedSymbolError = 613,
  193. DeprecatedSymbolStr = 618,
  194. DeprecatedSymbolStrError = 619,
  195. DeriveFromEnumOrValueType = 644,
  196. DestructorInStaticClass = 711,
  197. DllImportOnInvalidMethod = 601,
  198. DontUseInvoke = 1533,
  199. DottedTypeNameNotFoundInAgg = 426,
  200. DuplicateAccessor = 1007,
  201. DuplicateAlias = 1537,
  202. DuplicateAttribute = 579,
  203. DuplicateCaseLabel = 152,
  204. DuplicateConversionInClass = 557,
  205. DuplicateInterfaceInBaseList = 528,
  206. DuplicateLabel = 140,
  207. DuplicateModifier = 1004,
  208. DuplicateNamedAttributeArgument = 643,
  209. DuplicateNameInClass = 102,
  210. DuplicateNameInNS = 101,
  211. DuplicateParamName = 100,
  212. DuplicateResponseFile = 2014,
  213. DuplicateUsing = 105,
  214. EmptyCharConst = 1011,
  215. EmptySwitch = 1522,
  216. EndifDirectiveExpected = 1027,
  217. EndOfPPLineExpected = 1025,
  218. EndRegionDirectiveExpected = 1038,
  219. EnumeratorOverflow = 543,
  220. EOFExpected = 1022,
  221. EqualityOpWithoutEquals = 660,
  222. EqualityOpWithoutGetHashCode = 661,
  223. ErrorDirective = 1029,
  224. EventNeedsBothAccessors = 65,
  225. EventNotDelegate = 66,
  226. EventPropertyInInterface = 69,
  227. ExpectedEndTry = 1524,
  228. ExpectedIdentifier = 1001,
  229. ExpectedLeftBrace = 1514,
  230. ExpectedRightBrace = 1513,
  231. ExpectedRightParenthesis = 1026,
  232. ExpectedSemicolon = 1002,
  233. ExplicitEventFieldImpl = 71,
  234. ExplicitInterfaceImplementationInNonClassOrStruct = 541,
  235. ExplicitInterfaceImplementationNotInterface = 538,
  236. ExplicitMethodImplAccessor = 683,
  237. ExplicitParamArray = 674,
  238. ExplicitPropertyAddingAccessor = 550,
  239. ExplicitPropertyMissingAccessor = 551,
  240. ExternAfterElements = 439,
  241. ExternHasBody = 179,
  242. ExternMethodNoImplementation = 626,
  243. FeatureNYI2 = 189,
  244. FieldInitRefNonstatic = 236,
  245. FieldInitializerInStruct = 573,
  246. FixedMustInit = 210,
  247. FixedNeeded = 212,
  248. FixedNotNeeded = 213,
  249. FloatOverflow = 594,
  250. ForEachMissingMember = 1579,
  251. GenericArgIsStaticClass = 718,
  252. GenericConstraintNotSatisfied = 309,
  253. GetOrSetExpected = 1014,
  254. GlobalSingleTypeNameNotFound = 400,
  255. HasNoTypeVars = 308,
  256. HidingAbstractMethod = 533,
  257. IdentityConversion = 555,
  258. IllegalEscape = 1009,
  259. IllegalPointerType=1005,
  260. IllegalQualifiedNamespace = 134,
  261. IllegalStatement = 201,
  262. IllegalUnsafe = 227,
  263. ImportNonAssembly = 1509,
  264. InconsistantIndexerNames = 668,
  265. IdentifierExpectedKW = 1041,
  266. IndexerInStaticClass = 720,
  267. IndexerNeedsParam = 1551,
  268. IndexerWithRefParam = 631,
  269. InExpected = 1515,
  270. InstanceMemberInStaticClass = 708,
  271. InstantiatingStaticClass = 712,
  272. IntDivByZero = 20,
  273. IntegralTypeExpected = 1008,
  274. IntegralTypeValueExpected = 151,
  275. InterfaceEventInitializer = 68,
  276. InterfaceImplementedByConditional = 629,
  277. InterfaceMemberHasBody = 531,
  278. InterfaceMemberNotFound = 539,
  279. InterfacesCantContainOperators = 567,
  280. InterfacesCannotContainConstructors = 526,
  281. InterfacesCannotContainFields = 525,
  282. InterfacesCannotContainTypes = 524,
  283. InternalCompilerError = 1,
  284. IntOverflow = 1021,
  285. InvalidArglistConstructContext = 190,
  286. InvalidArray = 178,
  287. InvalidAttributeArgument = 591,
  288. InvalidAttributeLocation = 658,
  289. InvalidCall = 123,
  290. InvalidGotoCase = 153,
  291. InvalidExprTerm = 1525,
  292. InvalidLineNumber = 1576,
  293. InvalidMainSig = 28,
  294. InvalidMemberDecl = 1519,
  295. InvalidModifier = 106,
  296. InvalidAddrOp = 211,
  297. InvalidPreprocExpr = 1517,
  298. InvalidQM = 173,
  299. IsAlwaysFalse = 184,
  300. IsAlwaysTrue = 183,
  301. IsBinaryFile = 2015,
  302. LabelNotFound = 159,
  303. LiteralDoubleCast = 664,
  304. LocalDuplicate = 128,
  305. LocalShadowsOuterDeclaration = 136,
  306. LockNeedsReference = 185,
  307. LowercaseEllSuffix = 78,
  308. MainCantBeGeneric = 402,
  309. ManagedAddr = 208,
  310. MemberAlreadyExists = 111,
  311. MemberNameSameAsType = 542,
  312. MemberNeedsType = 1520,
  313. MethodArgCantBeRefAny = 1601,
  314. MethodNameExpected = 149,
  315. MethodReturnCantBeRefAny = 1564,
  316. MissingArraySize = 1586,
  317. MissingPartial = 260,
  318. MissingPPFile = 1578,
  319. MissingStructOffset = 625,
  320. MultipleEntryPoints = 17,
  321. MultipleTypeDefs = 1595,
  322. MultiTypeInDeclaration = 1044,
  323. MustHaveOpTF = 218,
  324. NamedArgumentExpected = 1016,
  325. NamespaceUnexpected = 116,
  326. NameAttributeOnOverride = 609,
  327. NameNotInContext = 103,
  328. NegativeArraySize = 248,
  329. NegativeStackAllocSize = 247,
  330. NewBoundMustBeLast = 401,
  331. NewConstraintNotSatisfied=310,
  332. NewlineInConst = 1010,
  333. NewNotRequired = 109,
  334. NewOnNamespaceElement = 1530,
  335. NewOrOverrideExpected = 114,
  336. NewRequired = 108,
  337. NewVirtualInSealed = 549,
  338. NoArglistInIndexers = 237,
  339. NoArglistInDelegates = 235,
  340. NoBreakOrCont = 139,
  341. NoConstructors = 143,
  342. NoCommentEnd = 1035,
  343. NoDefaultArgs = 241,
  344. NoEntryPoint = 5001,
  345. NoExplicitBuiltinConv = 39,
  346. NoExplicitConversion = 30,
  347. NoGetToOverride = 545,
  348. NoImplicitConversion = 29,
  349. NoImplicitConvCast = 266,
  350. NoModifiersOnAccessor = 1609,
  351. NoNewAbstract = 144,
  352. NoSetToOverride = 546,
  353. NoSources = 2008,
  354. NoSuchFile = 2005,
  355. NoSuchMember = 117,
  356. NoSuchOperator = 187,
  357. NotAnAttributeClass = 616,
  358. NotConstantExpression = 133,
  359. NoVoidHere = 1547,
  360. NoVoidParameter = 1536,
  361. NonInterfaceInInterfaceList = 527,
  362. NonObsoleteOverridingObsolete = 672,
  363. NullNotValid = 186,
  364. ObjectProhibited = 176,
  365. ObjectRequired = 120,
  366. OnlyClassesCanContainDestructors = 575,
  367. OperatorCantReturnVoid = 590,
  368. OperatorInStaticClass = 715,
  369. OperatorNeedsMatch = 216,
  370. OperatorsMustBeStatic = 558,
  371. OpTFRetType = 215,
  372. OutputWriteFailed = 16,
  373. OverloadRefOut = 663,
  374. OverrideFinalizeDeprecated = 249,
  375. OverrideNotExpected = 115,
  376. OvlBinaryOperatorExpected = 1020,
  377. OvlUnaryOperatorExpected = 1019,
  378. ParameterIsStaticClass = 721,
  379. ParamsCantBeRefOut = 1611,
  380. ParamsMustBeArray = 225,
  381. ParamsOrVarargsMustBeLast = 231,
  382. ParamUnassigned = 0177,
  383. PartialMisplaced = 267,
  384. PartialModifierConflict = 262,
  385. PartialMultipleBases = 263,
  386. PartialTypeKindConflict = 261,
  387. PointerInAsOrIs = 244,
  388. PtrIndexSingle = 196,
  389. PossibleBadNegCast = 75,
  390. PossibleMistakenNullStatement = 642,
  391. PPDefFollowsToken = 1032,
  392. PPDirectiveExpected = 1024,
  393. PrivateOrProtectedNamespaceElement = 1527,
  394. PropertyCantHaveVoidType = 547,
  395. PropertyLacksGet = 154,
  396. PropertyWithNoAccessors = 548,
  397. ProtectedInSealed = 628,
  398. ProtectedInStruct = 666,
  399. PtrExpected = 193,
  400. RecursiveConstructorCall = 516,
  401. RefConstraintNotSatisfied = 452,
  402. RefLvalueExpected = 1510,
  403. RefReadonly = 192,
  404. RefReadonlyLocal = 1605,
  405. RefReadonlyLocalCause = 1657,
  406. RefReadonlyProperty = 206,
  407. RefReadonlyStatic = 199,
  408. RefValBoundMustBeFirst = 449,
  409. RelatedErrorLocation = 10002,
  410. RelatedErrorModule = 10003,
  411. RelatedWarningLocation = 10004,
  412. RelatedWarningModule = 10005,
  413. RetNoObjectRequired = 127,
  414. RetObjectRequired = 126,
  415. ReturnExpected = 0161,
  416. ReturnNotLValue = 1612,
  417. ReturnTypeIsStaticClass = 722,
  418. SealedNonOverride = 238,
  419. SealedStaticClass = 441,
  420. SingleTypeNameNotFound = 246,
  421. SizeofUnsafe = 233,
  422. SourceFileNotRead = 2001,
  423. StackallocInCatchFinally = 255,
  424. StaticBaseClass = 709,
  425. StaticClassInterfaceImpl = 714,
  426. StaticConstant = 504,
  427. StaticConstParam = 132,
  428. StaticConstructorWithAccessModifiers = 515,
  429. StaticConstructorWithExplicitConstructorCall = 514,
  430. StaticDerivedFromNonObject = 713,
  431. StaticNotVirtual = 112,
  432. StmtNotInCase = 1523,
  433. StructLayoutCycle = 523,
  434. StructOffsetOnBadStruct = 636,
  435. StructOffsetOnBadField = 637,
  436. StructsCantContainDefaultContructor = 568,
  437. StructWithBaseConstructorCall = 522,
  438. SyntaxError = 1003,
  439. ThisInBadContext = 27,
  440. ThisInStaticMeth = 26,
  441. ThisOrBaseExpected = 1018,
  442. TooManyArgumentsToAttribute = 580,
  443. TooManyCatches = 1017,
  444. TooManyCharsInConst = 1012,
  445. TypeArgsNotAllowed = 307,
  446. TypeExpected = 1031,
  447. TypeNameNotFound = 234,
  448. TypeVarCantBeNull = 403,
  449. UnassignedThis = 171,
  450. UnexpectedDirective = 1028,
  451. UnimplementedAbstractMethod = 534,
  452. UnimplementedInterfaceMember = 535,
  453. UnknownOption = 2007,
  454. UnreachableCatch = 160,
  455. UnreachableCode = 162,
  456. UnreferencedLabel = 164,
  457. UnreferencedVar = 0168,
  458. UnreferencedVarAssg = 219,
  459. UnsafeNeeded = 214,
  460. UseDefViolation = 165,
  461. UseDefViolationField = 170, // Not enforced yet.
  462. UseDefViolationOut = 269, // partially enforced. ( only usedef, no must-assign-before-exit)
  463. UseDefViolationThis = 188, // Not enforced yet.
  464. UseSwitchInsteadOfAttribute = 1699,
  465. UsingAfterElements = 1529,
  466. VacuousIntegralComp = 652,
  467. ValueCantBeNull = 37,
  468. ValConstraintNotSatisfied = 453,
  469. VarDeclIsStaticClass = 723,
  470. VirtualPrivate = 621,
  471. VoidError = 242,
  472. VolatileAndReadonly = 678,
  473. VolatileByRef = 420,
  474. VolatileStruct = 677,
  475. WarningDirective = 1030,
  476. Win32ResourceFileNotRead = 2002,
  477. WrongNameForDestructor = 574,
  478. WrongNestedThis = 38,
  479. WrongParsForBinOp = 1534,
  480. WrongParsForUnaryOp = 1535,
  481. InvalidAssemblyName = 1700,
  482. UnifyReferenceMajMin = 1701,
  483. UnifyReferenceBldRev = 1702,
  484. DuplicateImport = 1703,
  485. DuplicateImportSimple = 1704,
  486. AssemblyMatchBadVersion = 1705,
  487. DelegateNewMethBind = 1707,
  488. FixedNeedsLvalue = 1708,
  489. EmptyFileName = 1709,
  490. DuplicateTypeParamTag = 1710,
  491. UnmatchedTypeParamTag = 1711,
  492. MissingTypeParamTag = 1712,
  493. TypeNameBuilderError = 1713,
  494. ImportBadBase = 1714,
  495. CantChangeTypeOnOverride = 1715,
  496. DoNotUseFixedBufferAttr = 1716,
  497. AssignmentToSelf = 1717,
  498. ComparisonToSelf = 1718,
  499. CantOpenWin32Res = 1719,
  500. DotOnDefault = 1720,
  501. NoMultipleInheritance = 1721,
  502. BaseClassMustBeFirst = 1722,
  503. BadXMLRefTypeVar = 1723,
  504. InvalidDefaultCharSetValue = 1724,
  505. FriendAssemblyBadArgs = 1725,
  506. FriendAssemblySNReq = 1726,
  507. BadEscapeSequence = 4000,
  508. BadHexDigit,
  509. BadDecimalDigit,
  510. UnexpectedToken,
  511. AmbiguousAssignment = 2500,
  512. CannotMarkAbstractPropertyVirtual,
  513. CannotMarkOverridePropertyNewOrVitual,
  514. ClosingTagMismatch,
  515. DebugContentModel,
  516. DummyXXXXXXXXX,
  517. DuplicateAttributeSpecified,
  518. EntityOverflow,
  519. ExpectedDoubleQuote,
  520. ExpectedElement,
  521. ExpectedExpression,
  522. ExpectedSingleQuote,
  523. FactorySignatureHasBody,
  524. ForwardReferenceToLocal,
  525. IncompleteContentExpecting,
  526. InvalidAxisSpecifier,
  527. InvalidContentExpecting,
  528. InvalidElementContent,
  529. InvalidElementContentNone,
  530. InvalidElementInEmpty,
  531. InvalidElementInTextOnly,
  532. InvalidPathExpression,
  533. InvalidTextInElement,
  534. InvalidTextInElementExpecting,
  535. InvalidWhitespaceInEmpty,
  536. LocalConstDuplicate,
  537. NoDefaultConstructor,
  538. NonDeterministic,
  539. NonDeterministicAny,
  540. NonDeterministicAssign,
  541. NoSuchAttribute,
  542. NoSuchElement,
  543. RequiredAttribute,
  544. UnknownEntity,
  545. UnescapedSingleQuote,
  546. Error,
  547. FatalError,
  548. Warning,
  549. InvalidTextWithReason, // todo: merge this in above (causes error numbers to change)
  550. CannotInstantiateTypeConverter,
  551. DuplicateMemberInLiteral,
  552. AssignmentExpressionInTuple,
  553. TupleIndexExpected,
  554. SealedTypeIsAlreadyInvariant,
  555. ValueTypeIsAlreadyInvariant,
  556. ValueTypeIsAlreadyNonNull,
  557. RedundantBox,
  558. BadBox,
  559. BadStream,
  560. RedundantStream,
  561. BadNonNull,
  562. BadNonNullOnStream,
  563. RedundantNonNull,
  564. BadNonEmptyStream,
  565. BadStreamOnNonNullStream,
  566. InvalidElementExpression,
  567. ContentModelNotSupported,
  568. QueryNotSupported,
  569. QueryNoMatch,
  570. QueryAmbiguousContextName,
  571. QueryBadAggregate,
  572. QueryBadAggregateForm,
  573. QueryBadGroupByList,
  574. QueryBadOrderList,
  575. QueryBadProjectionList,
  576. QueryBadQuantifier,
  577. QueryBadQuantifiedExpression,
  578. QueryBadDifferenceTypes,
  579. QueryBadInsertList,
  580. QueryBadIntersectionTypes,
  581. QueryBadLimit,
  582. QueryBadOrderItem,
  583. QueryBadUnionTypes,
  584. QueryBadUpdateList,
  585. QueryBadTypeFilter,
  586. QueryMissingDefaultConstructor,
  587. QueryNoContext,
  588. QueryNotScalar,
  589. QueryNotStream,
  590. QueryNotAddStream,
  591. QueryNotDeleteStream,
  592. QueryNotInsertStream,
  593. QueryNotUpdateStream,
  594. QueryProjectThroughTypeUnion,
  595. QueryIsCyclic,
  596. TypeDeclarationInsideElementGroup,
  597. ConstDeclarationInsideElementGroup,
  598. AttributeInsideElementGroup,
  599. QueryNotTransacted,
  600. QueryNotTransactable,
  601. QueryNoNestedTransaction,
  602. FieldInitializerInElementGroup,
  603. CannotYieldFromCatchClause,
  604. QueryBadLimitForNotPercent,
  605. QueryBadLimitNotLiteral,
  606. BadTupleIndex,
  607. CannotYieldFromTryBlock,
  608. BadTypeInferenceToVoid,
  609. WrongReturnTypeForIterator,
  610. AttributeInElementGroup,
  611. AmbiguousLiteralExpression,
  612. ExpectedRightBracket,
  613. NotAType,
  614. AssemblyKeyFileMissing,
  615. InvalidData,
  616. Win32IconFileNotRead,
  617. AbstractMethodTemplate,
  618. AbstractInterfaceMethod,
  619. ExpectedLeftParenthesis,
  620. CheckedExceptionNotInThrowsClause,
  621. ThrowsEnsuresOnConstructor,
  622. ExpressionIsAlreadyOfThisType,
  623. // MB -- 08/11/2004 added because they had been added to the Framework and not here
  624. CannotCoerceNullToNonNullType,
  625. CoercionToNonNullTypeMightFail,
  626. ReceiverMightBeNull,
  627. OnlyStructsAndClassesCanHaveInvariants,
  628. UpToMustBeSuperType,
  629. UpToMustBeClass,
  630. // ExpectedLeftParenthesis,
  631. MustSupportComprehension,
  632. MustSupportReductionXXXXXXXXXXXX,
  633. MustResolveToType,
  634. // CheckedExceptionNotInThrowsClause,
  635. MemberMustBePureForMethodContract,
  636. RequiresNotAllowedInOverride,
  637. ContractNotAllowedInExplicitInterfaceImplementation,
  638. CannotAddThrowsSet,
  639. CannotWeakenThrowsSet,
  640. DuplicateThrowsType,
  641. UncheckedExceptionInThrowsClause,
  642. RequiresNotAllowedInInterfaceImplementation,
  643. EnsuresInInterfaceNotInMethod,
  644. ModelMemberUseNotAllowedInContext,
  645. MemberMustBePureForInvariant,
  646. TypeMustSupportIntCoercions,
  647. CannotInjectContractFromInterface,
  648. CheckedExceptionInRequiresOtherwiseClause,
  649. ContractInheritanceRulesViolated,
  650. // ThrowsEnsuresOnConstructor,
  651. // UseDefViolation,
  652. // UseDefViolationOut, // partially enforced. ( only usedef, no must-assign-before-exit)
  653. // UseDefViolationField, // Not enforced yet.
  654. // UseDefViolationThis, // Not enforced yet.
  655. // ReturnExpected,
  656. // ParamUnassigned,
  657. // UnreferencedVar,
  658. // UnreferencedVarAssg,
  659. TemplateTypeRequiresArgs,
  660. // Nonnull related messages.
  661. ReceiverCannotBeNull,
  662. UseOfPossiblyNullPointer,
  663. UseOfNullPointer,
  664. InvalidCompilerOptionArgument,
  665. TypeOfExprMustBeGuardedClass,
  666. CannotLoadShadowedAssembly,
  667. TypeMissingInShadowedAssembly,
  668. MethodMissingInShadowedAssembly,
  669. NonNullFieldNotInitializedBeforeConstructorCall,
  670. ModifiesNotAllowedInOverride,
  671. NoSuchMethod,
  672. CouldNotLoadPluginType,
  673. CouldNotInstantiatePluginType,
  674. PluginTypeMustAlreadyBeCompiled,
  675. PluginTypeMustImplementIPlugin,
  676. PluginCrash,
  677. OtherwiseExpressionMustBeNonNull,
  678. OtherwiseExpressionMustBeType,
  679. GeneralComprehensionsNotAllowedInMethodContracts,
  680. StrictReadonlyNotReadonly,
  681. StrictReadonlyStatic,
  682. StrictReadonlyAssignment,
  683. StrictReadonlyMultipleAssignment,
  684. WritingPackedObject,
  685. ExposingExposedObject,
  686. DontKnowIfCanExposeObject,
  687. GenericWarning,
  688. AccessThroughDelayedReference,
  689. StoreIntoLessDelayedLocation,
  690. NonNullFieldNotInitializedAtEndOfDelayedConstructor,
  691. BaseNotInitialized,
  692. BaseMultipleInitialization,
  693. ActualCannotBeDelayed,
  694. DelayedReferenceByReference,
  695. DelayedRefParameter,
  696. DelayedStructConstructor,
  697. ActualMustBeDelayed,
  698. ReceiverCannotBeDelayed,
  699. ReceiverMustBeDelayed,
  700. NonNullFieldNotInitializedByDefaultConstructor,
  701. AccessThroughDelayedThisInConstructor,
  702. MustOverrideMethodMissing,
  703. MustOverrideMethodNotMarkedAsMustOverride,
  704. MethodMarkedMustOverrideMustBeVirtual,
  705. MethodInheritingPurityMustBeMarked,
  706. StaticMethodCannotBeMarkedWithAttribute,
  707. OverrideMethodNotMarkedWithAttribute,
  708. MutableHasImmutableBase,
  709. ImmutableHasMutableBase,
  710. ImmutableIfaceImplementedByMutableClass,
  711. MutableIfaceExtendsImmutableIface,
  712. RepOrPeerFieldImmutable,
  713. ImmutableClassHasPeerField,
  714. ImmutableConstructorBaseNotLast,
  715. ImmutableConstructorLastStmtMustBeBaseOrThis,
  716. BadUseOfOwnedOnMethod,
  717. UseOfRepOnVirtualMethod,
  718. NotAdmissibleTargetNotAdmissibile,
  719. NotAdmissibleTargetNotThis,
  720. NotAdmissibleFirstNonRepChainNotEnded,
  721. NotAdmissibleNonRepOrPeerChainNotEnded,
  722. NotAdmissibleBoundCollArrayNotRep,
  723. NotAdmissibleBoundCollArrayNotOwned,
  724. NotAdmissibleStaticNonStateIndependent,
  725. NotAdmissibleFirstAccessOnNonAdditiveField,
  726. NotAdmissibleFirstAccessOnFieldDeclaredInSubtype,
  727. StateIndependentSpecNotAdmissible,
  728. ConfinedSpecContainsPureCall,
  729. StateIndependentSpecContainsPureOrConfinedCall,
  730. IsNewExprInPureEnsures, // deprecated
  731. DisallowedInConfinedOrStIndepSpec,
  732. NoReferenceComparisonAttrNotCopied,
  733. NonPureMarkedNoReferenceComparison,
  734. ViolatedNoReferenceComparison,
  735. ResultNotNewlyAllocatedAttrNotCopied,
  736. NonPureMarkedResultNotNewlyAllocated,
  737. NonRefTypeMethodMarkedResultNotNewlyAllocated,
  738. MethodShouldBeMarkedNoReferenceComparison,
  739. BothOperandsOfReferenceComparisonMightBeNewlyAllocated,
  740. AttributeAllowedOnlyOnReferenceTypeParameters,
  741. ConflictingAttributes,
  742. VirtualMethodWithNonVirtualMethodAttribute,
  743. AttributeNotAllowedOnInterfaceMethods,
  744. AttributeNotAllowedOnPrivateMember,
  745. AttributeNotAllowedOnConstructor,
  746. AttributeNotAllowedOnlyOnInParameters,
  747. UnnecessaryNonNullCoercion,
  748. SideEffectsNotAllowedInContracts,
  749. ShouldCommit,
  750. ParameterNoDelayAttribute,
  751. ParameterExtraDelayAttribute,
  752. ThisParameterNoDelayAttribute,
  753. ThisParameterExtraDelayAttribute,
  754. ReturnOfDelayedValue,
  755. ShouldCommitOnAllPaths,
  756. UnboxDelayedValue,
  757. ThrowsDelayedValue,
  758. CannotUseDelayedPointer,
  759. CannotUseDelayedTypedRef,
  760. //ModelField errors
  761. SatisfiesInInterface,
  762. AssignToModelfield,
  763. InternalFieldInOverridableModelfield,
  764. GenericError,
  765. InvalidModifiesClause,
  766. MemberCannotBeAnnotatedAsPure,
  767. CannotMatchArglist,
  768. PureMethodWithOutParamUsedInContract,
  769. PureMethodCannotHaveRefParam,
  770. ReadsWithoutPure,
  771. InconsistentPurityAttributes,
  772. PureOwnedNotAllowed,
  773. PureMethodCannotHaveModifies,
  774. }
  775. internal class SpecSharpErrorNode : ErrorNode{
  776. private static WeakReference resourceManager = new WeakReference(null);
  777. internal static System.Resources.ResourceManager ResourceManager {
  778. get {
  779. System.Resources.ResourceManager rMgr = (System.Resources.ResourceManager)resourceManager.Target;
  780. if (rMgr == null) {
  781. SpecSharpErrorNode.resourceManager =
  782. new WeakReference(rMgr = new System.Resources.ResourceManager("Microsoft.SpecSharp.ErrorMessages", typeof(SpecSharpErrorNode).Module.Assembly));
  783. }
  784. return rMgr;
  785. }
  786. }
  787. internal SpecSharpErrorNode(Error code, params string[] messageParameters)
  788. : base((int)code, messageParameters){
  789. }
  790. public override string GetErrorNumber(){
  791. return "CS"+this.Code.ToString("0000");
  792. }
  793. public override string GetMessage(System.Globalization.CultureInfo culture){
  794. return this.GetMessage(((Error)this.Code).ToString(), SpecSharpErrorNode.ResourceManager, culture);
  795. }
  796. public override int Severity{
  797. get{
  798. switch ((Error)this.Code){
  799. case Error.AlwaysNull: return 2;
  800. case Error.AttributeLocationOnBadDeclaration: return 1;
  801. case Error.BadBox: return 1;
  802. case Error.BadNonEmptyStream: return 1;
  803. case Error.BadNonNull: return 1;
  804. case Error.BadNonNullOnStream: return 1;
  805. case Error.BadRefCompareLeft: return 2;
  806. case Error.BadRefCompareRight: return 2;
  807. case Error.BadStream: return 1;
  808. case Error.BadStreamOnNonNullStream: return 1;
  809. case Error.BitwiseOrSignExtend: return 3;
  810. case Error.CLSNotOnModules: return 1;
  811. case Error.DeprecatedSymbol: return 2;
  812. case Error.DeprecatedSymbolStr: return 2;
  813. case Error.DuplicateUsing: return 3;
  814. case Error.EmptySwitch: return 1;
  815. case Error.EqualityOpWithoutEquals: return 3;
  816. case Error.EqualityOpWithoutGetHashCode: return 3;
  817. case Error.ExpressionIsAlreadyOfThisType: return 4;
  818. case Error.ExternMethodNoImplementation: return 1;
  819. case Error.InvalidAttributeLocation: return 1;
  820. case Error.InvalidMainSig: return 4;
  821. case Error.IsAlwaysFalse: return 1;
  822. case Error.IsAlwaysTrue: return 1;
  823. case Error.LowercaseEllSuffix: return 4;
  824. case Error.MainCantBeGeneric: return 4;
  825. case Error.MultipleTypeDefs: return 1;
  826. case Error.NewOrOverrideExpected: return 2;
  827. case Error.NewNotRequired: return 4;
  828. case Error.NewRequired: return 1;
  829. case Error.NonObsoleteOverridingObsolete: return 1;
  830. case Error.PossibleMistakenNullStatement: return 3;
  831. case Error.ProtectedInSealed: return 4;
  832. case Error.RedundantBox: return 1;
  833. case Error.RedundantNonNull: return 1;
  834. case Error.RedundantStream: return 1;
  835. case Error.RelatedErrorLocation: return -1;
  836. case Error.RelatedErrorModule: return -1;
  837. case Error.RelatedWarningLocation: return -1;
  838. case Error.RelatedWarningModule: return -1;
  839. case Error.SealedTypeIsAlreadyInvariant: return 1;
  840. case Error.UnknownEntity: return 2;
  841. case Error.UnreachableCode: return 2;
  842. case Error.UnreferencedLabel: return 2;
  843. case Error.UnreferencedVarAssg: return 2;
  844. case Error.UseDefViolationField: return 1;
  845. case Error.UseSwitchInsteadOfAttribute: return 1;
  846. case Error.VacuousIntegralComp: return 2;
  847. case Error.ValueTypeIsAlreadyInvariant: return 1;
  848. case Error.ValueTypeIsAlreadyNonNull: return 1;
  849. case Error.VolatileByRef: return 1;
  850. case Error.WarningDirective: return 2;
  851. case Error.CoercionToNonNullTypeMightFail: return 2;
  852. case Error.CannotCoerceNullToNonNullType: return 1;
  853. case Error.UnnecessaryNonNullCoercion: return 2;
  854. case Error.ReceiverMightBeNull: return 2;
  855. case Error.ReceiverCannotBeNull: return 1;
  856. case Error.UseOfNullPointer: return 1;
  857. case Error.UseOfPossiblyNullPointer: return 2;
  858. case Error.CannotLoadShadowedAssembly: return 2;
  859. case Error.TypeMissingInShadowedAssembly: return 2;
  860. case Error.MethodMissingInShadowedAssembly: return 2;
  861. case Error.NonNullFieldNotInitializedBeforeConstructorCall: return 2;
  862. case Error.AccessThroughDelayedReference: return 2;
  863. case Error.StoreIntoLessDelayedLocation : return 2;
  864. case Error.NonNullFieldNotInitializedAtEndOfDelayedConstructor : return 2;
  865. case Error.BaseNotInitialized : return 2;
  866. case Error.BaseMultipleInitialization : return 2;
  867. case Error.ActualCannotBeDelayed : return 2;
  868. case Error.DelayedReferenceByReference : return 2;
  869. case Error.DelayedRefParameter : return 2;
  870. case Error.DelayedStructConstructor : return 2;
  871. case Error.ActualMustBeDelayed : return 2;
  872. case Error.ReceiverCannotBeDelayed : return 2;
  873. case Error.ReceiverMustBeDelayed : return 2;
  874. case Error.NonNullFieldNotInitializedByDefaultConstructor : return 2;
  875. case Error.AccessThroughDelayedThisInConstructor : return 2;
  876. case Error.ShouldCommit: return 2;
  877. case Error.ShouldCommitOnAllPaths: return 2;
  878. case Error.UnboxDelayedValue: return 2;
  879. case Error.ThrowsDelayedValue: return 2;
  880. case Error.CannotUseDelayedPointer: return 2;
  881. case Error.CannotUseDelayedTypedRef: return 2;
  882. case Error.GenericWarning: return 4;
  883. }
  884. return 0;
  885. }
  886. }
  887. }
  888. public class ErrorHandler : Cci.ErrorHandler{
  889. internal Parameter currentParameter;
  890. public TypeNode currentType;
  891. public bool refOrOutAddress;
  892. public ErrorHandler(ErrorNodeList errors)
  893. : base(errors){
  894. }
  895. internal static Error MapError(SysError error){
  896. switch(error){
  897. case SysError.AbstractAndExtern: return Error.AbstractAndExtern;
  898. case SysError.AbstractAttributeClass: return Error.AbstractAttributeClass;
  899. case SysError.AbstractBaseCall: return Error.AbstractBaseCall;
  900. case SysError.AbstractEventInitializer: return Error.AbstractEventInitializer;
  901. case SysError.AbstractHasBody: return Error.AbstractHasBody;
  902. case SysError.AbstractInterfaceMethod: return Error.AbstractInterfaceMethod;
  903. case SysError.AbstractMethodInConcreteType: return Error.AbstractInConcreteClass;
  904. case SysError.AbstractMethodTemplate: return Error.AbstractMethodTemplate;
  905. case SysError.AbstractSealedArrayElementType: return Error.ArrayOfStaticClass;
  906. case SysError.AbstractSealedBaseClass: return Error.StaticBaseClass;
  907. case SysError.AbstractSealedClassInterfaceImpl: return Error.StaticClassInterfaceImpl;
  908. case SysError.AbstractSealedDerivedFromNonObject: return Error.StaticDerivedFromNonObject;
  909. case SysError.AbstractSealedFieldType: return Error.VarDeclIsStaticClass;
  910. case SysError.AbstractSealedLocalType: return Error.VarDeclIsStaticClass;
  911. case SysError.AbstractSealedParameterType: return Error.ParameterIsStaticClass;
  912. case SysError.AbstractSealedReturnType: return Error.ReturnTypeIsStaticClass;
  913. case SysError.AccessThroughDelayedReference: return Error.AccessThroughDelayedReference;
  914. case SysError.AccessThroughDelayedThisInConstructor: return Error.AccessThroughDelayedThisInConstructor;
  915. case SysError.AccessToNonStaticOuterMember: return Error.WrongNestedThis;
  916. case SysError.ActualCannotBeDelayed: return Error.ActualCannotBeDelayed;
  917. case SysError.ActualMustBeDelayed: return Error.ActualMustBeDelayed;
  918. case SysError.AliasNotFound: return Error.AliasNotFound;
  919. case SysError.AlwaysNull: return Error.AlwaysNull;
  920. case SysError.AmbiguousBinaryOperation: return Error.AmbigBinaryOps;
  921. case SysError.AmbiguousCall: return Error.AmbigCall;
  922. case SysError.AmbiguousConditional: return Error.AmbigQM;
  923. case SysError.AmbiguousTypeReference: return Error.AmbigContext;
  924. case SysError.AnonymousNestedFunctionNotAllowed: return Error.AnonMethNotAllowed;
  925. case SysError.ArrayElementCannotBeTypedReference: return Error.ArrayElementCantBeRefAny;
  926. case SysError.ArrayInitializerLengthMismatch: return Error.InvalidArray;
  927. case SysError.AsMustHaveReferenceType: return Error.AsMustHaveReferenceType;
  928. case SysError.AssemblyCouldNotBeSigned: return Error.CryptoFailed;
  929. case SysError.AssemblyKeyFileMissing: return Error.AssemblyKeyFileMissing;
  930. case SysError.AssignmentHasNoEffect: return Error.AssgLvalueExpected;
  931. case SysError.AssignmentToBase: return Error.BaseIllegal;
  932. case SysError.AssignmentToEvent: return Error.BadEventUsageNoField;
  933. case SysError.AssignmentToFixedVariable: return Error.AssgReadonlyLocalCause;
  934. case SysError.AssignmentToLiteral: return Error.AssgLvalueExpected;
  935. case SysError.AssignmentToReadOnlyInstanceField: return Error.AssgReadonly;
  936. case SysError.AssignmentToReadOnlyLocal: return Error.AssgReadonlyLocal;
  937. case SysError.AssignmentToReadOnlyStaticField: return Error.AssgReadonlyStatic;
  938. case SysError.AssignmentToType: return Error.BadSKknown;
  939. case SysError.AsWithTypeVar: return Error.AsWithTypeVar;
  940. case SysError.AttributeOnBadTarget: return Error.AttributeOnBadSymbolType;
  941. case SysError.AttributeHasBadTarget: return Error.AttributeLocationOnBadDeclaration;
  942. case SysError.AttributeUsageOnNonAttributeClass: return Error.AttributeUsageOnNonAttributeClass;
  943. case SysError.AutoWin32ResGenFailed: return Error.AutoResGen;
  944. case SysError.BadAttributeParam: return Error.BadAttributeParam;
  945. case SysError.BadBinaryOperatorSignature: return Error.BadBinaryOperatorSignature;
  946. case SysError.BadBinaryOps: return Error.BadBinaryOps;
  947. case SysError.BadBox: return Error.BadBox;
  948. case SysError.BadBoolOp: return Error.BadBoolOp;
  949. case SysError.BadCallToEventHandler: return Error.BadEventUsageNoField;
  950. case SysError.BadExplicitCoercionInFixed: return Error.BadCastInFixed;
  951. case SysError.BadEmptyThrow: return Error.BadEmptyThrow;
  952. case SysError.BadExceptionType: return Error.BadExceptionType;
  953. case SysError.BadExitOrContinue: return Error.NoBreakOrCont;
  954. case SysError.BadFinallyLeave: return Error.BadFinallyLeave;
  955. case SysError.BadFixedVariableType: return Error.BadFixedInitType;
  956. case SysError.BadForeachCollection: return Error.ForEachMissingMember;
  957. case SysError.BadGetEnumerator: return Error.BadGetEnumerator;
  958. case SysError.BadIncDecSignature: return Error.BadIncDecSignature;
  959. case SysError.BadNamedAttributeArgument: return Error.BadNamedAttributeArgument;
  960. case SysError.BadNamedAttributeArgumentType: return Error.BadNamedAttributeArgumentType;
  961. case SysError.BadNestedTypeReference: return Error.BadTypeReference;
  962. case SysError.BadNonEmptyStream: return Error.BadNonEmptyStream;
  963. case SysError.BadNonNull: return Error.BadNonNull;
  964. case SysError.BadNonNullOnStream: return Error.BadNonNullOnStream;
  965. case SysError.BadRefCompareLeft: return Error.BadRefCompareLeft;
  966. case SysError.BadRefCompareRight: return Error.BadRefCompareRight;
  967. case SysError.BadStream: return Error.BadStream;
  968. case SysError.BadStreamOnNonNullStream: return Error.BadStreamOnNonNullStream;
  969. case SysError.BadTupleIndex : return Error.BadTupleIndex;
  970. case SysError.BadUnaryOp: return Error.BadUnaryOp;
  971. case SysError.BadUnaryOperatorSignature: return Error.BadUnaryOperatorSignature;
  972. case SysError.BadUseOfEvent: return Error.BadEventUsageNoField;
  973. case SysError.BadUseOfMethod: return Error.BadUseOfMethod;
  974. case SysError.BaseClassLessAccessible: return Error.BadVisBaseClass;
  975. case SysError.BaseInBadContext: return Error.BaseInBadContext;
  976. case SysError.BaseInStaticCode: return Error.BaseInStaticMeth;
  977. case SysError.BaseInterfaceLessAccessible: return Error.BadVisBaseInterface;
  978. case SysError.BaseMultipleInitialization: return Error.BaseMultipleInitialization;
  979. case SysError.BaseNotInitialized: return Error.BaseNotInitialized;
  980. case SysError.BatchFileNotRead: return Error.BatchFileNotRead;
  981. case SysError.BitwiseOrSignExtend: return Error.BitwiseOrSignExtend;
  982. case SysError.CannotCallSpecialMethod: return Error.CantCallSpecialMethod;
  983. case SysError.CannotCoerceNullToValueType: return Error.ValueCantBeNull;
  984. case SysError.CannotDeferenceNonPointerType: return Error.PtrExpected;
  985. case SysError.CannotDeriveFromSealedType: return Error.CantDeriveFromSealedClass;
  986. case SysError.CannotDeriveFromSpecialType: return Error.DeriveFromEnumOrValueType;
  987. case SysError.CannotExplicitlyImplementAccessor: return Error.ExplicitMethodImplAccessor;
  988. case SysError.CannotInferMethTypeArgs: return Error.CantInferMethTypeArgs;
  989. case SysError.CannotMatchArglist: return Error.CannotMatchArglist;
  990. case SysError.CannotOverrideAccessor: return Error.CantOverrideAccessor;
  991. case SysError.CannotOverrideFinal: return Error.CantOverrideSealed;
  992. case SysError.CannotOverrideNonEvent: return Error.CantOverrideNonEvent;
  993. case SysError.CannotOverrideNonVirtual: return Error.CantOverrideNonVirtual;
  994. case SysError.CannotOverrideSpecialMethod: return Error.CantOverrideSpecialMethod;
  995. case SysError.CannotReturnTypedReference: return Error.MethodReturnCantBeRefAny;
  996. case SysError.CannotReturnValue: return Error.RetNoObjectRequired;
  997. case SysError.CannotYieldFromCatchClause: return Error.CannotYieldFromCatchClause;
  998. case SysError.CannotYieldFromTryBlock: return Error.CannotYieldFromTryBlock;
  999. case SysError.CaseFallThrough: return Error.CaseFallThrough;
  1000. case SysError.CheckedExceptionNotInThrowsClause: return Error.CheckedExceptionNotInThrowsClause;
  1001. case SysError.CircularBase: return Error.CircularBase;
  1002. case SysError.CircularConstantDefinition: return Error.CircConstValue;
  1003. case SysError.ClashWithLocalConstant: return Error.LocalConstDuplicate;
  1004. case SysError.ClashWithLocalVariable: return Error.LocalDuplicate;
  1005. case SysError.CloseUnimplementedInterfaceMember: return Error.CloseUnimplementedInterfaceMember;
  1006. case SysError.CLSNotOnModules: return Error.CLSNotOnModules;
  1007. case SysError.ComImportWithoutGuidAttribute: return Error.ComImportWithoutUuidAttribute;
  1008. case SysError.ConcreteMissingBody: return Error.ConcreteMissingBody;
  1009. case SysError.ConditionalMustReturnVoid: return Error.ConditionalMustReturnVoid;
  1010. case SysError.ConditionalOnInterfaceMethod: return Error.ConditionalOnInterfaceMethod;
  1011. case SysError.ConditionalOnOverride: return Error.ConditionalOnOverride;
  1012. case SysError.ConditionalOnSpecialMethod: return Error.ConditionalOnSpecialMethod;
  1013. case SysError.ConflictBetweenAliasAndType: return Error.ConflictAliasAndMember;
  1014. case SysError.ConstantExpected: return Error.ConstantExpected;
  1015. case SysError.ConstraintIsAbstractSealedClass: return Error.ConstraintIsStaticClass;
  1016. case SysError.ConstructsAbstractClass: return Error.NoNewAbstract;
  1017. case SysError.ConstructsAbstractSealedClass: return Error.InstantiatingStaticClass;
  1018. case SysError.ConstructorInAbstractSealedClass: return Error.ConstructorInStaticClass;
  1019. case SysError.ContainingTypeDoesNotImplement: return Error.ClassDoesntImplementInterface;
  1020. case SysError.ConversionNotInvolvingContainedType: return Error.ConversionNotInvolvingContainedType;
  1021. case SysError.ConversionWithBase: return Error.ConversionWithBase;
  1022. case SysError.ConversionWithDerived: return Error.ConversionWithDerived;
  1023. case SysError.ConversionWithInterface: return Error.ConversionWithInterface;
  1024. case SysError.CTOverflow: return Error.CheckedOverflow;
  1025. case SysError.CustomAttributeError: return Error.CustomAttributeError;
  1026. case SysError.CycleInInterfaceInheritance: return Error.CycleInInterfaceInheritance;
  1027. case SysError.DestructorInAbstractSealedClass: return Error.DestructorInStaticClass;
  1028. case SysError.DefaultContructorConstraintNotSatisfied: return Error.NewConstraintNotSatisfied;
  1029. case SysError.DelayedReferenceByReference: return Error.DelayedReferenceByReference;
  1030. case SysError.DelayedRefParameter: return Error.DelayedRefParameter;
  1031. case SysError.DelayedStructConstructor: return Error.DelayedStructConstructor;
  1032. case SysError.DllImportOnInvalidMethod: return Error.DllImportOnInvalidMethod;
  1033. case SysError.DuplicateAliasDefinition: return Error.DuplicateAlias;
  1034. case SysError.DuplicateAssemblyReference: return Error.None;
  1035. case SysError.DuplicateAttribute: return Error.DuplicateAttribute;
  1036. case SysError.DuplicateCaseLabel: return Error.DuplicateCaseLabel;
  1037. case SysError.DuplicateConversion: return Error.DuplicateConversionInClass;
  1038. case SysError.DuplicateIndexer: return Error.MemberAlreadyExists;
  1039. case SysError.DuplicateInterfaceInBaseList: return Error.DuplicateInterfaceInBaseList;
  1040. case SysError.DuplicateMethod: return Error.MemberAlreadyExists;
  1041. case SysError.DuplicateModuleReference: return Error.None;
  1042. case SysError.DuplicateNamedAttributeArgument: return Error.DuplicateNamedAttributeArgument;
  1043. case SysError.DuplicateParameterName: return Error.DuplicateParamName;
  1044. case SysError.DuplicateResponseFile: return Error.DuplicateResponseFile;
  1045. case SysError.DuplicateType: return Error.DuplicateNameInNS;
  1046. case SysError.DuplicateTypeMember: return Error.DuplicateNameInClass;
  1047. case SysError.DuplicateUsedNamespace: return Error.DuplicateUsing;
  1048. case SysError.EnumerationValueOutOfRange: return Error.EnumeratorOverflow;
  1049. case SysError.EventNotDelegate: return Error.EventNotDelegate;
  1050. case SysError.EqualityOpWithoutEquals: return Error.EqualityOpWithoutEquals;
  1051. case SysError.EqualityOpWithoutGetHashCode: return Error.EqualityOpWithoutGetHashCode;
  1052. case SysError.Error: return Error.Error;
  1053. case SysError.ExplicitDefaultConstructorForValueType: return Error.StructsCantContainDefaultContructor;
  1054. case SysError.ExplicitlyImplementedTypeNotInterface: return Error.ExplicitInterfaceImplementationNotInterface;
  1055. case SysError.ExplicitPropertyAddingAccessor: return Error.ExplicitPropertyAddingAccessor;
  1056. case SysError.ExplicitPropertyMissingAccessor: return Error.ExplicitPropertyMissingAccessor;
  1057. case SysError.ExpressionIsAlreadyOfThisType: return Error.ExpressionIsAlreadyOfThisType;
  1058. case SysError.FamilyInSealed: return Error.ProtectedInSealed;
  1059. case SysError.FamilyInStruct: return Error.ProtectedInStruct;
  1060. case SysError.FatalError: return Error.FatalError;
  1061. case SysError.FieldOffsetNotAllowed: return Error.StructOffsetOnBadStruct;
  1062. case SysError.FieldOffsetNotAllowedOnStaticField: return Error.StructOffsetOnBadField;
  1063. case SysError.FieldTypeLessAccessibleThanField: return Error.BadVisFieldType;
  1064. case SysError.FixedMustInit: return Error.FixedMustInit;
  1065. case SysError.FixedNeeded: return Error.FixedNeeded;
  1066. case SysError.FixedNotNeeded: return Error.FixedNotNeeded;
  1067. case SysError.GeneralComprehensionsNotAllowedInMethodContracts: return Error.GeneralComprehensionsNotAllowedInMethodContracts;
  1068. case SysError.GenericWarning: return Error.GenericWarning;
  1069. case SysError.GlobalSingleTypeNameNotFound: return Error.GlobalSingleTypeNameNotFound;
  1070. case SysError.GotoLeavesNestedMethod: return Error.BadDelegateLeave;
  1071. case SysError.HidesAbstractMethod: return Error.HidingAbstractMethod;
  1072. case SysError.IntegerDivisionByConstantZero: return Error.IntDivByZero;
  1073. case SysError.IdentifierNotFound: return Error.NameNotInContext;
  1074. case SysError.IdentityConversion: return Error.IdentityConversion;
  1075. case SysError.IllegalPointerType: return Error.IllegalPointerType;
  1076. case SysError.ImpossibleCast: return Error.NoExplicitBuiltinConv;
  1077. case SysError.InaccessibleEventBackingField: return Error.BadEventUsage;
  1078. case SysError.InconsistantIndexerNames: return Error.InconsistantIndexerNames;
  1079. case SysError.IndexerInAbstractSealedClass: return Error.IndexerInStaticClass;
  1080. case SysError.IndexerNameAttributeOnOverride: return Error.NameAttributeOnOverride;
  1081. case SysError.IndexerNameNotIdentifier: return Error.BadArgumentToNameAttribute;
  1082. case SysError.InstanceFieldInitializerInStruct: return Error.FieldInitializerInStruct;
  1083. case SysError.InstanceMemberInAbstractSealedClass: return Error.InstanceMemberInStaticClass;
  1084. case SysError.IntegralTypeValueExpected: return Error.IntegralTypeValueExpected;
  1085. case SysError.InterfaceHasConstructor: return Error.InterfacesCannotContainConstructors;
  1086. case SysError.InterfaceHasField: return Error.InterfacesCannotContainFields;
  1087. case SysError.InterfaceImplementedByConditional: return Error.InterfaceImplementedByConditional;
  1088. case SysError.InterfaceMemberHasBody: return Error.InterfaceMemberHasBody;
  1089. case SysError.InterfaceMemberNotFound: return Error.InterfaceMemberNotFound;
  1090. case SysError.InternalCompilerError: return Error.InternalCompilerError;
  1091. case SysError.InvalidAddressOf: return Error.InvalidAddrOp;
  1092. case SysError.InvalidAttributeArgument: return Error.InvalidAttributeArgument;
  1093. case SysError.InvalidCodePage: return Error.BadCodePage;
  1094. case SysError.InvalidCompilerOption: return Error.UnknownOption;
  1095. case SysError.InvalidCompilerOptionArgument: return Error.InvalidCompilerOptionArgument;
  1096. case SysError.InvalidConditional: return Error.InvalidQM;
  1097. case SysError.InvalidData: return Error.InvalidData;
  1098. case SysError.InvalidDebugInformationFile: return Error.DebugInitFile;
  1099. case SysError.InvalidGotoCase: return Error.InvalidGotoCase;
  1100. case SysError.InvalidMainMethodSignature: return Error.InvalidMainSig;
  1101. case SysError.InvalidOutputFile: return Error.OutputWriteFailed;
  1102. case SysError.InvalidWin32ResourceFileContent: return Error.BadWin32Res;
  1103. case SysError.IsAlwaysOfType: return Error.IsAlwaysTrue;
  1104. case SysError.IsBinaryFile: return Error.IsBinaryFile;
  1105. case SysError.IsNeverOfType: return Error.IsAlwaysFalse;
  1106. case SysError.LabelIdentiferAlreadyInUse: return Error.DuplicateLabel;
  1107. case SysError.LabelNotFound: return Error.LabelNotFound;
  1108. case SysError.LockNeedsReference: return Error.LockNeedsReference;
  1109. case SysError.MainCantBeGeneric: return Error.MainCantBeGeneric;
  1110. case SysError.ManagedAddr: return Error.ManagedAddr;
  1111. case SysError.MemberDoesNotHideBaseClassMember: return Error.NewNotRequired;
  1112. case SysError.MemberHidesBaseClassMember: return Error.NewRequired;
  1113. case SysError.MemberHidesBaseClassOverridableMember: return Error.NewOrOverrideExpected;
  1114. case SysError.MemberNotVisible: return Error.BadAccess;
  1115. case SysError.MethodNameExpected: return Error.MethodNameExpected;
  1116. case SysError.MissingStructOffset: return Error.MissingStructOffset;
  1117. case SysError.MultipleMainMethods: return Error.MultipleEntryPoints;
  1118. case SysError.MultipleTypeImport: return Error.MultipleTypeDefs;
  1119. case SysError.MustHaveOpTF: return Error.MustHaveOpTF;
  1120. case SysError.NegativeArraySize: return Error.NegativeArraySize;
  1121. case SysError.NegativeStackAllocSize: return Error.NegativeStackAllocSize;
  1122. case SysError.NestedFunctionDelegateParameterMismatch: return Error.CantConvAnonMethParams;
  1123. case SysError.NestedFunctionDelegateParameterMismatchBecauseOfOutParameter: return Error.CantConvAnonMethNoParams;
  1124. case SysError.NestedFunctionDelegateReturnTypeMismatch: return Error.CantConvAnonMethReturns;
  1125. case SysError.NoExplicitCoercion: return Error.NoExplicitConversion;
  1126. case SysError.NoImplicitCoercion: return Error.NoImplicitConversion;
  1127. case SysError.NoImplicitCoercionFromConstant: return

Large files files are truncated, but you can click here to view the full file