removed Makefile; lifted repo/org.ibex.tool/src/ to src/
[org.ibex.tool.git] / repo / org.ibex.tool / src / org / eclipse / jdt / core / compiler / IProblem.java
diff --git a/repo/org.ibex.tool/src/org/eclipse/jdt/core/compiler/IProblem.java b/repo/org.ibex.tool/src/org/eclipse/jdt/core/compiler/IProblem.java
deleted file mode 100644 (file)
index 7be59f1..0000000
+++ /dev/null
@@ -1,800 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     IBM Corporation - added the following constants
- *                                                                NonStaticAccessToStaticField
- *                                                                NonStaticAccessToStaticMethod
- *                                                                Task
- *                                                                ExpressionShouldBeAVariable
- *                                                                AssignmentHasNoEffect
- *     IBM Corporation - added the following constants
- *                                                                TooManySyntheticArgumentSlots
- *                                                                TooManyArrayDimensions
- *                                                                TooManyBytesForStringConstant
- *                                                                TooManyMethods
- *                                                                TooManyFields
- *                                                                NonBlankFinalLocalAssignment
- *                                                                ObjectCannotHaveSuperTypes
- *                                                                MissingSemiColon
- *                                                                InvalidParenthesizedExpression
- *                                                                EnclosingInstanceInConstructorCall
- *                                                                BytecodeExceeds64KLimitForConstructor
- *                                                                IncompatibleReturnTypeForNonInheritedInterfaceMethod
- *                                                                UnusedPrivateMethod
- *                                                                UnusedPrivateConstructor
- *                                                                UnusedPrivateType
- *                                                                UnusedPrivateField
- *                                                                IncompatibleExceptionInThrowsClauseForNonInheritedInterfaceMethod
- *                                                                InvalidExplicitConstructorCall
- *     IBM Corporation - added the following constants
- *                                                                PossibleAccidentalBooleanAssignment
- *                                                                SuperfluousSemicolon
- *                                                                IndirectAccessToStaticField
- *                                                                IndirectAccessToStaticMethod
- *                                                                IndirectAccessToStaticType
- *                                                                BooleanMethodThrowingException
- *                                                                UnnecessaryCast
- *                                                                UnnecessaryArgumentCast
- *                                                                UnnecessaryInstanceof
- *                                                                FinallyMustCompleteNormally
- *                                                                UnusedMethodDeclaredThrownException
- *                                                                UnusedConstructorDeclaredThrownException
- *                                                                InvalidCatchBlockSequence
- *                                                                UnqualifiedFieldAccess
- *     IBM Corporation - added the following constants
- *                                                                Javadoc
- *                                                                JavadocUnexpectedTag
- *                                                                JavadocMissingParamTag
- *                                                                JavadocMissingParamName
- *                                                                JavadocDuplicateParamName
- *                                                                JavadocInvalidParamName
- *                                                                JavadocMissingReturnTag
- *                                                                JavadocDuplicateReturnTag
- *                                                                JavadocMissingThrowsTag
- *                                                                JavadocMissingThrowsClassName
- *                                                                JavadocInvalidThrowsClass
- *                                                                JavadocDuplicateThrowsClassName
- *                                                                JavadocInvalidThrowsClassName
- *                                                                JavadocMissingSeeReference
- *                                                                JavadocInvalidSeeReference
- *                                                                JavadocInvalidSeeHref
- *                                                                JavadocInvalidSeeArgs
- *                                                                JavadocMissing
- *                                                                JavadocInvalidTag
- *                                                                JavadocMessagePrefix
- *                                                                EmptyControlFlowStatement
- ****************************************************************************/
-package org.eclipse.jdt.core.compiler;
-import org.eclipse.jdt.internal.compiler.lookup.ProblemReasons;
-
-/**
- * Description of a Java problem, as detected by the compiler or some of the underlying
- * technology reusing the compiler. 
- * A problem provides access to:
- * <ul>
- * <li> its location (originating source file name, source position, line number), </li>
- * <li> its message description and a predicate to check its severity (warning or error). </li>
- * <li> its ID : an number identifying the very nature of this problem. All possible IDs are listed
- * as constants on this interface. </li>
- * </ul>
- * 
- * Note: the compiler produces IProblems internally, which are turned into markers by the JavaBuilder
- * so as to persist problem descriptions. This explains why there is no API allowing to reach IProblem detected
- * when compiling. However, the Java problem markers carry equivalent information to IProblem, in particular
- * their ID (attribute "id") is set to one of the IDs defined on this interface.
- * 
- * @since 2.0
- */
-public interface IProblem { 
-       
-       /**
-        * Answer back the original arguments recorded into the problem.
-        * @return the original arguments recorded into the problem
-        */
-       String[] getArguments();
-
-       /**
-        * Returns the problem id
-        * 
-        * @return the problem id
-        */
-       int getID();
-
-       /**
-        * Answer a localized, human-readable message string which describes the problem.
-        * 
-        * @return a localized, human-readable message string which describes the problem
-        */
-       String getMessage();
-
-       /**
-        * Answer the file name in which the problem was found.
-        * 
-        * @return the file name in which the problem was found
-        */
-       char[] getOriginatingFileName();
-       
-       /**
-        * Answer the end position of the problem (inclusive), or -1 if unknown.
-        * 
-        * @return the end position of the problem (inclusive), or -1 if unknown
-        */
-       int getSourceEnd();
-
-       /**
-        * Answer the line number in source where the problem begins.
-        * 
-        * @return the line number in source where the problem begins
-        */
-       int getSourceLineNumber();
-
-       /**
-        * Answer the start position of the problem (inclusive), or -1 if unknown.
-        * 
-        * @return the start position of the problem (inclusive), or -1 if unknown
-        */
-       int getSourceStart();
-
-       /**
-        * Checks the severity to see if the Error bit is set.
-        * 
-        * @return true if the Error bit is set for the severity, false otherwise
-        */
-       boolean isError();
-
-       /**
-        * Checks the severity to see if the Error bit is not set.
-        * 
-        * @return true if the Error bit is not set for the severity, false otherwise
-        */
-       boolean isWarning();
-
-       /**
-        * Set the end position of the problem (inclusive), or -1 if unknown.
-        * Used for shifting problem positions.
-        * 
-        * @param sourceEnd the given end position
-        */
-       void setSourceEnd(int sourceEnd);
-
-       /**
-        * Set the line number in source where the problem begins.
-        * 
-        * @param lineNumber the given line number
-        */
-       void setSourceLineNumber(int lineNumber);
-
-       /**
-        * Set the start position of the problem (inclusive), or -1 if unknown.
-        * Used for shifting problem positions.
-        * 
-        * @param sourceStart the given start position
-        */
-       void setSourceStart(int sourceStart);
-       
-       /**
-        * Problem Categories
-        * The high bits of a problem ID contains information about the category of a problem. 
-        * For example, (problemID & TypeRelated) != 0, indicates that this problem is type related.
-        * 
-        * A problem category can help to implement custom problem filters. Indeed, when numerous problems
-        * are listed, focusing on import related problems first might be relevant.
-        * 
-        * When a problem is tagged as Internal, it means that no change other than a local source code change
-        * can  fix the corresponding problem.
-        */
-       int TypeRelated = 0x01000000;
-       int FieldRelated = 0x02000000;
-       int MethodRelated = 0x04000000;
-       int ConstructorRelated = 0x08000000;
-       int ImportRelated = 0x10000000;
-       int Internal = 0x20000000;
-       int Syntax = 0x40000000;
-       /**
-        * @since 3.0
-        */
-       int Javadoc = 0x80000000;
-       
-       /**
-        * Mask to use in order to filter out the category portion of the problem ID.
-        */
-       int IgnoreCategoriesMask = 0xFFFFFF;
-
-       /**
-        * Below are listed all available problem IDs. Note that this list could be augmented in the future, 
-        * as new features are added to the Java core implementation.
-        */
-
-       /**
-        * ID reserved for referencing an internal error inside the JavaCore implementation which
-        * may be surfaced as a problem associated with the compilation unit which caused it to occur.
-        */
-       int Unclassified = 0;
-
-       /**
-        * General type related problems
-        */
-       int ObjectHasNoSuperclass = TypeRelated + 1;
-       int UndefinedType = TypeRelated + 2;
-       int NotVisibleType = TypeRelated + 3;
-       int AmbiguousType = TypeRelated + 4;
-       int UsingDeprecatedType = TypeRelated + 5;
-       int InternalTypeNameProvided = TypeRelated + 6;
-       /** @since 2.1 */
-       int UnusedPrivateType = Internal + TypeRelated + 7;
-       
-       int IncompatibleTypesInEqualityOperator = TypeRelated + 15;
-       int IncompatibleTypesInConditionalOperator = TypeRelated + 16;
-       int TypeMismatch = TypeRelated + 17;
-       /** @since 3.0 */
-       int IndirectAccessToStaticType = Internal + TypeRelated + 18;
-       
-       /**
-        * Inner types related problems
-        */
-       int MissingEnclosingInstanceForConstructorCall = TypeRelated + 20;
-       int MissingEnclosingInstance = TypeRelated + 21;
-       int IncorrectEnclosingInstanceReference = TypeRelated + 22;
-       int IllegalEnclosingInstanceSpecification = TypeRelated + 23; 
-       int CannotDefineStaticInitializerInLocalType = Internal + 24;
-       int OuterLocalMustBeFinal = Internal + 25;
-       int CannotDefineInterfaceInLocalType = Internal + 26;
-       int IllegalPrimitiveOrArrayTypeForEnclosingInstance = TypeRelated + 27;
-       /** @since 2.1 */
-       int EnclosingInstanceInConstructorCall = Internal + 28;
-       int AnonymousClassCannotExtendFinalClass = TypeRelated + 29;
-
-       // variables
-       int UndefinedName = 50;
-       int UninitializedLocalVariable = Internal + 51;
-       int VariableTypeCannotBeVoid = Internal + 52;
-       int VariableTypeCannotBeVoidArray = Internal + 53;
-       int CannotAllocateVoidArray = Internal + 54;
-       // local variables
-       int RedefinedLocal = Internal + 55;
-       int RedefinedArgument = Internal + 56;
-       // final local variables
-       int DuplicateFinalLocalInitialization = Internal + 57;
-       /** @since 2.1 */
-       int NonBlankFinalLocalAssignment = Internal + 58;
-       
-       int FinalOuterLocalAssignment = Internal + 60;
-       int LocalVariableIsNeverUsed = Internal + 61;
-       int ArgumentIsNeverUsed = Internal + 62;
-       int BytecodeExceeds64KLimit = Internal + 63;
-       int BytecodeExceeds64KLimitForClinit = Internal + 64;
-       int TooManyArgumentSlots = Internal + 65;
-       int TooManyLocalVariableSlots = Internal + 66;
-       /** @since 2.1 */
-       int TooManySyntheticArgumentSlots = Internal + 67;
-       /** @since 2.1 */
-       int TooManyArrayDimensions = Internal + 68;
-       /** @since 2.1 */
-       int BytecodeExceeds64KLimitForConstructor = Internal + 69;
-
-       // fields
-       int UndefinedField = FieldRelated + 70;
-       int NotVisibleField = FieldRelated + 71;
-       int AmbiguousField = FieldRelated + 72;
-       int UsingDeprecatedField = FieldRelated + 73;
-       int NonStaticFieldFromStaticInvocation = FieldRelated + 74;
-       int ReferenceToForwardField = FieldRelated + Internal + 75;
-       /** @since 2.1 */
-       int NonStaticAccessToStaticField = Internal + FieldRelated + 76;
-       /** @since 2.1 */
-       int UnusedPrivateField = Internal + FieldRelated + 77;
-       /** @since 3.0 */
-       int IndirectAccessToStaticField = Internal + FieldRelated + 78;
-       /** @since 3.0 */
-       int UnqualifiedFieldAccess = Internal + FieldRelated + 79;
-       
-       // blank final fields
-       int FinalFieldAssignment = FieldRelated + 80;
-       int UninitializedBlankFinalField = FieldRelated + 81;
-       int DuplicateBlankFinalFieldInitialization = FieldRelated + 82;
-
-       // variable hiding
-       /**
-        * The local variable {0} is hiding another local variable defined in an enclosing type scope 
-        * @since 3.0
-        */
-       int LocalVariableHidingLocalVariable = Internal + 90;           
-
-       /**
-        * The local variable {0} is hiding the field {1}.{2} 
-        * @since 3.0
-        */
-       int LocalVariableHidingField = Internal + FieldRelated + 91;            
-        
-       /**
-        * The field {0}.{1} is hiding another local variable defined in an enclosing type scope
-        * @since 3.0 
-        */
-       int FieldHidingLocalVariable = Internal + FieldRelated + 92;            
-
-       /**
-        * The field {0}.{1} is hiding the field {2}.{3}
-        * @since 3.0 
-        */
-       int FieldHidingField = Internal + FieldRelated + 93;            
-
-       /**
-        * The argument {0} is hiding another local variable defined in an enclosing type scope
-        * @since 3.0 
-        */
-       int ArgumentHidingLocalVariable = Internal + 94;                
-
-       /**
-        * The argument {0} is hiding the field {2}.{3}
-        * @since 3.0 
-        */
-       int ArgumentHidingField = Internal + 95;                
-
-       // methods
-       int UndefinedMethod = MethodRelated + 100;
-       int NotVisibleMethod = MethodRelated + 101;
-       int AmbiguousMethod = MethodRelated + 102;
-       int UsingDeprecatedMethod = MethodRelated + 103;
-       int DirectInvocationOfAbstractMethod = MethodRelated + 104;
-       int VoidMethodReturnsValue = MethodRelated + 105;
-       int MethodReturnsVoid = MethodRelated + 106;
-       int MethodRequiresBody = Internal + MethodRelated + 107;
-       int ShouldReturnValue = Internal + MethodRelated + 108;
-       int MethodButWithConstructorName = MethodRelated + 110;
-       int MissingReturnType = TypeRelated + 111;
-       int BodyForNativeMethod = Internal + MethodRelated + 112;
-       int BodyForAbstractMethod = Internal + MethodRelated + 113;
-       int NoMessageSendOnBaseType = MethodRelated + 114;
-       int ParameterMismatch = MethodRelated + 115;
-       int NoMessageSendOnArrayType = MethodRelated + 116;
-       /** @since 2.1 */
-    int NonStaticAccessToStaticMethod = Internal + MethodRelated + 117;
-       /** @since 2.1 */
-       int UnusedPrivateMethod = Internal + MethodRelated + 118;
-       /** @since 3.0 */
-       int IndirectAccessToStaticMethod = Internal + MethodRelated + 119;
-
-           
-       // constructors
-       int UndefinedConstructor = ConstructorRelated + 130;
-       int NotVisibleConstructor = ConstructorRelated + 131;
-       int AmbiguousConstructor = ConstructorRelated + 132;
-       int UsingDeprecatedConstructor = ConstructorRelated + 133;
-       /** @since 2.1 */
-       int UnusedPrivateConstructor = Internal + MethodRelated + 134;
-       // explicit constructor calls
-       int InstanceFieldDuringConstructorInvocation = ConstructorRelated + 135;
-       int InstanceMethodDuringConstructorInvocation = ConstructorRelated + 136;
-       int RecursiveConstructorInvocation = ConstructorRelated + 137;
-       int ThisSuperDuringConstructorInvocation = ConstructorRelated + 138;
-       /** @since 3.0 */
-       int InvalidExplicitConstructorCall = ConstructorRelated + Syntax + 139;
-       // implicit constructor calls
-       int UndefinedConstructorInDefaultConstructor = ConstructorRelated + 140;
-       int NotVisibleConstructorInDefaultConstructor = ConstructorRelated + 141;
-       int AmbiguousConstructorInDefaultConstructor = ConstructorRelated + 142;
-       int UndefinedConstructorInImplicitConstructorCall = ConstructorRelated + 143;
-       int NotVisibleConstructorInImplicitConstructorCall = ConstructorRelated + 144;
-       int AmbiguousConstructorInImplicitConstructorCall = ConstructorRelated + 145;
-       int UnhandledExceptionInDefaultConstructor = TypeRelated + 146;
-       int UnhandledExceptionInImplicitConstructorCall = TypeRelated + 147;
-                               
-       // expressions
-       int ArrayReferenceRequired = Internal + 150;
-       int NoImplicitStringConversionForCharArrayExpression = Internal + 151;
-       // constant expressions
-       int StringConstantIsExceedingUtf8Limit = Internal + 152;
-       int NonConstantExpression = 153;
-       int NumericValueOutOfRange = Internal + 154;
-       // cast expressions
-       int IllegalCast = TypeRelated + 156;
-       // allocations
-       int InvalidClassInstantiation = TypeRelated + 157;
-       int CannotDefineDimensionExpressionsWithInit = Internal + 158;
-       int MustDefineEitherDimensionExpressionsOrInitializer = Internal + 159;
-       // operators
-       int InvalidOperator = Internal + 160;
-       // statements
-       int CodeCannotBeReached = Internal + 161;
-       int CannotReturnInInitializer = Internal + 162;
-       int InitializerMustCompleteNormally = Internal + 163;
-       // assert
-       int InvalidVoidExpression = Internal + 164;
-       // try
-       int MaskedCatch = TypeRelated + 165;
-       int DuplicateDefaultCase = 166;
-       int UnreachableCatch = TypeRelated + MethodRelated + 167;
-       int UnhandledException = TypeRelated + 168;
-       // switch       
-       int IncorrectSwitchType = TypeRelated + 169;
-       int DuplicateCase = FieldRelated + 170;
-       // labelled
-       int DuplicateLabel = Internal + 171;
-       int InvalidBreak = Internal + 172;
-       int InvalidContinue = Internal + 173;
-       int UndefinedLabel = Internal + 174;
-       //synchronized
-       int InvalidTypeToSynchronized = Internal + 175;
-       int InvalidNullToSynchronized = Internal + 176;
-       // throw
-       int CannotThrowNull = Internal + 177;
-       // assignment
-       /** @since 2.1 */
-       int AssignmentHasNoEffect = Internal + 178;
-       /** @since 3.0 */
-       int PossibleAccidentalBooleanAssignment = Internal + 179;
-       /** @since 3.0 */
-       int SuperfluousSemicolon = Internal + 180;
-       /** @since 3.0 */
-       int UnnecessaryCast = Internal + TypeRelated + 181;
-       /** @since 3.0 */
-       int UnnecessaryArgumentCast = Internal + TypeRelated + 182;
-       /** @since 3.0 */
-       int UnnecessaryInstanceof = Internal + TypeRelated + 183;       
-       /** @since 3.0 */
-       int FinallyMustCompleteNormally = Internal + 184;       
-       /** @since 3.0 */
-       int UnusedMethodDeclaredThrownException = Internal + 185;       
-       /** @since 3.0 */
-       int UnusedConstructorDeclaredThrownException = Internal + 186;  
-       /** @since 3.0 */
-       int InvalidCatchBlockSequence = Internal + TypeRelated + 187;   
-       /** @since 3.0 */
-       int EmptyControlFlowStatement = Internal + TypeRelated + 188;   
-       /** @since 3.0 */
-       int UnnecessaryElse = Internal + 189;   
-
-       // inner emulation
-       int NeedToEmulateFieldReadAccess = FieldRelated + 190;
-       int NeedToEmulateFieldWriteAccess = FieldRelated + 191;
-       int NeedToEmulateMethodAccess = MethodRelated + 192;
-       int NeedToEmulateConstructorAccess = MethodRelated + 193;
-
-       //inherited name hides enclosing name (sort of ambiguous)
-       int InheritedMethodHidesEnclosingName = MethodRelated + 195;
-       int InheritedFieldHidesEnclosingName = FieldRelated + 196;
-       int InheritedTypeHidesEnclosingName = TypeRelated + 197;
-
-       // miscellaneous
-       int ThisInStaticContext = Internal + 200;
-       int StaticMethodRequested = Internal + MethodRelated + 201;
-       int IllegalDimension = Internal + 202;
-       int InvalidTypeExpression = Internal + 203;
-       int ParsingError = Syntax + Internal + 204;
-       int ParsingErrorNoSuggestion = Syntax + Internal + 205;
-       int InvalidUnaryExpression = Syntax + Internal + 206;
-
-       // syntax errors
-       int InterfaceCannotHaveConstructors = Syntax + Internal + 207;
-       int ArrayConstantsOnlyInArrayInitializers = Syntax + Internal + 208;
-       int ParsingErrorOnKeyword = Syntax + Internal + 209;    
-       int ParsingErrorOnKeywordNoSuggestion = Syntax + Internal + 210;
-
-       int UnmatchedBracket = Syntax + Internal + 220;
-       int NoFieldOnBaseType = FieldRelated + 221;
-       int InvalidExpressionAsStatement = Syntax + Internal + 222;
-       /** @since 2.1 */
-       int ExpressionShouldBeAVariable = Syntax + Internal + 223;
-       /** @since 2.1 */
-       int MissingSemiColon = Syntax + Internal + 224;
-       /** @since 2.1 */
-       int InvalidParenthesizedExpression = Syntax + Internal + 225;
-       
-       /** @since 3.0 */
-       int ParsingErrorInsertTokenBefore = Syntax + Internal + 230;
-       /** @since 3.0 */
-       int ParsingErrorInsertTokenAfter = Syntax + Internal + 231;
-       /** @since 3.0 */
-    int ParsingErrorDeleteToken = Syntax + Internal + 232;
-    /** @since 3.0 */
-    int ParsingErrorDeleteTokens = Syntax + Internal + 233;
-    /** @since 3.0 */
-    int ParsingErrorMergeTokens = Syntax + Internal + 234;
-    /** @since 3.0 */
-    int ParsingErrorInvalidToken = Syntax + Internal + 235;
-    /** @since 3.0 */
-    int ParsingErrorMisplacedConstruct = Syntax + Internal + 236;
-    /** @since 3.0 */
-    int ParsingErrorReplaceTokens = Syntax + Internal + 237;
-    /** @since 3.0 */
-    int ParsingErrorNoSuggestionForTokens = Syntax + Internal + 238;
-    /** @since 3.0 */
-    int ParsingErrorUnexpectedEOF = Syntax + Internal + 239;
-    /** @since 3.0 */
-    int ParsingErrorInsertToComplete = Syntax + Internal + 240;
-    /** @since 3.0 */
-    int ParsingErrorInsertToCompleteScope = Syntax + Internal + 241;
-    /** @since 3.0 */
-    int ParsingErrorInsertToCompletePhrase = Syntax + Internal + 242;
-    
-       // scanner errors
-       int EndOfSource = Syntax + Internal + 250;
-       int InvalidHexa = Syntax + Internal + 251;
-       int InvalidOctal = Syntax + Internal + 252;
-       int InvalidCharacterConstant = Syntax + Internal + 253;
-       int InvalidEscape = Syntax + Internal + 254;
-       int InvalidInput = Syntax + Internal + 255;
-       int InvalidUnicodeEscape = Syntax + Internal + 256;
-       int InvalidFloat = Syntax + Internal + 257;
-       int NullSourceString = Syntax + Internal + 258;
-       int UnterminatedString = Syntax + Internal + 259;
-       int UnterminatedComment = Syntax + Internal + 260;
-
-       // type related problems
-       int InterfaceCannotHaveInitializers = TypeRelated + 300;
-       int DuplicateModifierForType = TypeRelated + 301;
-       int IllegalModifierForClass = TypeRelated + 302;
-       int IllegalModifierForInterface = TypeRelated + 303;
-       int IllegalModifierForMemberClass = TypeRelated + 304;
-       int IllegalModifierForMemberInterface = TypeRelated + 305;
-       int IllegalModifierForLocalClass = TypeRelated + 306;
-
-       int IllegalModifierCombinationFinalAbstractForClass = TypeRelated + 308;
-       int IllegalVisibilityModifierForInterfaceMemberType = TypeRelated + 309;
-       int IllegalVisibilityModifierCombinationForMemberType = TypeRelated + 310;
-       int IllegalStaticModifierForMemberType = TypeRelated + 311;
-       int SuperclassMustBeAClass = TypeRelated + 312;
-       int ClassExtendFinalClass = TypeRelated + 313;
-       int DuplicateSuperInterface = TypeRelated + 314;
-       int SuperInterfaceMustBeAnInterface = TypeRelated + 315;
-       int HierarchyCircularitySelfReference = TypeRelated + 316;
-       int HierarchyCircularity = TypeRelated + 317;
-       int HidingEnclosingType = TypeRelated + 318;
-       int DuplicateNestedType = TypeRelated + 319;
-       int CannotThrowType = TypeRelated + 320;
-       int PackageCollidesWithType = TypeRelated + 321;
-       int TypeCollidesWithPackage = TypeRelated + 322;
-       int DuplicateTypes = TypeRelated + 323;
-       int IsClassPathCorrect = TypeRelated + 324;
-       int PublicClassMustMatchFileName = TypeRelated + 325;
-       int MustSpecifyPackage = 326;
-       int HierarchyHasProblems = TypeRelated + 327;
-       int PackageIsNotExpectedPackage = 328;
-       /** @since 2.1 */
-       int ObjectCannotHaveSuperTypes = 329;
-
-       // int InvalidSuperclassBase = TypeRelated + 329; // reserved to 334 included
-       int SuperclassNotFound =  TypeRelated + 329 + ProblemReasons.NotFound; // TypeRelated + 330
-       int SuperclassNotVisible =  TypeRelated + 329 + ProblemReasons.NotVisible; // TypeRelated + 331
-       int SuperclassAmbiguous =  TypeRelated + 329 + ProblemReasons.Ambiguous; // TypeRelated + 332
-       int SuperclassInternalNameProvided =  TypeRelated + 329 + ProblemReasons.InternalNameProvided; // TypeRelated + 333
-       int SuperclassInheritedNameHidesEnclosingName =  TypeRelated + 329 + ProblemReasons.InheritedNameHidesEnclosingName; // TypeRelated + 334
-
-       // int InvalidInterfaceBase = TypeRelated + 334; // reserved to 339 included
-       int InterfaceNotFound =  TypeRelated + 334 + ProblemReasons.NotFound; // TypeRelated + 335
-       int InterfaceNotVisible =  TypeRelated + 334 + ProblemReasons.NotVisible; // TypeRelated + 336
-       int InterfaceAmbiguous =  TypeRelated + 334 + ProblemReasons.Ambiguous; // TypeRelated + 337
-       int InterfaceInternalNameProvided =  TypeRelated + 334 + ProblemReasons.InternalNameProvided; // TypeRelated + 338
-       int InterfaceInheritedNameHidesEnclosingName =  TypeRelated + 334 + ProblemReasons.InheritedNameHidesEnclosingName; // TypeRelated + 339
-
-       // field related problems
-       int DuplicateField = FieldRelated + 340;
-       int DuplicateModifierForField = FieldRelated + 341;
-       int IllegalModifierForField = FieldRelated + 342;
-       int IllegalModifierForInterfaceField = FieldRelated + 343;
-       int IllegalVisibilityModifierCombinationForField = FieldRelated + 344;
-       int IllegalModifierCombinationFinalVolatileForField = FieldRelated + 345;
-       int UnexpectedStaticModifierForField = FieldRelated + 346;
-
-       // int FieldTypeProblemBase = FieldRelated + 349; //reserved to 354
-       int FieldTypeNotFound =  FieldRelated + 349 + ProblemReasons.NotFound; // FieldRelated + 350
-       int FieldTypeNotVisible =  FieldRelated + 349 + ProblemReasons.NotVisible; // FieldRelated + 351
-       int FieldTypeAmbiguous =  FieldRelated + 349 + ProblemReasons.Ambiguous; // FieldRelated + 352
-       int FieldTypeInternalNameProvided =  FieldRelated + 349 + ProblemReasons.InternalNameProvided; // FieldRelated + 353
-       int FieldTypeInheritedNameHidesEnclosingName =  FieldRelated + 349 + ProblemReasons.InheritedNameHidesEnclosingName; // FieldRelated + 354
-       
-       // method related problems
-       int DuplicateMethod = MethodRelated + 355;
-       int IllegalModifierForArgument = MethodRelated + 356;
-       int DuplicateModifierForMethod = MethodRelated + 357;
-       int IllegalModifierForMethod = MethodRelated + 358;
-       int IllegalModifierForInterfaceMethod = MethodRelated + 359;
-       int IllegalVisibilityModifierCombinationForMethod = MethodRelated + 360;
-       int UnexpectedStaticModifierForMethod = MethodRelated + 361;
-       int IllegalAbstractModifierCombinationForMethod = MethodRelated + 362;
-       int AbstractMethodInAbstractClass = MethodRelated + 363;
-       int ArgumentTypeCannotBeVoid = MethodRelated + 364;
-       int ArgumentTypeCannotBeVoidArray = MethodRelated + 365;
-       int ReturnTypeCannotBeVoidArray = MethodRelated + 366;
-       int NativeMethodsCannotBeStrictfp = MethodRelated + 367;
-       int DuplicateModifierForArgument = MethodRelated + 368;
-
-       //      int ArgumentProblemBase = MethodRelated + 369; // reserved to 374 included.
-       int ArgumentTypeNotFound =  MethodRelated + 369 + ProblemReasons.NotFound; // MethodRelated + 370
-       int ArgumentTypeNotVisible =  MethodRelated + 369 + ProblemReasons.NotVisible; // MethodRelated + 371
-       int ArgumentTypeAmbiguous =  MethodRelated + 369 + ProblemReasons.Ambiguous; // MethodRelated + 372
-       int ArgumentTypeInternalNameProvided =  MethodRelated + 369 + ProblemReasons.InternalNameProvided; // MethodRelated + 373
-       int ArgumentTypeInheritedNameHidesEnclosingName =  MethodRelated + 369 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated + 374
-
-       //      int ExceptionTypeProblemBase = MethodRelated + 374; // reserved to 379 included.
-       int ExceptionTypeNotFound =  MethodRelated + 374 + ProblemReasons.NotFound; // MethodRelated + 375
-       int ExceptionTypeNotVisible =  MethodRelated + 374 + ProblemReasons.NotVisible; // MethodRelated + 376
-       int ExceptionTypeAmbiguous =  MethodRelated + 374 + ProblemReasons.Ambiguous; // MethodRelated + 377
-       int ExceptionTypeInternalNameProvided =  MethodRelated + 374 + ProblemReasons.InternalNameProvided; // MethodRelated + 378
-       int ExceptionTypeInheritedNameHidesEnclosingName =  MethodRelated + 374 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated + 379
-
-       //      int ReturnTypeProblemBase = MethodRelated + 379;
-       int ReturnTypeNotFound =  MethodRelated + 379 + ProblemReasons.NotFound; // MethodRelated + 380
-       int ReturnTypeNotVisible =  MethodRelated + 379 + ProblemReasons.NotVisible; // MethodRelated + 381
-       int ReturnTypeAmbiguous =  MethodRelated + 379 + ProblemReasons.Ambiguous; // MethodRelated + 382
-       int ReturnTypeInternalNameProvided =  MethodRelated + 379 + ProblemReasons.InternalNameProvided; // MethodRelated + 383
-       int ReturnTypeInheritedNameHidesEnclosingName =  MethodRelated + 379 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated + 384
-
-       // import related problems
-       int ConflictingImport = ImportRelated + 385;
-       int DuplicateImport = ImportRelated + 386;
-       int CannotImportPackage = ImportRelated + 387;
-       int UnusedImport = ImportRelated + 388;
-
-       //      int ImportProblemBase = ImportRelated + 389;
-       int ImportNotFound =  ImportRelated + 389 + ProblemReasons.NotFound; // ImportRelated + 390
-       int ImportNotVisible =  ImportRelated + 389 + ProblemReasons.NotVisible; // ImportRelated + 391
-       int ImportAmbiguous =  ImportRelated + 389 + ProblemReasons.Ambiguous; // ImportRelated + 392
-       int ImportInternalNameProvided =  ImportRelated + 389 + ProblemReasons.InternalNameProvided; // ImportRelated + 393
-       int ImportInheritedNameHidesEnclosingName =  ImportRelated + 389 + ProblemReasons.InheritedNameHidesEnclosingName; // ImportRelated + 394
-
-       // local variable related problems
-       int DuplicateModifierForVariable = MethodRelated + 395;
-       int IllegalModifierForVariable = MethodRelated + 396;
-
-       // method verifier problems
-       int AbstractMethodMustBeImplemented = MethodRelated + 400;
-       int FinalMethodCannotBeOverridden = MethodRelated + 401;
-       int IncompatibleExceptionInThrowsClause = MethodRelated + 402;
-       int IncompatibleExceptionInInheritedMethodThrowsClause = MethodRelated + 403;
-       int IncompatibleReturnType = MethodRelated + 404;
-       int InheritedMethodReducesVisibility = MethodRelated + 405;
-       int CannotOverrideAStaticMethodWithAnInstanceMethod = MethodRelated + 406;
-       int CannotHideAnInstanceMethodWithAStaticMethod = MethodRelated + 407;
-       int StaticInheritedMethodConflicts = MethodRelated + 408;
-       int MethodReducesVisibility = MethodRelated + 409;
-       int OverridingNonVisibleMethod = MethodRelated + 410;
-       int AbstractMethodCannotBeOverridden = MethodRelated + 411;
-       int OverridingDeprecatedMethod = MethodRelated + 412;
-       /** @since 2.1 */
-       int IncompatibleReturnTypeForNonInheritedInterfaceMethod = MethodRelated + 413;
-       /** @since 2.1 */
-       int IncompatibleExceptionInThrowsClauseForNonInheritedInterfaceMethod = MethodRelated + 414;
-       
-       // code snippet support
-       int CodeSnippetMissingClass = Internal + 420;
-       int CodeSnippetMissingMethod = Internal + 421;
-       int NonExternalizedStringLiteral = Internal + 261;
-       int CannotUseSuperInCodeSnippet = Internal + 422;
-       
-       //constant pool
-       int TooManyConstantsInConstantPool = Internal + 430;
-       /** @since 2.1 */
-       int TooManyBytesForStringConstant = Internal + 431;
-
-       // static constraints
-       /** @since 2.1 */
-       int TooManyFields = Internal + 432;
-       /** @since 2.1 */
-       int TooManyMethods = Internal + 433; 
-               
-       // 1.4 features
-       // assertion warning
-       int UseAssertAsAnIdentifier = Internal + 440;
-       
-       // detected task
-       /** @since 2.1 */
-       int Task = Internal + 450;
-       
-       // block
-       /** @since 3.0 */
-       int UndocumentedEmptyBlock = Internal + 460;
-               
-       /*
-        * Javadoc comments
-        */
-       /** @since 3.0 */
-       int JavadocUnexpectedTag = Javadoc + Internal + 470;
-       /** @since 3.0 */
-       int JavadocMissingParamTag = Javadoc + Internal + 471;
-       /** @since 3.0 */
-       int JavadocMissingParamName = Javadoc + Internal + 472;
-       /** @since 3.0 */
-       int JavadocDuplicateParamName = Javadoc + Internal + 473;
-       /** @since 3.0 */
-       int JavadocInvalidParamName = Javadoc + Internal + 474;
-       /** @since 3.0 */
-       int JavadocMissingReturnTag = Javadoc + Internal + 475;
-       /** @since 3.0 */
-       int JavadocDuplicateReturnTag = Javadoc + Internal + 476;
-       /** @since 3.0 */
-       int JavadocMissingThrowsTag = Javadoc + Internal + 477;
-       /** @since 3.0 */
-       int JavadocMissingThrowsClassName = Javadoc + Internal + 478;
-       /** @since 3.0 */
-       int JavadocInvalidThrowsClass = Javadoc + Internal + 479;
-       /** @since 3.0 */
-       int JavadocDuplicateThrowsClassName = Javadoc + Internal + 480;
-       /** @since 3.0 */
-       int JavadocInvalidThrowsClassName = Javadoc + Internal + 481;
-       /** @since 3.0 */
-       int JavadocMissingSeeReference = Javadoc + Internal + 482;
-       /** @since 3.0 */
-       int JavadocInvalidSeeReference = Javadoc + Internal + 483;
-       /** @since 3.0 */
-       int JavadocInvalidSeeHref = Javadoc + Internal + 484;
-       /** @since 3.0 */
-       int JavadocInvalidSeeArgs = Javadoc + Internal + 485;
-       /** @since 3.0 */
-       int JavadocMissing = Javadoc + Internal + 486;
-       /** @since 3.0 */
-       int JavadocInvalidTag = Javadoc + Internal + 487;
-       /*
-        * ID for field errors in Javadoc
-        */
-       /** @since 3.0 */
-       int JavadocUndefinedField = Javadoc + Internal + 488;
-       /** @since 3.0 */
-       int JavadocNotVisibleField = Javadoc + Internal + 489;
-       /** @since 3.0 */
-       int JavadocAmbiguousField = Javadoc + Internal + 490;
-       /** @since 3.0 */
-       int JavadocUsingDeprecatedField = Javadoc + Internal + 491;
-       /*
-        * IDs for constructor errors in Javadoc
-        */
-       /** @since 3.0 */
-       int JavadocUndefinedConstructor = Javadoc + Internal + 492;
-       /** @since 3.0 */
-       int JavadocNotVisibleConstructor = Javadoc + Internal + 493;
-       /** @since 3.0 */
-       int JavadocAmbiguousConstructor = Javadoc + Internal + 494;
-       /** @since 3.0 */
-       int JavadocUsingDeprecatedConstructor = Javadoc + Internal + 495;
-       /*
-        * IDs for method errors in Javadoc
-        */
-       /** @since 3.0 */
-       int JavadocUndefinedMethod = Javadoc + Internal + 496;
-       /** @since 3.0 */
-       int JavadocNotVisibleMethod = Javadoc + Internal + 497;
-       /** @since 3.0 */
-       int JavadocAmbiguousMethod = Javadoc + Internal + 498;
-       /** @since 3.0 */
-       int JavadocUsingDeprecatedMethod = Javadoc + Internal + 499;
-       /** @since 3.0 */
-       int JavadocNoMessageSendOnBaseType = Javadoc + Internal + 500;
-       /** @since 3.0 */
-       int JavadocParameterMismatch = Javadoc + Internal + 501;
-       /** @since 3.0 */
-       int JavadocNoMessageSendOnArrayType = Javadoc + Internal + 502;
-       /*
-        * IDs for type errors in Javadoc
-        */
-       /** @since 3.0 */
-       int JavadocUndefinedType = Javadoc + Internal + 503;
-       /** @since 3.0 */
-       int JavadocNotVisibleType = Javadoc + Internal + 504;
-       /** @since 3.0 */
-       int JavadocAmbiguousType = Javadoc + Internal + 505;
-       /** @since 3.0 */
-       int JavadocUsingDeprecatedType = Javadoc + Internal + 506;
-       /** @since 3.0 */
-       int JavadocInternalTypeNameProvided = Javadoc + Internal + 507;
-       /** @since 3.0 */
-       int JavadocInheritedMethodHidesEnclosingName = Javadoc + Internal + 508;
-       /** @since 3.0 */
-       int JavadocInheritedFieldHidesEnclosingName = Javadoc + Internal + 509;
-       /** @since 3.0 */
-       int JavadocInheritedNameHidesEnclosingTypeName = Javadoc + Internal + 510;
-       /** @since 3.0 */
-       int JavadocAmbiguousMethodReference = Javadoc + Internal + 511;
-       /** @since 3.0 */
-       int JavadocUnterminatedInlineTag = Javadoc + Internal + 512;
-       /** @since 3.0 */
-       int JavadocMalformedSeeReference = Javadoc + Internal + 513;
-       /** @since 3.0 */
-       int JavadocMessagePrefix = Internal + 515;
-}