| /******************************************************************************* |
| * 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 |
| * IBM Corporation - added the following constants |
| * IllegalUsageOfQualifiedTypeReference |
| ****************************************************************************/ |
| 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; |
| |
| /** @since 3.1 */ |
| int IllegalUsageOfQualifiedTypeReference = Internal + Syntax + 198; |
| |
| // 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; |
| |
| /** @deprecated - problem is no longer generated, UndefinedType is used instead */ |
| int SuperclassNotFound = TypeRelated + 329 + ProblemReasons.NotFound; // TypeRelated + 330 |
| /** @deprecated - problem is no longer generated, NotVisibleType is used instead */ |
| int SuperclassNotVisible = TypeRelated + 329 + ProblemReasons.NotVisible; // TypeRelated + 331 |
| /** @deprecated - problem is no longer generated, use AmbiguousType is used instead */ |
| int SuperclassAmbiguous = TypeRelated + 329 + ProblemReasons.Ambiguous; // TypeRelated + 332 |
| /** @deprecated - problem is no longer generated, use InternalTypeNameProvided is used instead */ |
| int SuperclassInternalNameProvided = TypeRelated + 329 + ProblemReasons.InternalNameProvided; // TypeRelated + 333 |
| /** @deprecated - problem is no longer generated, use InheritedTypeHidesEnclosingName is used instead */ |
| int SuperclassInheritedNameHidesEnclosingName = TypeRelated + 329 + ProblemReasons.InheritedNameHidesEnclosingName; // TypeRelated + 334 |
| |
| /** @deprecated - problem is no longer generated, UndefinedType is used instead */ |
| int InterfaceNotFound = TypeRelated + 334 + ProblemReasons.NotFound; // TypeRelated + 335 |
| /** @deprecated - problem is no longer generated, NotVisibleType is used instead */ |
| int InterfaceNotVisible = TypeRelated + 334 + ProblemReasons.NotVisible; // TypeRelated + 336 |
| /** @deprecated - problem is no longer generated, use AmbiguousType is used instead */ |
| int InterfaceAmbiguous = TypeRelated + 334 + ProblemReasons.Ambiguous; // TypeRelated + 337 |
| /** @deprecated - problem is no longer generated, use InternalTypeNameProvided is used instead */ |
| int InterfaceInternalNameProvided = TypeRelated + 334 + ProblemReasons.InternalNameProvided; // TypeRelated + 338 |
| /** @deprecated - problem is no longer generated, use InheritedTypeHidesEnclosingName is used instead */ |
| 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; |
| |
| /** @deprecated - problem is no longer generated, UndefinedType is used instead */ |
| int FieldTypeNotFound = FieldRelated + 349 + ProblemReasons.NotFound; // FieldRelated + 350 |
| /** @deprecated - problem is no longer generated, NotVisibleType is used instead */ |
| int FieldTypeNotVisible = FieldRelated + 349 + ProblemReasons.NotVisible; // FieldRelated + 351 |
| /** @deprecated - problem is no longer generated, use AmbiguousType is used instead */ |
| int FieldTypeAmbiguous = FieldRelated + 349 + ProblemReasons.Ambiguous; // FieldRelated + 352 |
| /** @deprecated - problem is no longer generated, use InternalTypeNameProvided is used instead */ |
| int FieldTypeInternalNameProvided = FieldRelated + 349 + ProblemReasons.InternalNameProvided; // FieldRelated + 353 |
| /** @deprecated - problem is no longer generated, use InheritedTypeHidesEnclosingName is used instead */ |
| 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; |
| |
| /** @deprecated - problem is no longer generated, UndefinedType is used instead */ |
| int ArgumentTypeNotFound = MethodRelated + 369 + ProblemReasons.NotFound; // MethodRelated + 370 |
| /** @deprecated - problem is no longer generated, NotVisibleType is used instead */ |
| int ArgumentTypeNotVisible = MethodRelated + 369 + ProblemReasons.NotVisible; // MethodRelated + 371 |
| /** @deprecated - problem is no longer generated, use AmbiguousType is used instead */ |
| int ArgumentTypeAmbiguous = MethodRelated + 369 + ProblemReasons.Ambiguous; // MethodRelated + 372 |
| /** @deprecated - problem is no longer generated, use InternalTypeNameProvided is used instead */ |
| int ArgumentTypeInternalNameProvided = MethodRelated + 369 + ProblemReasons.InternalNameProvided; // MethodRelated + 373 |
| /** @deprecated - problem is no longer generated, use InheritedTypeHidesEnclosingName is used instead */ |
| int ArgumentTypeInheritedNameHidesEnclosingName = MethodRelated + 369 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated + 374 |
| |
| /** @deprecated - problem is no longer generated, UndefinedType is used instead */ |
| int ExceptionTypeNotFound = MethodRelated + 374 + ProblemReasons.NotFound; // MethodRelated + 375 |
| /** @deprecated - problem is no longer generated, NotVisibleType is used instead */ |
| int ExceptionTypeNotVisible = MethodRelated + 374 + ProblemReasons.NotVisible; // MethodRelated + 376 |
| /** @deprecated - problem is no longer generated, use AmbiguousType is used instead */ |
| int ExceptionTypeAmbiguous = MethodRelated + 374 + ProblemReasons.Ambiguous; // MethodRelated + 377 |
| /** @deprecated - problem is no longer generated, use InternalTypeNameProvided is used instead */ |
| int ExceptionTypeInternalNameProvided = MethodRelated + 374 + ProblemReasons.InternalNameProvided; // MethodRelated + 378 |
| /** @deprecated - problem is no longer generated, use InheritedTypeHidesEnclosingName is used instead */ |
| int ExceptionTypeInheritedNameHidesEnclosingName = MethodRelated + 374 + ProblemReasons.InheritedNameHidesEnclosingName; // MethodRelated + 379 |
| |
| /** @deprecated - problem is no longer generated, UndefinedType is used instead */ |
| int ReturnTypeNotFound = MethodRelated + 379 + ProblemReasons.NotFound; // MethodRelated + 380 |
| /** @deprecated - problem is no longer generated, NotVisibleType is used instead */ |
| int ReturnTypeNotVisible = MethodRelated + 379 + ProblemReasons.NotVisible; // MethodRelated + 381 |
| /** @deprecated - problem is no longer generated, use AmbiguousType is used instead */ |
| int ReturnTypeAmbiguous = MethodRelated + 379 + ProblemReasons.Ambiguous; // MethodRelated + 382 |
| /** @deprecated - problem is no longer generated, use InternalTypeNameProvided is used instead */ |
| int ReturnTypeInternalNameProvided = MethodRelated + 379 + ProblemReasons.InternalNameProvided; // MethodRelated + 383 |
| /** @deprecated - problem is no longer generated, use InheritedTypeHidesEnclosingName is used instead */ |
| 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 ImportNotFound = ImportRelated + 389 + ProblemReasons.NotFound; // ImportRelated + 390 |
| /** @deprecated - problem is no longer generated, NotVisibleType is used instead */ |
| int ImportNotVisible = ImportRelated + 389 + ProblemReasons.NotVisible; // ImportRelated + 391 |
| /** @deprecated - problem is no longer generated, use AmbiguousType is used instead */ |
| int ImportAmbiguous = ImportRelated + 389 + ProblemReasons.Ambiguous; // ImportRelated + 392 |
| /** @deprecated - problem is no longer generated, use InternalTypeNameProvided is used instead */ |
| int ImportInternalNameProvided = ImportRelated + 389 + ProblemReasons.InternalNameProvided; // ImportRelated + 393 |
| /** @deprecated - problem is no longer generated, use InheritedTypeHidesEnclosingName is used instead */ |
| 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 JavadocMessagePrefix = Internal + 515; |
| |
| /** |
| * Generics |
| */ |
| /** @since 3.1 */ |
| int DuplicateTypeVariable = Internal + 520; |
| /** @since 3.1 */ |
| int IllegalTypeVariableSuperReference = Internal + 521; |
| /** @since 3.1 */ |
| int TypeVariableReferenceFromStaticContext = Internal + 522; |
| /** @since 3.1 */ |
| int ObjectCannotBeGeneric = Internal + 523; |
| /** @since 3.1 */ |
| int NonGenericType = TypeRelated + 524; |
| /** @since 3.1 */ |
| int IncorrectArityForParameterizedType = TypeRelated + 525; |
| /** @since 3.1 */ |
| int TypeArgumentMismatch = TypeRelated + 526; |
| /** @since 3.1 */ |
| int DuplicateMethodErasure = TypeRelated + 527; |
| /** @since 3.1 */ |
| int ReferenceToForwardTypeVariable = TypeRelated + 528; |
| /** @since 3.1 */ |
| int BoundsMustBeAnInterface = TypeRelated + 529; |
| /** @since 3.1 */ |
| int UnsafeRawConstructorInvocation = TypeRelated + 530; |
| /** @since 3.1 */ |
| int UnsafeRawMethodInvocation = TypeRelated + 531; |
| /** @since 3.1 */ |
| int UnsafeRawExpressionAssignment = TypeRelated + 532; |
| /** @since 3.1 */ |
| int UnsafeConstructorWithRawArguments = TypeRelated + 533; |
| /** @since 3.1 */ |
| int UnsafeMethodWithRawArguments = TypeRelated + 534; |
| /** @since 3.1 */ |
| int IllegalArrayOfParameterizedType = TypeRelated + 535; |
| /** @since 3.1 */ |
| int UnsafeRawFieldAssignment = TypeRelated + 536; |
| /** @since 3.1 */ |
| int InvalidClassInstantiationWithWildcards = Internal + 537; |
| /** @since 3.1 */ |
| int FinalBoundForTypeVariable = TypeRelated + 538; |
| /** @since 3.1 */ |
| int UndefinedTypeVariable = Internal + 539; |
| /** @since 3.1 */ |
| int SuperInterfacesCollide = TypeRelated + 540; |
| /** @since 3.1 */ |
| int UnsafeWildcardConstructorInvocation = TypeRelated + 541; |
| /** @since 3.1 */ |
| int UnsafeWildcardMethodInvocation = TypeRelated + 542; |
| /** @since 3.1 */ |
| int UnsafeWildcardFieldAssignment = TypeRelated + 543; |
| /** @since 3.1 */ |
| int GenericMethodTypeArgumentMismatch = TypeRelated + 544; |
| /** @since 3.1 */ |
| int GenericConstructorTypeArgumentMismatch = TypeRelated + 545; |
| /** @since 3.1 */ |
| int UnsafeGenericCast = TypeRelated + 546; |
| /** @since 3.1 */ |
| int UnsafeRawReturnValue = TypeRelated + 547; |
| /** @since 3.1 */ |
| int IllegalInstanceofParameterizedType = Internal + 548; |
| /** @since 3.1 */ |
| int IllegalInstanceofTypeParameter = Internal + 549; |
| /** @since 3.1 */ |
| int NonGenericMethod = TypeRelated + 550; |
| /** @since 3.1 */ |
| int IncorrectArityForParameterizedMethod = TypeRelated + 551; |
| /** @since 3.1 */ |
| int ParameterizedMethodArgumentTypeMismatch = TypeRelated + 552; |
| /** @since 3.1 */ |
| int NonGenericConstructor = TypeRelated + 553; |
| /** @since 3.1 */ |
| int IncorrectArityForParameterizedConstructor = TypeRelated + 554; |
| /** @since 3.1 */ |
| int ParameterizedConstructorArgumentTypeMismatch = TypeRelated + 555; |
| /** @since 3.1 */ |
| int InvalidParameterizedExceptionType = TypeRelated + 556; |
| |
| /** |
| * Foreach |
| */ |
| /** @since 3.1 */ |
| int IncompatibleTypesInForeach = TypeRelated + 580; |
| /** @since 3.1 */ |
| int InvalidTypeForCollection = Internal + 581; |
| |
| /** |
| * 1.5 Syntax errors (when source level < 1.5) |
| */ |
| /** @since 3.1 */ |
| int InvalidUsageOfTypeParameters = Syntax + Internal + 590; |
| /** @since 3.1 */ |
| int InvalidUsageOfStaticImports = Syntax + Internal + 591; |
| /** @since 3.1 */ |
| int InvalidUsageOfForeachStatements = Syntax + Internal + 592; |
| /** @since 3.1 */ |
| int InvalidUsageOfTypeArguments = Syntax + Internal + 593; |
| /** @since 3.1 */ |
| int InvalidUsageOfEnumDeclarations = Syntax + Internal + 594; |
| /** @since 3.1 */ |
| int InvalidUsageOfVarargs = Syntax + Internal + 595; |
| /** @since 3.1 */ |
| int InvalidUsageOfAnnotations = Syntax + Internal + 596; |
| |
| /** |
| * Annotation |
| */ |
| /** @since 3.0 */ |
| int AnnotationButConstructorName = MethodRelated + 600; |
| /** @since 3.0 */ |
| int IllegalExtendedDimensions = MethodRelated + 601; |
| /** @since 3.0 */ |
| int InvalidFileNameForPackageAnnotations = Syntax + Internal + 602; |
| |
| /** |
| * Corrupted binaries |
| */ |
| int CorruptedSignature = Internal + 700; |
| } |