1 /*******************************************************************************
2 * Copyright (c) 2000, 2003 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Common Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/cpl-v10.html
9 * IBM Corporation - initial API and implementation
10 * IBM Corporation - added the following constants
11 * NonStaticAccessToStaticField
12 * NonStaticAccessToStaticMethod
14 * ExpressionShouldBeAVariable
15 * AssignmentHasNoEffect
16 * IBM Corporation - added the following constants
17 * TooManySyntheticArgumentSlots
18 * TooManyArrayDimensions
19 * TooManyBytesForStringConstant
22 * NonBlankFinalLocalAssignment
23 * ObjectCannotHaveSuperTypes
25 * InvalidParenthesizedExpression
26 * EnclosingInstanceInConstructorCall
27 * BytecodeExceeds64KLimitForConstructor
28 * IncompatibleReturnTypeForNonInheritedInterfaceMethod
30 * UnusedPrivateConstructor
33 * IncompatibleExceptionInThrowsClauseForNonInheritedInterfaceMethod
34 *******************************************************************************/
35 package net.sourceforge.phpdt.core.compiler;
37 import net.sourceforge.phpdt.internal.compiler.lookup.ProblemReasons;
40 * Description of a Java problem, as detected by the compiler or some of the
41 * underlying technology reusing the compiler. A problem provides access to:
43 * <li> its location (originating source file name, source position, line
45 * <li> its message description and a predicate to check its severity (warning
47 * <li> its ID : an number identifying the very nature of this problem. All
48 * possible IDs are listed as constants on this interface. </li>
51 * Note: the compiler produces IProblems internally, which are turned into
52 * markers by the JavaBuilder so as to persist problem descriptions. This
53 * explains why there is no API allowing to reach IProblem detected when
54 * compiling. However, the Java problem markers carry equivalent information to
55 * IProblem, in particular their ID (attribute "id") is set to one of the IDs
56 * defined on this interface.
60 public interface IProblem {
63 * Answer back the original arguments recorded into the problem.
65 * @return the original arguments recorded into the problem
67 String[] getArguments();
70 * Returns the problem id
72 * @return the problem id
77 * Answer a localized, human-readable message string which describes the
80 * @return a localized, human-readable message string which describes the
86 * Answer the file name in which the problem was found.
88 * @return the file name in which the problem was found
90 char[] getOriginatingFileName();
93 * Answer the end position of the problem (inclusive), or -1 if unknown.
95 * @return the end position of the problem (inclusive), or -1 if unknown
100 * Answer the line number in source where the problem begins.
102 * @return the line number in source where the problem begins
104 int getSourceLineNumber();
107 * Answer the start position of the problem (inclusive), or -1 if unknown.
109 * @return the start position of the problem (inclusive), or -1 if unknown
111 int getSourceStart();
114 * Checks the severity to see if the Error bit is set.
116 * @return true if the Error bit is set for the severity, false otherwise
121 * Checks the severity to see if the Error bit is not set.
123 * @return true if the Error bit is not set for the severity, false
129 * Set the end position of the problem (inclusive), or -1 if unknown. Used
130 * for shifting problem positions.
133 * the given end position
135 void setSourceEnd(int sourceEnd);
138 * Set the line number in source where the problem begins.
141 * the given line number
143 void setSourceLineNumber(int lineNumber);
146 * Set the start position of the problem (inclusive), or -1 if unknown. Used
147 * for shifting problem positions.
150 * given start position
152 void setSourceStart(int sourceStart);
155 * Problem Categories The high bits of a problem ID contains information
156 * about the category of a problem. For example, (problemID & TypeRelated) !=
157 * 0, indicates that this problem is type related.
159 * A problem category can help to implement custom problem filters. Indeed,
160 * when numerous problems are listed, focusing on import related problems
161 * first might be relevant.
163 * When a problem is tagged as Internal, it means that no change other than
164 * a local source code change can fix the corresponding problem.
166 int TypeRelated = 0x01000000;
168 int FieldRelated = 0x02000000;
170 int MethodRelated = 0x04000000;
172 int ConstructorRelated = 0x08000000;
174 int ImportRelated = 0x10000000;
176 int Internal = 0x20000000;
178 int Syntax = 0x40000000;
183 int Javadoc = 0x80000000;
186 * Mask to use in order to filter out the category portion of the problem
189 int IgnoreCategoriesMask = 0xFFFFFF;
192 * Below are listed all available problem IDs. Note that this list could be
193 * augmented in the future, as new features are added to the Java core
198 * ID reserved for referencing an internal error inside the JavaCore
199 * implementation which may be surfaced as a problem associated with the
200 * compilation unit which caused it to occur.
202 int Unclassified = 0;
205 * Generic type related problems
207 int ObjectHasNoSuperclass = TypeRelated + 1;
209 int UndefinedType = TypeRelated + 2;
211 int NotVisibleType = TypeRelated + 3;
213 int AmbiguousType = TypeRelated + 4;
215 int UsingDeprecatedType = TypeRelated + 5;
217 int InternalTypeNameProvided = TypeRelated + 6;
220 int UnusedPrivateType = Internal + TypeRelated + 7;
222 int IncompatibleTypesInEqualityOperator = TypeRelated + 15;
224 int IncompatibleTypesInConditionalOperator = TypeRelated + 16;
226 int TypeMismatch = TypeRelated + 17;
229 * Inner types related problems
231 int MissingEnclosingInstanceForConstructorCall = TypeRelated + 20;
233 int MissingEnclosingInstance = TypeRelated + 21;
235 int IncorrectEnclosingInstanceReference = TypeRelated + 22;
237 int IllegalEnclosingInstanceSpecification = TypeRelated + 23;
239 int CannotDefineStaticInitializerInLocalType = Internal + 24;
241 int OuterLocalMustBeFinal = Internal + 25;
243 int CannotDefineInterfaceInLocalType = Internal + 26;
245 int IllegalPrimitiveOrArrayTypeForEnclosingInstance = TypeRelated + 27;
248 int EnclosingInstanceInConstructorCall = Internal + 28;
250 int AnonymousClassCannotExtendFinalClass = TypeRelated + 29;
253 int UndefinedName = 50;
255 int UninitializedLocalVariable = Internal + 51;
257 int VariableTypeCannotBeVoid = Internal + 52;
259 int VariableTypeCannotBeVoidArray = Internal + 53;
261 int CannotAllocateVoidArray = Internal + 54;
264 int RedefinedLocal = Internal + 55;
266 int RedefinedArgument = Internal + 56;
268 // final local variables
269 int DuplicateFinalLocalInitialization = Internal + 57;
272 int NonBlankFinalLocalAssignment = Internal + 58;
274 int FinalOuterLocalAssignment = Internal + 60;
276 int LocalVariableIsNeverUsed = Internal + 61;
278 int ArgumentIsNeverUsed = Internal + 62;
280 int BytecodeExceeds64KLimit = Internal + 63;
282 int BytecodeExceeds64KLimitForClinit = Internal + 64;
284 int TooManyArgumentSlots = Internal + 65;
286 int TooManyLocalVariableSlots = Internal + 66;
289 int TooManySyntheticArgumentSlots = Internal + 67;
292 int TooManyArrayDimensions = Internal + 68;
295 int BytecodeExceeds64KLimitForConstructor = Internal + 69;
298 int UndefinedField = FieldRelated + 70;
300 int NotVisibleField = FieldRelated + 71;
302 int AmbiguousField = FieldRelated + 72;
304 int UsingDeprecatedField = FieldRelated + 73;
306 int NonStaticFieldFromStaticInvocation = FieldRelated + 74;
308 int ReferenceToForwardField = FieldRelated + Internal + 75;
311 int NonStaticAccessToStaticField = Internal + FieldRelated + 76;
314 int UnusedPrivateField = Internal + FieldRelated + 77;
316 // blank final fields
317 int FinalFieldAssignment = FieldRelated + 80;
319 int UninitializedBlankFinalField = FieldRelated + 81;
321 int DuplicateBlankFinalFieldInitialization = FieldRelated + 82;
324 int UndefinedMethod = MethodRelated + 100;
326 int NotVisibleMethod = MethodRelated + 101;
328 int AmbiguousMethod = MethodRelated + 102;
330 int UsingDeprecatedMethod = MethodRelated + 103;
332 int DirectInvocationOfAbstractMethod = MethodRelated + 104;
334 int VoidMethodReturnsValue = MethodRelated + 105;
336 int MethodReturnsVoid = MethodRelated + 106;
338 int MethodRequiresBody = Internal + MethodRelated + 107;
340 int ShouldReturnValue = Internal + MethodRelated + 108;
342 int MethodButWithConstructorName = MethodRelated + 110;
344 int MissingReturnType = TypeRelated + 111;
346 int BodyForNativeMethod = Internal + MethodRelated + 112;
348 int BodyForAbstractMethod = Internal + MethodRelated + 113;
350 int NoMessageSendOnBaseType = MethodRelated + 114;
352 int ParameterMismatch = MethodRelated + 115;
354 int NoMessageSendOnArrayType = MethodRelated + 116;
357 int NonStaticAccessToStaticMethod = Internal + MethodRelated + 117;
360 int UnusedPrivateMethod = Internal + MethodRelated + 118;
363 int UndefinedConstructor = ConstructorRelated + 130;
365 int NotVisibleConstructor = ConstructorRelated + 131;
367 int AmbiguousConstructor = ConstructorRelated + 132;
369 int UsingDeprecatedConstructor = ConstructorRelated + 133;
372 int UnusedPrivateConstructor = Internal + MethodRelated + 134;
374 // explicit constructor calls
375 int InstanceFieldDuringConstructorInvocation = ConstructorRelated + 135;
377 int InstanceMethodDuringConstructorInvocation = ConstructorRelated + 136;
379 int RecursiveConstructorInvocation = ConstructorRelated + 137;
381 int ThisSuperDuringConstructorInvocation = ConstructorRelated + 138;
383 // implicit constructor calls
384 int UndefinedConstructorInDefaultConstructor = ConstructorRelated + 140;
386 int NotVisibleConstructorInDefaultConstructor = ConstructorRelated + 141;
388 int AmbiguousConstructorInDefaultConstructor = ConstructorRelated + 142;
390 int UndefinedConstructorInImplicitConstructorCall = ConstructorRelated + 143;
392 int NotVisibleConstructorInImplicitConstructorCall = ConstructorRelated + 144;
394 int AmbiguousConstructorInImplicitConstructorCall = ConstructorRelated + 145;
396 int UnhandledExceptionInDefaultConstructor = TypeRelated + 146;
398 int UnhandledExceptionInImplicitConstructorCall = TypeRelated + 147;
401 int ArrayReferenceRequired = Internal + 150;
403 int NoImplicitStringConversionForCharArrayExpression = Internal + 151;
405 // constant expressions
406 int StringConstantIsExceedingUtf8Limit = Internal + 152;
408 int NonConstantExpression = 153;
410 int NumericValueOutOfRange = Internal + 154;
413 int IllegalCast = TypeRelated + 156;
416 int InvalidClassInstantiation = TypeRelated + 157;
418 int CannotDefineDimensionExpressionsWithInit = Internal + 158;
420 int MustDefineEitherDimensionExpressionsOrInitializer = Internal + 159;
423 int InvalidOperator = Internal + 160;
426 int CodeCannotBeReached = Internal + 161;
428 int CannotReturnInInitializer = Internal + 162;
430 int InitializerMustCompleteNormally = Internal + 163;
433 int InvalidVoidExpression = Internal + 164;
436 int MaskedCatch = TypeRelated + 165;
438 int DuplicateDefaultCase = 166;
440 int UnreachableCatch = TypeRelated + MethodRelated + 167;
442 int UnhandledException = TypeRelated + 168;
445 int IncorrectSwitchType = TypeRelated + 169;
447 int DuplicateCase = FieldRelated + 170;
450 int DuplicateLabel = Internal + 171;
452 int InvalidBreak = Internal + 172;
454 int InvalidContinue = Internal + 173;
456 int UndefinedLabel = Internal + 174;
459 int InvalidTypeToSynchronized = Internal + 175;
461 int InvalidNullToSynchronized = Internal + 176;
464 int CannotThrowNull = Internal + 177;
468 int AssignmentHasNoEffect = Internal + 178;
471 int NeedToEmulateFieldReadAccess = FieldRelated + 190;
473 int NeedToEmulateFieldWriteAccess = FieldRelated + 191;
475 int NeedToEmulateMethodAccess = MethodRelated + 192;
477 int NeedToEmulateConstructorAccess = MethodRelated + 193;
479 // inherited name hides enclosing name (sort of ambiguous)
480 int InheritedMethodHidesEnclosingName = MethodRelated + 195;
482 int InheritedFieldHidesEnclosingName = FieldRelated + 196;
484 int InheritedTypeHidesEnclosingName = TypeRelated + 197;
487 int ThisInStaticContext = Internal + 200;
489 int StaticMethodRequested = Internal + MethodRelated + 201;
491 int IllegalDimension = Internal + 202;
493 int InvalidTypeExpression = Internal + 203;
495 int ParsingError = Syntax + Internal + 204;
497 int ParsingErrorNoSuggestion = Syntax + Internal + 205;
499 int InvalidUnaryExpression = Syntax + Internal + 206;
502 int InterfaceCannotHaveConstructors = Syntax + Internal + 207;
504 int ArrayConstantsOnlyInArrayInitializers = Syntax + Internal + 208;
506 int ParsingErrorOnKeyword = Syntax + Internal + 209;
508 int ParsingErrorOnKeywordNoSuggestion = Syntax + Internal + 210;
510 int PHPParsingError = Syntax + Internal + 211;
512 int PHPParsingWarning = Syntax + Internal + 212;
514 int PHPVarDeprecatedWarning = Syntax + Internal + 213;
516 int PHPBadStyleKeywordWarning = Syntax + Internal + 214;
518 int PHPBadStyleUppercaseIdentifierWarning = Syntax + Internal + 215;
520 int PHPIncludeNotExistWarning = Syntax + Internal + 216;
522 int UnmatchedBracket = Syntax + Internal + 220;
524 int NoFieldOnBaseType = FieldRelated + 221;
526 int InvalidExpressionAsStatement = Syntax + Internal + 222;
529 int ExpressionShouldBeAVariable = Syntax + Internal + 223;
532 int MissingSemiColon = Syntax + Internal + 224;
535 int InvalidParenthesizedExpression = Syntax + Internal + 225;
538 int EndOfSource = Syntax + Internal + 250;
540 int InvalidHexa = Syntax + Internal + 251;
542 int InvalidOctal = Syntax + Internal + 252;
544 int InvalidCharacterConstant = Syntax + Internal + 253;
546 int InvalidEscape = Syntax + Internal + 254;
548 int InvalidInput = Syntax + Internal + 255;
550 int InvalidUnicodeEscape = Syntax + Internal + 256;
552 int InvalidFloat = Syntax + Internal + 257;
554 int NullSourceString = Syntax + Internal + 258;
556 int UnterminatedString = Syntax + Internal + 259;
558 int UnterminatedComment = Syntax + Internal + 260;
560 // type related problems
561 int InterfaceCannotHaveInitializers = TypeRelated + 300;
563 int DuplicateModifierForType = TypeRelated + 301;
565 int IllegalModifierForClass = TypeRelated + 302;
567 int IllegalModifierForInterface = TypeRelated + 303;
569 int IllegalModifierForMemberClass = TypeRelated + 304;
571 int IllegalModifierForMemberInterface = TypeRelated + 305;
573 int IllegalModifierForLocalClass = TypeRelated + 306;
575 int IllegalModifierCombinationFinalAbstractForClass = TypeRelated + 308;
577 int IllegalVisibilityModifierForInterfaceMemberType = TypeRelated + 309;
579 int IllegalVisibilityModifierCombinationForMemberType = TypeRelated + 310;
581 int IllegalStaticModifierForMemberType = TypeRelated + 311;
583 int SuperclassMustBeAClass = TypeRelated + 312;
585 int ClassExtendFinalClass = TypeRelated + 313;
587 int DuplicateSuperInterface = TypeRelated + 314;
589 int SuperInterfaceMustBeAnInterface = TypeRelated + 315;
591 int HierarchyCircularitySelfReference = TypeRelated + 316;
593 int HierarchyCircularity = TypeRelated + 317;
595 int HidingEnclosingType = TypeRelated + 318;
597 int DuplicateNestedType = TypeRelated + 319;
599 int CannotThrowType = TypeRelated + 320;
601 int PackageCollidesWithType = TypeRelated + 321;
603 int TypeCollidesWithPackage = TypeRelated + 322;
605 int DuplicateTypes = TypeRelated + 323;
607 int IsClassPathCorrect = TypeRelated + 324;
609 int PublicClassMustMatchFileName = TypeRelated + 325;
611 int MustSpecifyPackage = 326;
613 int HierarchyHasProblems = TypeRelated + 327;
615 int PackageIsNotExpectedPackage = 328;
618 int ObjectCannotHaveSuperTypes = 329;
620 // int InvalidSuperclassBase = TypeRelated + 329; // reserved to 334
622 int SuperclassNotFound = TypeRelated + 329 + ProblemReasons.NotFound; // TypeRelated
626 int SuperclassNotVisible = TypeRelated + 329 + ProblemReasons.NotVisible; // TypeRelated
630 int SuperclassAmbiguous = TypeRelated + 329 + ProblemReasons.Ambiguous; // TypeRelated
634 int SuperclassInternalNameProvided = TypeRelated + 329
635 + ProblemReasons.InternalNameProvided; // TypeRelated + 333
637 int SuperclassInheritedNameHidesEnclosingName = TypeRelated + 329
638 + ProblemReasons.InheritedNameHidesEnclosingName; // TypeRelated +
641 // int InvalidInterfaceBase = TypeRelated + 334; // reserved to 339 included
642 int InterfaceNotFound = TypeRelated + 334 + ProblemReasons.NotFound; // TypeRelated
646 int InterfaceNotVisible = TypeRelated + 334 + ProblemReasons.NotVisible; // TypeRelated
650 int InterfaceAmbiguous = TypeRelated + 334 + ProblemReasons.Ambiguous; // TypeRelated
654 int InterfaceInternalNameProvided = TypeRelated + 334
655 + ProblemReasons.InternalNameProvided; // TypeRelated + 338
657 int InterfaceInheritedNameHidesEnclosingName = TypeRelated + 334
658 + ProblemReasons.InheritedNameHidesEnclosingName; // TypeRelated +
661 // field related problems
662 int DuplicateField = FieldRelated + 340;
664 int DuplicateModifierForField = FieldRelated + 341;
666 int IllegalModifierForField = FieldRelated + 342;
668 int IllegalModifierForInterfaceField = FieldRelated + 343;
670 int IllegalVisibilityModifierCombinationForField = FieldRelated + 344;
672 int IllegalModifierCombinationFinalVolatileForField = FieldRelated + 345;
674 int UnexpectedStaticModifierForField = FieldRelated + 346;
676 // int FieldTypeProblemBase = FieldRelated + 349; //reserved to 354
677 int FieldTypeNotFound = FieldRelated + 349 + ProblemReasons.NotFound; // FieldRelated
681 int FieldTypeNotVisible = FieldRelated + 349 + ProblemReasons.NotVisible; // FieldRelated
685 int FieldTypeAmbiguous = FieldRelated + 349 + ProblemReasons.Ambiguous; // FieldRelated
689 int FieldTypeInternalNameProvided = FieldRelated + 349
690 + ProblemReasons.InternalNameProvided; // FieldRelated + 353
692 int FieldTypeInheritedNameHidesEnclosingName = FieldRelated + 349
693 + ProblemReasons.InheritedNameHidesEnclosingName; // FieldRelated
696 // method related problems
697 int DuplicateMethod = MethodRelated + 355;
699 int IllegalModifierForArgument = MethodRelated + 356;
701 int DuplicateModifierForMethod = MethodRelated + 357;
703 int IllegalModifierForMethod = MethodRelated + 358;
705 int IllegalModifierForInterfaceMethod = MethodRelated + 359;
707 int IllegalVisibilityModifierCombinationForMethod = MethodRelated + 360;
709 int UnexpectedStaticModifierForMethod = MethodRelated + 361;
711 int IllegalAbstractModifierCombinationForMethod = MethodRelated + 362;
713 int AbstractMethodInAbstractClass = MethodRelated + 363;
715 int ArgumentTypeCannotBeVoid = MethodRelated + 364;
717 int ArgumentTypeCannotBeVoidArray = MethodRelated + 365;
719 int ReturnTypeCannotBeVoidArray = MethodRelated + 366;
721 int NativeMethodsCannotBeStrictfp = MethodRelated + 367;
723 int DuplicateModifierForArgument = MethodRelated + 368;
725 // int ArgumentProblemBase = MethodRelated + 369; // reserved to 374
727 int ArgumentTypeNotFound = MethodRelated + 369 + ProblemReasons.NotFound; // MethodRelated
731 int ArgumentTypeNotVisible = MethodRelated + 369
732 + ProblemReasons.NotVisible; // MethodRelated + 371
734 int ArgumentTypeAmbiguous = MethodRelated + 369 + ProblemReasons.Ambiguous; // MethodRelated
738 int ArgumentTypeInternalNameProvided = MethodRelated + 369
739 + ProblemReasons.InternalNameProvided; // MethodRelated + 373
741 int ArgumentTypeInheritedNameHidesEnclosingName = MethodRelated + 369
742 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated
745 // int ExceptionTypeProblemBase = MethodRelated + 374; // reserved to 379
747 int ExceptionTypeNotFound = MethodRelated + 374 + ProblemReasons.NotFound; // MethodRelated
751 int ExceptionTypeNotVisible = MethodRelated + 374
752 + ProblemReasons.NotVisible; // MethodRelated + 376
754 int ExceptionTypeAmbiguous = MethodRelated + 374 + ProblemReasons.Ambiguous; // MethodRelated
758 int ExceptionTypeInternalNameProvided = MethodRelated + 374
759 + ProblemReasons.InternalNameProvided; // MethodRelated + 378
761 int ExceptionTypeInheritedNameHidesEnclosingName = MethodRelated + 374
762 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated
765 // int ReturnTypeProblemBase = MethodRelated + 379;
766 int ReturnTypeNotFound = MethodRelated + 379 + ProblemReasons.NotFound; // MethodRelated
770 int ReturnTypeNotVisible = MethodRelated + 379 + ProblemReasons.NotVisible; // MethodRelated
774 int ReturnTypeAmbiguous = MethodRelated + 379 + ProblemReasons.Ambiguous; // MethodRelated
778 int ReturnTypeInternalNameProvided = MethodRelated + 379
779 + ProblemReasons.InternalNameProvided; // MethodRelated + 383
781 int ReturnTypeInheritedNameHidesEnclosingName = MethodRelated + 379
782 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated
785 // import related problems
786 int ConflictingImport = ImportRelated + 385;
788 int DuplicateImport = ImportRelated + 386;
790 int CannotImportPackage = ImportRelated + 387;
792 int UnusedImport = ImportRelated + 388;
794 // int ImportProblemBase = ImportRelated + 389;
795 int ImportNotFound = ImportRelated + 389 + ProblemReasons.NotFound; // ImportRelated
798 int ImportNotVisible = ImportRelated + 389 + ProblemReasons.NotVisible; // ImportRelated
802 int ImportAmbiguous = ImportRelated + 389 + ProblemReasons.Ambiguous; // ImportRelated
806 int ImportInternalNameProvided = ImportRelated + 389
807 + ProblemReasons.InternalNameProvided; // ImportRelated + 393
809 int ImportInheritedNameHidesEnclosingName = ImportRelated + 389
810 + ProblemReasons.InheritedNameHidesEnclosingName; // ImportRelated
813 // local variable related problems
814 int DuplicateModifierForVariable = MethodRelated + 395;
816 int IllegalModifierForVariable = MethodRelated + 396;
818 // method verifier problems
819 int AbstractMethodMustBeImplemented = MethodRelated + 400;
821 int FinalMethodCannotBeOverridden = MethodRelated + 401;
823 int IncompatibleExceptionInThrowsClause = MethodRelated + 402;
825 int IncompatibleExceptionInInheritedMethodThrowsClause = MethodRelated + 403;
827 int IncompatibleReturnType = MethodRelated + 404;
829 int InheritedMethodReducesVisibility = MethodRelated + 405;
831 int CannotOverrideAStaticMethodWithAnInstanceMethod = MethodRelated + 406;
833 int CannotHideAnInstanceMethodWithAStaticMethod = MethodRelated + 407;
835 int StaticInheritedMethodConflicts = MethodRelated + 408;
837 int MethodReducesVisibility = MethodRelated + 409;
839 int OverridingNonVisibleMethod = MethodRelated + 410;
841 int AbstractMethodCannotBeOverridden = MethodRelated + 411;
843 int OverridingDeprecatedMethod = MethodRelated + 412;
846 int IncompatibleReturnTypeForNonInheritedInterfaceMethod = MethodRelated + 413;
849 int IncompatibleExceptionInThrowsClauseForNonInheritedInterfaceMethod = MethodRelated + 414;
851 // code snippet support
852 int CodeSnippetMissingClass = Internal + 420;
854 int CodeSnippetMissingMethod = Internal + 421;
856 int NonExternalizedStringLiteral = Internal + 261;
858 int CannotUseSuperInCodeSnippet = Internal + 422;
861 int TooManyConstantsInConstantPool = Internal + 430;
864 int TooManyBytesForStringConstant = Internal + 431;
866 // static constraints
868 int TooManyFields = Internal + 432;
871 int TooManyMethods = Internal + 433;
875 int UseAssertAsAnIdentifier = Internal + 440;
879 int Task = Internal + 450;
883 int UndocumentedEmptyBlock = Internal + 460;
889 int JavadocUnexpectedTag = Javadoc + Internal + 470;
892 int JavadocMissingParamTag = Javadoc + Internal + 471;
895 int JavadocMissingParamName = Javadoc + Internal + 472;
898 int JavadocDuplicateParamName = Javadoc + Internal + 473;
901 int JavadocInvalidParamName = Javadoc + Internal + 474;
904 int JavadocMissingReturnTag = Javadoc + Internal + 475;
907 int JavadocDuplicateReturnTag = Javadoc + Internal + 476;
910 int JavadocMissingThrowsTag = Javadoc + Internal + 477;
913 int JavadocMissingThrowsClassName = Javadoc + Internal + 478;
916 int JavadocInvalidThrowsClass = Javadoc + Internal + 479;
919 int JavadocDuplicateThrowsClassName = Javadoc + Internal + 480;
922 int JavadocInvalidThrowsClassName = Javadoc + Internal + 481;
925 int JavadocMissingSeeReference = Javadoc + Internal + 482;
928 int JavadocInvalidSeeReference = Javadoc + Internal + 483;
931 int JavadocInvalidSeeHref = Javadoc + Internal + 484;
934 int JavadocInvalidSeeArgs = Javadoc + Internal + 485;
937 int JavadocMissing = Javadoc + Internal + 486;
940 int JavadocInvalidTag = Javadoc + Internal + 487;
943 * ID for field errors in Javadoc
946 int JavadocUndefinedField = Javadoc + Internal + 488;
949 int JavadocNotVisibleField = Javadoc + Internal + 489;
952 int JavadocAmbiguousField = Javadoc + Internal + 490;
955 int JavadocUsingDeprecatedField = Javadoc + Internal + 491;
958 * IDs for constructor errors in Javadoc
961 int JavadocUndefinedConstructor = Javadoc + Internal + 492;
964 int JavadocNotVisibleConstructor = Javadoc + Internal + 493;
967 int JavadocAmbiguousConstructor = Javadoc + Internal + 494;
970 int JavadocUsingDeprecatedConstructor = Javadoc + Internal + 495;
973 * IDs for method errors in Javadoc
976 int JavadocUndefinedMethod = Javadoc + Internal + 496;
979 int JavadocNotVisibleMethod = Javadoc + Internal + 497;
982 int JavadocAmbiguousMethod = Javadoc + Internal + 498;
985 int JavadocUsingDeprecatedMethod = Javadoc + Internal + 499;
988 int JavadocNoMessageSendOnBaseType = Javadoc + Internal + 500;
991 int JavadocParameterMismatch = Javadoc + Internal + 501;
994 int JavadocNoMessageSendOnArrayType = Javadoc + Internal + 502;
997 * IDs for type errors in Javadoc
1000 int JavadocUndefinedType = Javadoc + Internal + 503;
1003 int JavadocNotVisibleType = Javadoc + Internal + 504;
1006 int JavadocAmbiguousType = Javadoc + Internal + 505;
1009 int JavadocUsingDeprecatedType = Javadoc + Internal + 506;
1012 int JavadocInternalTypeNameProvided = Javadoc + Internal + 507;
1015 int JavadocInheritedMethodHidesEnclosingName = Javadoc + Internal + 508;
1018 int JavadocInheritedFieldHidesEnclosingName = Javadoc + Internal + 509;
1021 int JavadocInheritedNameHidesEnclosingTypeName = Javadoc + Internal + 510;
1024 int JavadocAmbiguousMethodReference = Javadoc + Internal + 511;
1027 int JavadocUnterminatedInlineTag = Javadoc + Internal + 512;
1030 int JavadocMalformedSeeReference = Javadoc + Internal + 513;
1033 int JavadocMessagePrefix = Internal + 515;