### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: model/org/eclipse/jdt/core/JavaCore.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/JavaCore.java,v retrieving revision 1.608 diff -u -r1.608 JavaCore.java --- model/org/eclipse/jdt/core/JavaCore.java 10 Mar 2008 13:52:05 -0000 1.608 +++ model/org/eclipse/jdt/core/JavaCore.java 11 Mar 2008 15:39:28 -0000 @@ -117,6 +117,7 @@ import org.eclipse.core.runtime.SubProgressMonitor; import org.eclipse.core.runtime.jobs.ISchedulingRule; import org.eclipse.jdt.core.compiler.CharOperation; +import org.eclipse.jdt.core.compiler.IProblem; import org.eclipse.jdt.core.search.IJavaSearchConstants; import org.eclipse.jdt.core.search.IJavaSearchScope; import org.eclipse.jdt.core.search.SearchEngine; @@ -124,6 +125,7 @@ import org.eclipse.jdt.core.search.TypeNameRequestor; import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants; import org.eclipse.jdt.internal.compiler.impl.CompilerOptions; +import org.eclipse.jdt.internal.compiler.problem.ProblemReporter; import org.eclipse.jdt.internal.compiler.util.SuffixConstants; import org.eclipse.jdt.internal.core.*; import org.eclipse.jdt.internal.core.builder.JavaBuilder; @@ -2852,6 +2854,22 @@ } /** + * Returns the option that can be used to tune the severity of the compiler + * problem identified by problemID if any, null otherwise. Non-null return + * values are taken from the constants defined by this class which names + * start with COMPILER_PB and for which the possible values of the option + * are defined by { "error", "warning", "ignore" }. A null + * return value means that the problemID is unknown or that it matches a + * problem which severity cannot be tuned. + * @param problemID one of the problem IDs defined by {@link IProblem} + * @return the option that can be used to tune the severity of the compiler + * problem identified by problemID if any, null otherwise + */ + public static String getCompilerProblemSeverityTuningOption(int problemID) { + return CompilerOptions.optionKeyFromIrritant(ProblemReporter.getIrritant(problemID)); + } + + /** * Returns a table of all known configurable options with their default values. * These options allow to configure the behaviour of the underlying components. * The client may safely use the result as a template that they can modify and #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/regression/CompilerInvocationTests.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/CompilerInvocationTests.java,v retrieving revision 1.13 diff -u -r1.13 CompilerInvocationTests.java --- src/org/eclipse/jdt/core/tests/compiler/regression/CompilerInvocationTests.java 22 Feb 2008 09:54:21 -0000 1.13 +++ src/org/eclipse/jdt/core/tests/compiler/regression/CompilerInvocationTests.java 11 Mar 2008 15:39:41 -0000 @@ -902,4 +902,1132 @@ } return (String) categoryNames.get(new Integer(category)); } +// compiler problems tuning +// https://bugs.eclipse.org/bugs/show_bug.cgi?id=218603 +public void test012_compiler_problems_tuning() { + try { + class ProblemAttributes { + boolean skip; + String option; + ProblemAttributes(String option) { + this.option = option; + } + ProblemAttributes(boolean skip) { + this.skip = skip; + } + } + ProblemAttributes SKIP = new ProblemAttributes(true); + Map expectedProblemAttributes = new HashMap(); + expectedProblemAttributes.put("ObjectHasNoSuperclass", SKIP); + expectedProblemAttributes.put("UndefinedType", SKIP); + expectedProblemAttributes.put("NotVisibleType", SKIP); + expectedProblemAttributes.put("AmbiguousType", SKIP); + expectedProblemAttributes.put("UsingDeprecatedType", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("InternalTypeNameProvided", SKIP); + expectedProblemAttributes.put("UnusedPrivateType", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("IncompatibleTypesInEqualityOperator", SKIP); + expectedProblemAttributes.put("IncompatibleTypesInConditionalOperator", SKIP); + expectedProblemAttributes.put("TypeMismatch", SKIP); + expectedProblemAttributes.put("IndirectAccessToStaticType", new ProblemAttributes(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS)); + expectedProblemAttributes.put("MissingEnclosingInstanceForConstructorCall", SKIP); + expectedProblemAttributes.put("MissingEnclosingInstance", SKIP); + expectedProblemAttributes.put("IncorrectEnclosingInstanceReference", SKIP); + expectedProblemAttributes.put("IllegalEnclosingInstanceSpecification", SKIP); + expectedProblemAttributes.put("CannotDefineStaticInitializerInLocalType", SKIP); + expectedProblemAttributes.put("OuterLocalMustBeFinal", SKIP); + expectedProblemAttributes.put("CannotDefineInterfaceInLocalType", SKIP); + expectedProblemAttributes.put("IllegalPrimitiveOrArrayTypeForEnclosingInstance", SKIP); + expectedProblemAttributes.put("EnclosingInstanceInConstructorCall", SKIP); + expectedProblemAttributes.put("AnonymousClassCannotExtendFinalClass", SKIP); + expectedProblemAttributes.put("CannotDefineAnnotationInLocalType", SKIP); + expectedProblemAttributes.put("CannotDefineEnumInLocalType", SKIP); + expectedProblemAttributes.put("NonStaticContextForEnumMemberType", SKIP); + expectedProblemAttributes.put("TypeHidingType", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("UndefinedName", SKIP); + expectedProblemAttributes.put("UninitializedLocalVariable", SKIP); + expectedProblemAttributes.put("VariableTypeCannotBeVoid", SKIP); + expectedProblemAttributes.put("VariableTypeCannotBeVoidArray", SKIP); + expectedProblemAttributes.put("CannotAllocateVoidArray", SKIP); + expectedProblemAttributes.put("RedefinedLocal", SKIP); + expectedProblemAttributes.put("RedefinedArgument", SKIP); + expectedProblemAttributes.put("DuplicateFinalLocalInitialization", SKIP); + expectedProblemAttributes.put("NonBlankFinalLocalAssignment", SKIP); + expectedProblemAttributes.put("ParameterAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_PARAMETER_ASSIGNMENT)); + expectedProblemAttributes.put("FinalOuterLocalAssignment", SKIP); + expectedProblemAttributes.put("LocalVariableIsNeverUsed", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_LOCAL)); + expectedProblemAttributes.put("ArgumentIsNeverUsed", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PARAMETER)); + expectedProblemAttributes.put("BytecodeExceeds64KLimit", SKIP); + expectedProblemAttributes.put("BytecodeExceeds64KLimitForClinit", SKIP); + expectedProblemAttributes.put("TooManyArgumentSlots", SKIP); + expectedProblemAttributes.put("TooManyLocalVariableSlots", SKIP); + expectedProblemAttributes.put("TooManySyntheticArgumentSlots", SKIP); + expectedProblemAttributes.put("TooManyArrayDimensions", SKIP); + expectedProblemAttributes.put("BytecodeExceeds64KLimitForConstructor", SKIP); + expectedProblemAttributes.put("UndefinedField", SKIP); + expectedProblemAttributes.put("NotVisibleField", SKIP); + expectedProblemAttributes.put("AmbiguousField", SKIP); + expectedProblemAttributes.put("UsingDeprecatedField", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("NonStaticFieldFromStaticInvocation", SKIP); + expectedProblemAttributes.put("ReferenceToForwardField", SKIP); + expectedProblemAttributes.put("NonStaticAccessToStaticField", new ProblemAttributes(JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER)); + expectedProblemAttributes.put("UnusedPrivateField", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("IndirectAccessToStaticField", new ProblemAttributes(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS)); + expectedProblemAttributes.put("UnqualifiedFieldAccess", new ProblemAttributes(JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS)); + expectedProblemAttributes.put("FinalFieldAssignment", SKIP); + expectedProblemAttributes.put("UninitializedBlankFinalField", SKIP); + expectedProblemAttributes.put("DuplicateBlankFinalFieldInitialization", SKIP); + expectedProblemAttributes.put("LocalVariableHidingLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("LocalVariableHidingField", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("FieldHidingLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_FIELD_HIDING)); + expectedProblemAttributes.put("FieldHidingField", new ProblemAttributes(JavaCore.COMPILER_PB_FIELD_HIDING)); + expectedProblemAttributes.put("ArgumentHidingLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("ArgumentHidingField", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("MissingSerialVersion", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_SERIAL_VERSION)); + expectedProblemAttributes.put("UndefinedMethod", SKIP); + expectedProblemAttributes.put("NotVisibleMethod", SKIP); + expectedProblemAttributes.put("AmbiguousMethod", SKIP); + expectedProblemAttributes.put("UsingDeprecatedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("DirectInvocationOfAbstractMethod", SKIP); + expectedProblemAttributes.put("VoidMethodReturnsValue", SKIP); + expectedProblemAttributes.put("MethodReturnsVoid", SKIP); + expectedProblemAttributes.put("MethodRequiresBody", SKIP); + expectedProblemAttributes.put("ShouldReturnValue", SKIP); + expectedProblemAttributes.put("MethodButWithConstructorName", new ProblemAttributes(JavaCore.COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME)); + expectedProblemAttributes.put("MissingReturnType", SKIP); + expectedProblemAttributes.put("BodyForNativeMethod", SKIP); + expectedProblemAttributes.put("BodyForAbstractMethod", SKIP); + expectedProblemAttributes.put("NoMessageSendOnBaseType", SKIP); + expectedProblemAttributes.put("ParameterMismatch", SKIP); + expectedProblemAttributes.put("NoMessageSendOnArrayType", SKIP); + expectedProblemAttributes.put("NonStaticAccessToStaticMethod", new ProblemAttributes(JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER)); + expectedProblemAttributes.put("UnusedPrivateMethod", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("IndirectAccessToStaticMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS)); + expectedProblemAttributes.put("MissingTypeInMethod", SKIP); + expectedProblemAttributes.put("MissingTypeInConstructor", SKIP); + expectedProblemAttributes.put("UndefinedConstructor", SKIP); + expectedProblemAttributes.put("NotVisibleConstructor", SKIP); + expectedProblemAttributes.put("AmbiguousConstructor", SKIP); + expectedProblemAttributes.put("UsingDeprecatedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("UnusedPrivateConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("InstanceFieldDuringConstructorInvocation", SKIP); + expectedProblemAttributes.put("InstanceMethodDuringConstructorInvocation", SKIP); + expectedProblemAttributes.put("RecursiveConstructorInvocation", SKIP); + expectedProblemAttributes.put("ThisSuperDuringConstructorInvocation", SKIP); + expectedProblemAttributes.put("InvalidExplicitConstructorCall", SKIP); + expectedProblemAttributes.put("UndefinedConstructorInDefaultConstructor", SKIP); + expectedProblemAttributes.put("NotVisibleConstructorInDefaultConstructor", SKIP); + expectedProblemAttributes.put("AmbiguousConstructorInDefaultConstructor", SKIP); + expectedProblemAttributes.put("UndefinedConstructorInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("NotVisibleConstructorInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("AmbiguousConstructorInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("UnhandledExceptionInDefaultConstructor", SKIP); + expectedProblemAttributes.put("UnhandledExceptionInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("ArrayReferenceRequired", SKIP); + expectedProblemAttributes.put("NoImplicitStringConversionForCharArrayExpression", new ProblemAttributes(JavaCore.COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION)); + expectedProblemAttributes.put("StringConstantIsExceedingUtf8Limit", SKIP); + expectedProblemAttributes.put("NonConstantExpression", SKIP); + expectedProblemAttributes.put("NumericValueOutOfRange", SKIP); + expectedProblemAttributes.put("IllegalCast", SKIP); + expectedProblemAttributes.put("InvalidClassInstantiation", SKIP); + expectedProblemAttributes.put("CannotDefineDimensionExpressionsWithInit", SKIP); + expectedProblemAttributes.put("MustDefineEitherDimensionExpressionsOrInitializer", SKIP); + expectedProblemAttributes.put("InvalidOperator", SKIP); + expectedProblemAttributes.put("CodeCannotBeReached", SKIP); + expectedProblemAttributes.put("CannotReturnInInitializer", SKIP); + expectedProblemAttributes.put("InitializerMustCompleteNormally", SKIP); + expectedProblemAttributes.put("InvalidVoidExpression", SKIP); + expectedProblemAttributes.put("MaskedCatch", new ProblemAttributes(JavaCore.COMPILER_PB_HIDDEN_CATCH_BLOCK)); + expectedProblemAttributes.put("DuplicateDefaultCase", SKIP); + expectedProblemAttributes.put("UnreachableCatch", SKIP); + expectedProblemAttributes.put("UnhandledException", SKIP); + expectedProblemAttributes.put("IncorrectSwitchType", SKIP); + expectedProblemAttributes.put("DuplicateCase", SKIP); + expectedProblemAttributes.put("DuplicateLabel", SKIP); + expectedProblemAttributes.put("InvalidBreak", SKIP); + expectedProblemAttributes.put("InvalidContinue", SKIP); + expectedProblemAttributes.put("UndefinedLabel", SKIP); + expectedProblemAttributes.put("InvalidTypeToSynchronized", SKIP); + expectedProblemAttributes.put("InvalidNullToSynchronized", SKIP); + expectedProblemAttributes.put("CannotThrowNull", SKIP); + expectedProblemAttributes.put("AssignmentHasNoEffect", new ProblemAttributes(JavaCore.COMPILER_PB_NO_EFFECT_ASSIGNMENT)); + expectedProblemAttributes.put("PossibleAccidentalBooleanAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT)); + expectedProblemAttributes.put("SuperfluousSemicolon", new ProblemAttributes(JavaCore.COMPILER_PB_EMPTY_STATEMENT)); + expectedProblemAttributes.put("UnnecessaryCast", new ProblemAttributes(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK)); + expectedProblemAttributes.put("UnnecessaryArgumentCast", SKIP); + expectedProblemAttributes.put("UnnecessaryInstanceof", new ProblemAttributes(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK)); + expectedProblemAttributes.put("FinallyMustCompleteNormally", new ProblemAttributes(JavaCore.COMPILER_PB_FINALLY_BLOCK_NOT_COMPLETING)); + expectedProblemAttributes.put("UnusedMethodDeclaredThrownException", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING)); + expectedProblemAttributes.put("UnusedConstructorDeclaredThrownException", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING)); + expectedProblemAttributes.put("InvalidCatchBlockSequence", SKIP); + expectedProblemAttributes.put("EmptyControlFlowStatement", new ProblemAttributes(JavaCore.COMPILER_PB_EMPTY_STATEMENT)); + expectedProblemAttributes.put("UnnecessaryElse", new ProblemAttributes(JavaCore.COMPILER_PB_UNNECESSARY_ELSE)); + expectedProblemAttributes.put("NeedToEmulateFieldReadAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("NeedToEmulateFieldWriteAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("NeedToEmulateMethodAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("NeedToEmulateConstructorAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("FallthroughCase", new ProblemAttributes(JavaCore.COMPILER_PB_FALLTHROUGH_CASE)); + expectedProblemAttributes.put("InheritedMethodHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InheritedFieldHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InheritedTypeHidesEnclosingName", SKIP); + expectedProblemAttributes.put("IllegalUsageOfQualifiedTypeReference", SKIP); + expectedProblemAttributes.put("UnusedLabel", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_LABEL)); + expectedProblemAttributes.put("ThisInStaticContext", SKIP); + expectedProblemAttributes.put("StaticMethodRequested", SKIP); + expectedProblemAttributes.put("IllegalDimension", SKIP); + expectedProblemAttributes.put("InvalidTypeExpression", SKIP); + expectedProblemAttributes.put("ParsingError", SKIP); + expectedProblemAttributes.put("ParsingErrorNoSuggestion", SKIP); + expectedProblemAttributes.put("InvalidUnaryExpression", SKIP); + expectedProblemAttributes.put("InterfaceCannotHaveConstructors", SKIP); + expectedProblemAttributes.put("ArrayConstantsOnlyInArrayInitializers", SKIP); + expectedProblemAttributes.put("ParsingErrorOnKeyword", SKIP); + expectedProblemAttributes.put("ParsingErrorOnKeywordNoSuggestion", SKIP); + expectedProblemAttributes.put("UnmatchedBracket", SKIP); + expectedProblemAttributes.put("NoFieldOnBaseType", SKIP); + expectedProblemAttributes.put("InvalidExpressionAsStatement", SKIP); + expectedProblemAttributes.put("ExpressionShouldBeAVariable", SKIP); + expectedProblemAttributes.put("MissingSemiColon", SKIP); + expectedProblemAttributes.put("InvalidParenthesizedExpression", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertTokenBefore", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertTokenAfter", SKIP); + expectedProblemAttributes.put("ParsingErrorDeleteToken", SKIP); + expectedProblemAttributes.put("ParsingErrorDeleteTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorMergeTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorInvalidToken", SKIP); + expectedProblemAttributes.put("ParsingErrorMisplacedConstruct", SKIP); + expectedProblemAttributes.put("ParsingErrorReplaceTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorNoSuggestionForTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorUnexpectedEOF", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertToComplete", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertToCompleteScope", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertToCompletePhrase", SKIP); + expectedProblemAttributes.put("EndOfSource", SKIP); + expectedProblemAttributes.put("InvalidHexa", SKIP); + expectedProblemAttributes.put("InvalidOctal", SKIP); + expectedProblemAttributes.put("InvalidCharacterConstant", SKIP); + expectedProblemAttributes.put("InvalidEscape", SKIP); + expectedProblemAttributes.put("InvalidInput", SKIP); + expectedProblemAttributes.put("InvalidUnicodeEscape", SKIP); + expectedProblemAttributes.put("InvalidFloat", SKIP); + expectedProblemAttributes.put("NullSourceString", SKIP); + expectedProblemAttributes.put("UnterminatedString", SKIP); + expectedProblemAttributes.put("UnterminatedComment", SKIP); + expectedProblemAttributes.put("NonExternalizedStringLiteral", new ProblemAttributes(JavaCore.COMPILER_PB_NON_NLS_STRING_LITERAL)); + expectedProblemAttributes.put("InvalidDigit", SKIP); + expectedProblemAttributes.put("InvalidLowSurrogate", SKIP); + expectedProblemAttributes.put("InvalidHighSurrogate", SKIP); + expectedProblemAttributes.put("UnnecessaryNLSTag", new ProblemAttributes(JavaCore.COMPILER_PB_NON_NLS_STRING_LITERAL)); + expectedProblemAttributes.put("DiscouragedReference", new ProblemAttributes(JavaCore.COMPILER_PB_DISCOURAGED_REFERENCE)); + expectedProblemAttributes.put("InterfaceCannotHaveInitializers", SKIP); + expectedProblemAttributes.put("DuplicateModifierForType", SKIP); + expectedProblemAttributes.put("IllegalModifierForClass", SKIP); + expectedProblemAttributes.put("IllegalModifierForInterface", SKIP); + expectedProblemAttributes.put("IllegalModifierForMemberClass", SKIP); + expectedProblemAttributes.put("IllegalModifierForMemberInterface", SKIP); + expectedProblemAttributes.put("IllegalModifierForLocalClass", SKIP); + expectedProblemAttributes.put("ForbiddenReference", new ProblemAttributes(JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE)); + expectedProblemAttributes.put("IllegalModifierCombinationFinalAbstractForClass", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierForInterfaceMemberType", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierCombinationForMemberType", SKIP); + expectedProblemAttributes.put("IllegalStaticModifierForMemberType", SKIP); + expectedProblemAttributes.put("SuperclassMustBeAClass", SKIP); + expectedProblemAttributes.put("ClassExtendFinalClass", SKIP); + expectedProblemAttributes.put("DuplicateSuperInterface", SKIP); + expectedProblemAttributes.put("SuperInterfaceMustBeAnInterface", SKIP); + expectedProblemAttributes.put("HierarchyCircularitySelfReference", SKIP); + expectedProblemAttributes.put("HierarchyCircularity", SKIP); + expectedProblemAttributes.put("HidingEnclosingType", SKIP); + expectedProblemAttributes.put("DuplicateNestedType", SKIP); + expectedProblemAttributes.put("CannotThrowType", SKIP); + expectedProblemAttributes.put("PackageCollidesWithType", SKIP); + expectedProblemAttributes.put("TypeCollidesWithPackage", SKIP); + expectedProblemAttributes.put("DuplicateTypes", SKIP); + expectedProblemAttributes.put("IsClassPathCorrect", SKIP); + expectedProblemAttributes.put("PublicClassMustMatchFileName", SKIP); + expectedProblemAttributes.put("MustSpecifyPackage", SKIP); + expectedProblemAttributes.put("HierarchyHasProblems", SKIP); + expectedProblemAttributes.put("PackageIsNotExpectedPackage", SKIP); + expectedProblemAttributes.put("ObjectCannotHaveSuperTypes", SKIP); + expectedProblemAttributes.put("ObjectMustBeClass", SKIP); + expectedProblemAttributes.put("RedundantSuperinterface", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_SUPERINTERFACE)); + expectedProblemAttributes.put("SuperclassNotFound", SKIP); + expectedProblemAttributes.put("SuperclassNotVisible", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_SUPERINTERFACE)); + expectedProblemAttributes.put("SuperclassAmbiguous", SKIP); + expectedProblemAttributes.put("SuperclassInternalNameProvided", SKIP); + expectedProblemAttributes.put("SuperclassInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InterfaceNotFound", SKIP); + expectedProblemAttributes.put("InterfaceNotVisible", SKIP); + expectedProblemAttributes.put("InterfaceAmbiguous", SKIP); + expectedProblemAttributes.put("InterfaceInternalNameProvided", SKIP); + expectedProblemAttributes.put("InterfaceInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("DuplicateField", SKIP); + expectedProblemAttributes.put("DuplicateModifierForField", SKIP); + expectedProblemAttributes.put("IllegalModifierForField", SKIP); + expectedProblemAttributes.put("IllegalModifierForInterfaceField", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierCombinationForField", SKIP); + expectedProblemAttributes.put("IllegalModifierCombinationFinalVolatileForField", SKIP); + expectedProblemAttributes.put("UnexpectedStaticModifierForField", SKIP); + expectedProblemAttributes.put("FieldTypeNotFound", SKIP); + expectedProblemAttributes.put("FieldTypeNotVisible", SKIP); + expectedProblemAttributes.put("FieldTypeAmbiguous", SKIP); + expectedProblemAttributes.put("FieldTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("FieldTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("DuplicateMethod", SKIP); + expectedProblemAttributes.put("IllegalModifierForArgument", SKIP); + expectedProblemAttributes.put("DuplicateModifierForMethod", SKIP); + expectedProblemAttributes.put("IllegalModifierForMethod", SKIP); + expectedProblemAttributes.put("IllegalModifierForInterfaceMethod", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierCombinationForMethod", SKIP); + expectedProblemAttributes.put("UnexpectedStaticModifierForMethod", SKIP); + expectedProblemAttributes.put("IllegalAbstractModifierCombinationForMethod", SKIP); + expectedProblemAttributes.put("AbstractMethodInAbstractClass", SKIP); + expectedProblemAttributes.put("ArgumentTypeCannotBeVoid", SKIP); + expectedProblemAttributes.put("ArgumentTypeCannotBeVoidArray", SKIP); + expectedProblemAttributes.put("ReturnTypeCannotBeVoidArray", SKIP); + expectedProblemAttributes.put("NativeMethodsCannotBeStrictfp", SKIP); + expectedProblemAttributes.put("DuplicateModifierForArgument", SKIP); + expectedProblemAttributes.put("ArgumentTypeNotFound", SKIP); + expectedProblemAttributes.put("ArgumentTypeNotVisible", SKIP); + expectedProblemAttributes.put("ArgumentTypeAmbiguous", SKIP); + expectedProblemAttributes.put("ArgumentTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("ArgumentTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("ExceptionTypeNotFound", SKIP); + expectedProblemAttributes.put("ExceptionTypeNotVisible", SKIP); + expectedProblemAttributes.put("ExceptionTypeAmbiguous", SKIP); + expectedProblemAttributes.put("ExceptionTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("ExceptionTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("ReturnTypeNotFound", SKIP); + expectedProblemAttributes.put("ReturnTypeNotVisible", SKIP); + expectedProblemAttributes.put("ReturnTypeAmbiguous", SKIP); + expectedProblemAttributes.put("ReturnTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("ReturnTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("ConflictingImport", SKIP); + expectedProblemAttributes.put("DuplicateImport", SKIP); + expectedProblemAttributes.put("CannotImportPackage", SKIP); + expectedProblemAttributes.put("UnusedImport", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_IMPORT)); + expectedProblemAttributes.put("ImportNotFound", SKIP); + expectedProblemAttributes.put("ImportNotVisible", SKIP); + expectedProblemAttributes.put("ImportAmbiguous", SKIP); + expectedProblemAttributes.put("ImportInternalNameProvided", SKIP); + expectedProblemAttributes.put("ImportInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InvalidTypeForStaticImport", SKIP); + expectedProblemAttributes.put("DuplicateModifierForVariable", SKIP); + expectedProblemAttributes.put("IllegalModifierForVariable", SKIP); + expectedProblemAttributes.put("LocalVariableCannotBeNull", SKIP); + expectedProblemAttributes.put("LocalVariableCanOnlyBeNull", SKIP); + expectedProblemAttributes.put("LocalVariableMayBeNull", SKIP); + expectedProblemAttributes.put("AbstractMethodMustBeImplemented", SKIP); + expectedProblemAttributes.put("FinalMethodCannotBeOverridden", SKIP); + expectedProblemAttributes.put("IncompatibleExceptionInThrowsClause", SKIP); + expectedProblemAttributes.put("IncompatibleExceptionInInheritedMethodThrowsClause", SKIP); + expectedProblemAttributes.put("IncompatibleReturnType", SKIP); + expectedProblemAttributes.put("InheritedMethodReducesVisibility", SKIP); + expectedProblemAttributes.put("CannotOverrideAStaticMethodWithAnInstanceMethod", SKIP); + expectedProblemAttributes.put("CannotHideAnInstanceMethodWithAStaticMethod", SKIP); + expectedProblemAttributes.put("StaticInheritedMethodConflicts", SKIP); + expectedProblemAttributes.put("MethodReducesVisibility", SKIP); + expectedProblemAttributes.put("OverridingNonVisibleMethod", new ProblemAttributes(JavaCore.COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD)); + expectedProblemAttributes.put("AbstractMethodCannotBeOverridden", SKIP); + expectedProblemAttributes.put("OverridingDeprecatedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("IncompatibleReturnTypeForNonInheritedInterfaceMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)); + expectedProblemAttributes.put("IncompatibleExceptionInThrowsClauseForNonInheritedInterfaceMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)); + expectedProblemAttributes.put("IllegalVararg", SKIP); + expectedProblemAttributes.put("OverridingMethodWithoutSuperInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_OVERRIDING_METHOD_WITHOUT_SUPER_INVOCATION)); + expectedProblemAttributes.put("CodeSnippetMissingClass", SKIP); + expectedProblemAttributes.put("CodeSnippetMissingMethod", SKIP); + expectedProblemAttributes.put("CannotUseSuperInCodeSnippet", SKIP); + expectedProblemAttributes.put("TooManyConstantsInConstantPool", SKIP); + expectedProblemAttributes.put("TooManyBytesForStringConstant", SKIP); + expectedProblemAttributes.put("TooManyFields", SKIP); + expectedProblemAttributes.put("TooManyMethods", SKIP); + expectedProblemAttributes.put("UseAssertAsAnIdentifier", new ProblemAttributes(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER)); + expectedProblemAttributes.put("UseEnumAsAnIdentifier", new ProblemAttributes(JavaCore.COMPILER_PB_ENUM_IDENTIFIER)); + expectedProblemAttributes.put("EnumConstantsCannotBeSurroundedByParenthesis", SKIP); + expectedProblemAttributes.put("Task", SKIP); + expectedProblemAttributes.put("NullLocalVariableReference", new ProblemAttributes(JavaCore.COMPILER_PB_NULL_REFERENCE)); + expectedProblemAttributes.put("PotentialNullLocalVariableReference", new ProblemAttributes(JavaCore.COMPILER_PB_POTENTIAL_NULL_REFERENCE)); + expectedProblemAttributes.put("RedundantNullCheckOnNullLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("NullLocalVariableComparisonYieldsFalse", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("RedundantLocalVariableNullAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("NullLocalVariableInstanceofYieldsFalse", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("RedundantNullCheckOnNonNullLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("NonNullLocalVariableComparisonYieldsFalse", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("UndocumentedEmptyBlock", new ProblemAttributes(JavaCore.COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK)); + expectedProblemAttributes.put("JavadocInvalidSeeUrlReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingTagDescription", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocDuplicateTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocHiddenReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidMemberTypeQualification", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingIdentifier", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNonStaticTypeFromStaticInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidParamTagTypeParameter", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUnexpectedTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingParamTag", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS)); + expectedProblemAttributes.put("JavadocMissingParamName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocDuplicateParamName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidParamName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingReturnTag", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS)); + expectedProblemAttributes.put("JavadocDuplicateReturnTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingThrowsTag", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS)); + expectedProblemAttributes.put("JavadocMissingThrowsClassName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidThrowsClass", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocDuplicateThrowsClassName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidThrowsClassName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingSeeReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidSeeReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidSeeHref", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidSeeArgs", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissing", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS)); + expectedProblemAttributes.put("JavadocInvalidTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNoMessageSendOnBaseType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocParameterMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNoMessageSendOnArrayType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInternalTypeNameProvided", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInheritedMethodHidesEnclosingName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInheritedFieldHidesEnclosingName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInheritedNameHidesEnclosingTypeName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousMethodReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUnterminatedInlineTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMalformedSeeReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMessagePrefix", SKIP); + expectedProblemAttributes.put("JavadocMissingHashCharacter", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocEmptyReturnTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidValueReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUnexpectedText", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidParamTagName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("DuplicateTypeVariable", SKIP); + expectedProblemAttributes.put("IllegalTypeVariableSuperReference", SKIP); + expectedProblemAttributes.put("NonStaticTypeFromStaticInvocation", SKIP); + expectedProblemAttributes.put("ObjectCannotBeGeneric", SKIP); + expectedProblemAttributes.put("NonGenericType", SKIP); + expectedProblemAttributes.put("IncorrectArityForParameterizedType", SKIP); + expectedProblemAttributes.put("TypeArgumentMismatch", SKIP); + expectedProblemAttributes.put("DuplicateMethodErasure", SKIP); + expectedProblemAttributes.put("ReferenceToForwardTypeVariable", SKIP); + expectedProblemAttributes.put("BoundMustBeAnInterface", SKIP); + expectedProblemAttributes.put("UnsafeRawConstructorInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("UnsafeRawMethodInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("UnsafeTypeConversion", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("InvalidTypeVariableExceptionType", SKIP); + expectedProblemAttributes.put("InvalidParameterizedExceptionType", SKIP); + expectedProblemAttributes.put("IllegalGenericArray", SKIP); + expectedProblemAttributes.put("UnsafeRawFieldAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("FinalBoundForTypeVariable", SKIP); + expectedProblemAttributes.put("UndefinedTypeVariable", SKIP); + expectedProblemAttributes.put("SuperInterfacesCollide", SKIP); + expectedProblemAttributes.put("WildcardConstructorInvocation", SKIP); + expectedProblemAttributes.put("WildcardMethodInvocation", SKIP); + expectedProblemAttributes.put("WildcardFieldAssignment", SKIP); + expectedProblemAttributes.put("GenericMethodTypeArgumentMismatch", SKIP); + expectedProblemAttributes.put("GenericConstructorTypeArgumentMismatch", SKIP); + expectedProblemAttributes.put("UnsafeGenericCast", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("IllegalInstanceofParameterizedType", SKIP); + expectedProblemAttributes.put("IllegalInstanceofTypeParameter", SKIP); + expectedProblemAttributes.put("NonGenericMethod", SKIP); + expectedProblemAttributes.put("IncorrectArityForParameterizedMethod", SKIP); + expectedProblemAttributes.put("ParameterizedMethodArgumentTypeMismatch", SKIP); + expectedProblemAttributes.put("NonGenericConstructor", SKIP); + expectedProblemAttributes.put("IncorrectArityForParameterizedConstructor", SKIP); + expectedProblemAttributes.put("ParameterizedConstructorArgumentTypeMismatch", SKIP); + expectedProblemAttributes.put("TypeArgumentsForRawGenericMethod", SKIP); + expectedProblemAttributes.put("TypeArgumentsForRawGenericConstructor", SKIP); + expectedProblemAttributes.put("SuperTypeUsingWildcard", SKIP); + expectedProblemAttributes.put("GenericTypeCannotExtendThrowable", SKIP); + expectedProblemAttributes.put("IllegalClassLiteralForTypeVariable", SKIP); + expectedProblemAttributes.put("UnsafeReturnTypeOverride", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("MethodNameClash", SKIP); + expectedProblemAttributes.put("RawMemberTypeCannotBeParameterized", SKIP); + expectedProblemAttributes.put("MissingArgumentsForParameterizedMemberType", SKIP); + expectedProblemAttributes.put("StaticMemberOfParameterizedType", SKIP); + expectedProblemAttributes.put("BoundHasConflictingArguments", SKIP); + expectedProblemAttributes.put("DuplicateParameterizedMethods", SKIP); + expectedProblemAttributes.put("IllegalQualifiedParameterizedTypeAllocation", SKIP); + expectedProblemAttributes.put("DuplicateBounds", SKIP); + expectedProblemAttributes.put("BoundCannotBeArray", SKIP); + expectedProblemAttributes.put("UnsafeRawGenericConstructorInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("UnsafeRawGenericMethodInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("TypeParameterHidingType", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("RawTypeReference", new ProblemAttributes(JavaCore.COMPILER_PB_RAW_TYPE_REFERENCE)); + expectedProblemAttributes.put("NoAdditionalBoundAfterTypeVariable", SKIP); + expectedProblemAttributes.put("UnsafeGenericArrayForVarargs", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("IllegalAccessFromTypeVariable", SKIP); + expectedProblemAttributes.put("TypeHidingTypeParameterFromType", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("TypeHidingTypeParameterFromMethod", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("InvalidUsageOfWildcard", SKIP); + expectedProblemAttributes.put("UnusedTypeArgumentsForMethodInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_TYPE_ARGUMENTS_FOR_METHOD_INVOCATION)); + expectedProblemAttributes.put("IncompatibleTypesInForeach", SKIP); + expectedProblemAttributes.put("InvalidTypeForCollection", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeParameters", SKIP); + expectedProblemAttributes.put("InvalidUsageOfStaticImports", SKIP); + expectedProblemAttributes.put("InvalidUsageOfForeachStatements", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeArguments", SKIP); + expectedProblemAttributes.put("InvalidUsageOfEnumDeclarations", SKIP); + expectedProblemAttributes.put("InvalidUsageOfVarargs", SKIP); + expectedProblemAttributes.put("InvalidUsageOfAnnotations", SKIP); + expectedProblemAttributes.put("InvalidUsageOfAnnotationDeclarations", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeParametersForAnnotationDeclaration", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeParametersForEnumDeclaration", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationMethod", SKIP); + expectedProblemAttributes.put("IllegalExtendedDimensions", SKIP); + expectedProblemAttributes.put("InvalidFileNameForPackageAnnotations", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationType", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationMemberType", SKIP); + expectedProblemAttributes.put("InvalidAnnotationMemberType", SKIP); + expectedProblemAttributes.put("AnnotationCircularitySelfReference", SKIP); + expectedProblemAttributes.put("AnnotationCircularity", SKIP); + expectedProblemAttributes.put("DuplicateAnnotation", SKIP); + expectedProblemAttributes.put("MissingValueForAnnotationMember", SKIP); + expectedProblemAttributes.put("DuplicateAnnotationMember", SKIP); + expectedProblemAttributes.put("UndefinedAnnotationMember", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeClassLiteral", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeConstant", SKIP); + expectedProblemAttributes.put("AnnotationFieldNeedConstantInitialization", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationField", SKIP); + expectedProblemAttributes.put("AnnotationCannotOverrideMethod", SKIP); + expectedProblemAttributes.put("AnnotationMembersCannotHaveParameters", SKIP); + expectedProblemAttributes.put("AnnotationMembersCannotHaveTypeParameters", SKIP); + expectedProblemAttributes.put("AnnotationTypeDeclarationCannotHaveSuperclass", SKIP); + expectedProblemAttributes.put("AnnotationTypeDeclarationCannotHaveSuperinterfaces", SKIP); + expectedProblemAttributes.put("DuplicateTargetInTargetAnnotation", SKIP); + expectedProblemAttributes.put("DisallowedTargetForAnnotation", SKIP); + expectedProblemAttributes.put("MethodMustOverride", SKIP); + expectedProblemAttributes.put("AnnotationTypeDeclarationCannotHaveConstructor", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeAnnotation", SKIP); + expectedProblemAttributes.put("AnnotationTypeUsedAsSuperInterface", new ProblemAttributes(JavaCore.COMPILER_PB_ANNOTATION_SUPER_INTERFACE)); + expectedProblemAttributes.put("MissingOverrideAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_OVERRIDE_ANNOTATION)); + expectedProblemAttributes.put("FieldMissingDeprecatedAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_DEPRECATED_ANNOTATION)); + expectedProblemAttributes.put("MethodMissingDeprecatedAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_DEPRECATED_ANNOTATION)); + expectedProblemAttributes.put("TypeMissingDeprecatedAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_DEPRECATED_ANNOTATION)); + expectedProblemAttributes.put("UnhandledWarningToken", new ProblemAttributes(JavaCore.COMPILER_PB_UNHANDLED_WARNING_TOKEN)); + expectedProblemAttributes.put("AnnotationValueMustBeArrayInitializer", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeAnEnumConstant", SKIP); + expectedProblemAttributes.put("MethodMustOverrideOrImplement", SKIP); + expectedProblemAttributes.put("UnusedWarningToken", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_WARNING_TOKEN)); + expectedProblemAttributes.put("UnusedTypeArgumentsForConstructorInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_TYPE_ARGUMENTS_FOR_METHOD_INVOCATION)); + expectedProblemAttributes.put("CorruptedSignature", SKIP); + expectedProblemAttributes.put("InvalidEncoding", SKIP); + expectedProblemAttributes.put("CannotReadSource", SKIP); + expectedProblemAttributes.put("BoxingConversion", new ProblemAttributes(JavaCore.COMPILER_PB_AUTOBOXING)); + expectedProblemAttributes.put("UnboxingConversion", new ProblemAttributes(JavaCore.COMPILER_PB_AUTOBOXING)); + expectedProblemAttributes.put("IllegalModifierForEnum", SKIP); + expectedProblemAttributes.put("IllegalModifierForEnumConstant", SKIP); + expectedProblemAttributes.put("IllegalModifierForLocalEnum", SKIP); + expectedProblemAttributes.put("IllegalModifierForMemberEnum", SKIP); + expectedProblemAttributes.put("CannotDeclareEnumSpecialMethod", SKIP); + expectedProblemAttributes.put("IllegalQualifiedEnumConstantLabel", SKIP); + expectedProblemAttributes.put("CannotExtendEnum", SKIP); + expectedProblemAttributes.put("CannotInvokeSuperConstructorInEnum", SKIP); + expectedProblemAttributes.put("EnumAbstractMethodMustBeImplemented", SKIP); + expectedProblemAttributes.put("EnumSwitchCannotTargetField", SKIP); + expectedProblemAttributes.put("IllegalModifierForEnumConstructor", SKIP); + expectedProblemAttributes.put("MissingEnumConstantCase", new ProblemAttributes(JavaCore.COMPILER_PB_INCOMPLETE_ENUM_SWITCH)); + expectedProblemAttributes.put("EnumStaticFieldInInInitializerContext", SKIP); + expectedProblemAttributes.put("EnumConstantMustImplementAbstractMethod", SKIP); + expectedProblemAttributes.put("IllegalExtendedDimensionsForVarArgs", SKIP); + expectedProblemAttributes.put("MethodVarargsArgumentNeedCast", new ProblemAttributes(JavaCore.COMPILER_PB_VARARGS_ARGUMENT_NEED_CAST)); + expectedProblemAttributes.put("ConstructorVarargsArgumentNeedCast", new ProblemAttributes(JavaCore.COMPILER_PB_VARARGS_ARGUMENT_NEED_CAST)); + expectedProblemAttributes.put("VarargsConflict", SKIP); + expectedProblemAttributes.put("JavadocGenericMethodTypeArgumentMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNonGenericMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocIncorrectArityForParameterizedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocParameterizedMethodArgumentTypeMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocTypeArgumentsForRawGenericMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocGenericConstructorTypeArgumentMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNonGenericConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocIncorrectArityForParameterizedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocParameterizedConstructorArgumentTypeMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocTypeArgumentsForRawGenericConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("ExternalProblemNotFixable", SKIP); + expectedProblemAttributes.put("ExternalProblemFixable", SKIP); + expectedProblemAttributes.put("ObjectHasNoSuperclass", SKIP); + expectedProblemAttributes.put("UndefinedType", SKIP); + expectedProblemAttributes.put("NotVisibleType", SKIP); + expectedProblemAttributes.put("AmbiguousType", SKIP); + expectedProblemAttributes.put("UsingDeprecatedType", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("InternalTypeNameProvided", SKIP); + expectedProblemAttributes.put("UnusedPrivateType", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("IncompatibleTypesInEqualityOperator", SKIP); + expectedProblemAttributes.put("IncompatibleTypesInConditionalOperator", SKIP); + expectedProblemAttributes.put("TypeMismatch", SKIP); + expectedProblemAttributes.put("IndirectAccessToStaticType", new ProblemAttributes(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS)); + expectedProblemAttributes.put("MissingEnclosingInstanceForConstructorCall", SKIP); + expectedProblemAttributes.put("MissingEnclosingInstance", SKIP); + expectedProblemAttributes.put("IncorrectEnclosingInstanceReference", SKIP); + expectedProblemAttributes.put("IllegalEnclosingInstanceSpecification", SKIP); + expectedProblemAttributes.put("CannotDefineStaticInitializerInLocalType", SKIP); + expectedProblemAttributes.put("OuterLocalMustBeFinal", SKIP); + expectedProblemAttributes.put("CannotDefineInterfaceInLocalType", SKIP); + expectedProblemAttributes.put("IllegalPrimitiveOrArrayTypeForEnclosingInstance", SKIP); + expectedProblemAttributes.put("EnclosingInstanceInConstructorCall", SKIP); + expectedProblemAttributes.put("AnonymousClassCannotExtendFinalClass", SKIP); + expectedProblemAttributes.put("CannotDefineAnnotationInLocalType", SKIP); + expectedProblemAttributes.put("CannotDefineEnumInLocalType", SKIP); + expectedProblemAttributes.put("NonStaticContextForEnumMemberType", SKIP); + expectedProblemAttributes.put("TypeHidingType", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("UndefinedName", SKIP); + expectedProblemAttributes.put("UninitializedLocalVariable", SKIP); + expectedProblemAttributes.put("VariableTypeCannotBeVoid", SKIP); + expectedProblemAttributes.put("VariableTypeCannotBeVoidArray", SKIP); + expectedProblemAttributes.put("CannotAllocateVoidArray", SKIP); + expectedProblemAttributes.put("RedefinedLocal", SKIP); + expectedProblemAttributes.put("RedefinedArgument", SKIP); + expectedProblemAttributes.put("DuplicateFinalLocalInitialization", SKIP); + expectedProblemAttributes.put("NonBlankFinalLocalAssignment", SKIP); + expectedProblemAttributes.put("ParameterAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_PARAMETER_ASSIGNMENT)); + expectedProblemAttributes.put("FinalOuterLocalAssignment", SKIP); + expectedProblemAttributes.put("LocalVariableIsNeverUsed", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_LOCAL)); + expectedProblemAttributes.put("ArgumentIsNeverUsed", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PARAMETER)); + expectedProblemAttributes.put("BytecodeExceeds64KLimit", SKIP); + expectedProblemAttributes.put("BytecodeExceeds64KLimitForClinit", SKIP); + expectedProblemAttributes.put("TooManyArgumentSlots", SKIP); + expectedProblemAttributes.put("TooManyLocalVariableSlots", SKIP); + expectedProblemAttributes.put("TooManySyntheticArgumentSlots", SKIP); + expectedProblemAttributes.put("TooManyArrayDimensions", SKIP); + expectedProblemAttributes.put("BytecodeExceeds64KLimitForConstructor", SKIP); + expectedProblemAttributes.put("UndefinedField", SKIP); + expectedProblemAttributes.put("NotVisibleField", SKIP); + expectedProblemAttributes.put("AmbiguousField", SKIP); + expectedProblemAttributes.put("UsingDeprecatedField", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("NonStaticFieldFromStaticInvocation", SKIP); + expectedProblemAttributes.put("ReferenceToForwardField", SKIP); + expectedProblemAttributes.put("NonStaticAccessToStaticField", new ProblemAttributes(JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER)); + expectedProblemAttributes.put("UnusedPrivateField", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("IndirectAccessToStaticField", new ProblemAttributes(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS)); + expectedProblemAttributes.put("UnqualifiedFieldAccess", new ProblemAttributes(JavaCore.COMPILER_PB_UNQUALIFIED_FIELD_ACCESS)); + expectedProblemAttributes.put("FinalFieldAssignment", SKIP); + expectedProblemAttributes.put("UninitializedBlankFinalField", SKIP); + expectedProblemAttributes.put("DuplicateBlankFinalFieldInitialization", SKIP); + expectedProblemAttributes.put("LocalVariableHidingLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("LocalVariableHidingField", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("FieldHidingLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_FIELD_HIDING)); + expectedProblemAttributes.put("FieldHidingField", new ProblemAttributes(JavaCore.COMPILER_PB_FIELD_HIDING)); + expectedProblemAttributes.put("ArgumentHidingLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("ArgumentHidingField", new ProblemAttributes(JavaCore.COMPILER_PB_LOCAL_VARIABLE_HIDING)); + expectedProblemAttributes.put("MissingSerialVersion", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_SERIAL_VERSION)); + expectedProblemAttributes.put("UndefinedMethod", SKIP); + expectedProblemAttributes.put("NotVisibleMethod", SKIP); + expectedProblemAttributes.put("AmbiguousMethod", SKIP); + expectedProblemAttributes.put("UsingDeprecatedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("DirectInvocationOfAbstractMethod", SKIP); + expectedProblemAttributes.put("VoidMethodReturnsValue", SKIP); + expectedProblemAttributes.put("MethodReturnsVoid", SKIP); + expectedProblemAttributes.put("MethodRequiresBody", SKIP); + expectedProblemAttributes.put("ShouldReturnValue", SKIP); + expectedProblemAttributes.put("MethodButWithConstructorName", new ProblemAttributes(JavaCore.COMPILER_PB_METHOD_WITH_CONSTRUCTOR_NAME)); + expectedProblemAttributes.put("MissingReturnType", SKIP); + expectedProblemAttributes.put("BodyForNativeMethod", SKIP); + expectedProblemAttributes.put("BodyForAbstractMethod", SKIP); + expectedProblemAttributes.put("NoMessageSendOnBaseType", SKIP); + expectedProblemAttributes.put("ParameterMismatch", SKIP); + expectedProblemAttributes.put("NoMessageSendOnArrayType", SKIP); + expectedProblemAttributes.put("NonStaticAccessToStaticMethod", new ProblemAttributes(JavaCore.COMPILER_PB_STATIC_ACCESS_RECEIVER)); + expectedProblemAttributes.put("UnusedPrivateMethod", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("IndirectAccessToStaticMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INDIRECT_STATIC_ACCESS)); + expectedProblemAttributes.put("MissingTypeInMethod", SKIP); + expectedProblemAttributes.put("MissingTypeInConstructor", SKIP); + expectedProblemAttributes.put("UndefinedConstructor", SKIP); + expectedProblemAttributes.put("NotVisibleConstructor", SKIP); + expectedProblemAttributes.put("AmbiguousConstructor", SKIP); + expectedProblemAttributes.put("UsingDeprecatedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("UnusedPrivateConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_PRIVATE_MEMBER)); + expectedProblemAttributes.put("InstanceFieldDuringConstructorInvocation", SKIP); + expectedProblemAttributes.put("InstanceMethodDuringConstructorInvocation", SKIP); + expectedProblemAttributes.put("RecursiveConstructorInvocation", SKIP); + expectedProblemAttributes.put("ThisSuperDuringConstructorInvocation", SKIP); + expectedProblemAttributes.put("InvalidExplicitConstructorCall", SKIP); + expectedProblemAttributes.put("UndefinedConstructorInDefaultConstructor", SKIP); + expectedProblemAttributes.put("NotVisibleConstructorInDefaultConstructor", SKIP); + expectedProblemAttributes.put("AmbiguousConstructorInDefaultConstructor", SKIP); + expectedProblemAttributes.put("UndefinedConstructorInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("NotVisibleConstructorInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("AmbiguousConstructorInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("UnhandledExceptionInDefaultConstructor", SKIP); + expectedProblemAttributes.put("UnhandledExceptionInImplicitConstructorCall", SKIP); + expectedProblemAttributes.put("ArrayReferenceRequired", SKIP); + expectedProblemAttributes.put("NoImplicitStringConversionForCharArrayExpression", new ProblemAttributes(JavaCore.COMPILER_PB_CHAR_ARRAY_IN_STRING_CONCATENATION)); + expectedProblemAttributes.put("StringConstantIsExceedingUtf8Limit", SKIP); + expectedProblemAttributes.put("NonConstantExpression", SKIP); + expectedProblemAttributes.put("NumericValueOutOfRange", SKIP); + expectedProblemAttributes.put("IllegalCast", SKIP); + expectedProblemAttributes.put("InvalidClassInstantiation", SKIP); + expectedProblemAttributes.put("CannotDefineDimensionExpressionsWithInit", SKIP); + expectedProblemAttributes.put("MustDefineEitherDimensionExpressionsOrInitializer", SKIP); + expectedProblemAttributes.put("InvalidOperator", SKIP); + expectedProblemAttributes.put("CodeCannotBeReached", SKIP); + expectedProblemAttributes.put("CannotReturnInInitializer", SKIP); + expectedProblemAttributes.put("InitializerMustCompleteNormally", SKIP); + expectedProblemAttributes.put("InvalidVoidExpression", SKIP); + expectedProblemAttributes.put("MaskedCatch", new ProblemAttributes(JavaCore.COMPILER_PB_HIDDEN_CATCH_BLOCK)); + expectedProblemAttributes.put("DuplicateDefaultCase", SKIP); + expectedProblemAttributes.put("UnreachableCatch", SKIP); + expectedProblemAttributes.put("UnhandledException", SKIP); + expectedProblemAttributes.put("IncorrectSwitchType", SKIP); + expectedProblemAttributes.put("DuplicateCase", SKIP); + expectedProblemAttributes.put("DuplicateLabel", SKIP); + expectedProblemAttributes.put("InvalidBreak", SKIP); + expectedProblemAttributes.put("InvalidContinue", SKIP); + expectedProblemAttributes.put("UndefinedLabel", SKIP); + expectedProblemAttributes.put("InvalidTypeToSynchronized", SKIP); + expectedProblemAttributes.put("InvalidNullToSynchronized", SKIP); + expectedProblemAttributes.put("CannotThrowNull", SKIP); + expectedProblemAttributes.put("AssignmentHasNoEffect", new ProblemAttributes(JavaCore.COMPILER_PB_NO_EFFECT_ASSIGNMENT)); + expectedProblemAttributes.put("PossibleAccidentalBooleanAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_POSSIBLE_ACCIDENTAL_BOOLEAN_ASSIGNMENT)); + expectedProblemAttributes.put("SuperfluousSemicolon", new ProblemAttributes(JavaCore.COMPILER_PB_EMPTY_STATEMENT)); + expectedProblemAttributes.put("UnnecessaryCast", new ProblemAttributes(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK)); + expectedProblemAttributes.put("UnnecessaryArgumentCast", SKIP); + expectedProblemAttributes.put("UnnecessaryInstanceof", new ProblemAttributes(JavaCore.COMPILER_PB_UNNECESSARY_TYPE_CHECK)); + expectedProblemAttributes.put("FinallyMustCompleteNormally", new ProblemAttributes(JavaCore.COMPILER_PB_FINALLY_BLOCK_NOT_COMPLETING)); + expectedProblemAttributes.put("UnusedMethodDeclaredThrownException", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING)); + expectedProblemAttributes.put("UnusedConstructorDeclaredThrownException", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_DECLARED_THROWN_EXCEPTION_WHEN_OVERRIDING)); + expectedProblemAttributes.put("InvalidCatchBlockSequence", SKIP); + expectedProblemAttributes.put("EmptyControlFlowStatement", new ProblemAttributes(JavaCore.COMPILER_PB_EMPTY_STATEMENT)); + expectedProblemAttributes.put("UnnecessaryElse", new ProblemAttributes(JavaCore.COMPILER_PB_UNNECESSARY_ELSE)); + expectedProblemAttributes.put("NeedToEmulateFieldReadAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("NeedToEmulateFieldWriteAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("NeedToEmulateMethodAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("NeedToEmulateConstructorAccess", new ProblemAttributes(JavaCore.COMPILER_PB_SYNTHETIC_ACCESS_EMULATION)); + expectedProblemAttributes.put("FallthroughCase", new ProblemAttributes(JavaCore.COMPILER_PB_FALLTHROUGH_CASE)); + expectedProblemAttributes.put("InheritedMethodHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InheritedFieldHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InheritedTypeHidesEnclosingName", SKIP); + expectedProblemAttributes.put("IllegalUsageOfQualifiedTypeReference", SKIP); + expectedProblemAttributes.put("UnusedLabel", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_LABEL)); + expectedProblemAttributes.put("ThisInStaticContext", SKIP); + expectedProblemAttributes.put("StaticMethodRequested", SKIP); + expectedProblemAttributes.put("IllegalDimension", SKIP); + expectedProblemAttributes.put("InvalidTypeExpression", SKIP); + expectedProblemAttributes.put("ParsingError", SKIP); + expectedProblemAttributes.put("ParsingErrorNoSuggestion", SKIP); + expectedProblemAttributes.put("InvalidUnaryExpression", SKIP); + expectedProblemAttributes.put("InterfaceCannotHaveConstructors", SKIP); + expectedProblemAttributes.put("ArrayConstantsOnlyInArrayInitializers", SKIP); + expectedProblemAttributes.put("ParsingErrorOnKeyword", SKIP); + expectedProblemAttributes.put("ParsingErrorOnKeywordNoSuggestion", SKIP); + expectedProblemAttributes.put("UnmatchedBracket", SKIP); + expectedProblemAttributes.put("NoFieldOnBaseType", SKIP); + expectedProblemAttributes.put("InvalidExpressionAsStatement", SKIP); + expectedProblemAttributes.put("ExpressionShouldBeAVariable", SKIP); + expectedProblemAttributes.put("MissingSemiColon", SKIP); + expectedProblemAttributes.put("InvalidParenthesizedExpression", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertTokenBefore", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertTokenAfter", SKIP); + expectedProblemAttributes.put("ParsingErrorDeleteToken", SKIP); + expectedProblemAttributes.put("ParsingErrorDeleteTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorMergeTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorInvalidToken", SKIP); + expectedProblemAttributes.put("ParsingErrorMisplacedConstruct", SKIP); + expectedProblemAttributes.put("ParsingErrorReplaceTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorNoSuggestionForTokens", SKIP); + expectedProblemAttributes.put("ParsingErrorUnexpectedEOF", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertToComplete", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertToCompleteScope", SKIP); + expectedProblemAttributes.put("ParsingErrorInsertToCompletePhrase", SKIP); + expectedProblemAttributes.put("EndOfSource", SKIP); + expectedProblemAttributes.put("InvalidHexa", SKIP); + expectedProblemAttributes.put("InvalidOctal", SKIP); + expectedProblemAttributes.put("InvalidCharacterConstant", SKIP); + expectedProblemAttributes.put("InvalidEscape", SKIP); + expectedProblemAttributes.put("InvalidInput", SKIP); + expectedProblemAttributes.put("InvalidUnicodeEscape", SKIP); + expectedProblemAttributes.put("InvalidFloat", SKIP); + expectedProblemAttributes.put("NullSourceString", SKIP); + expectedProblemAttributes.put("UnterminatedString", SKIP); + expectedProblemAttributes.put("UnterminatedComment", SKIP); + expectedProblemAttributes.put("NonExternalizedStringLiteral", new ProblemAttributes(JavaCore.COMPILER_PB_NON_NLS_STRING_LITERAL)); + expectedProblemAttributes.put("InvalidDigit", SKIP); + expectedProblemAttributes.put("InvalidLowSurrogate", SKIP); + expectedProblemAttributes.put("InvalidHighSurrogate", SKIP); + expectedProblemAttributes.put("UnnecessaryNLSTag", new ProblemAttributes(JavaCore.COMPILER_PB_NON_NLS_STRING_LITERAL)); + expectedProblemAttributes.put("DiscouragedReference", new ProblemAttributes(JavaCore.COMPILER_PB_DISCOURAGED_REFERENCE)); + expectedProblemAttributes.put("InterfaceCannotHaveInitializers", SKIP); + expectedProblemAttributes.put("DuplicateModifierForType", SKIP); + expectedProblemAttributes.put("IllegalModifierForClass", SKIP); + expectedProblemAttributes.put("IllegalModifierForInterface", SKIP); + expectedProblemAttributes.put("IllegalModifierForMemberClass", SKIP); + expectedProblemAttributes.put("IllegalModifierForMemberInterface", SKIP); + expectedProblemAttributes.put("IllegalModifierForLocalClass", SKIP); + expectedProblemAttributes.put("ForbiddenReference", new ProblemAttributes(JavaCore.COMPILER_PB_FORBIDDEN_REFERENCE)); + expectedProblemAttributes.put("IllegalModifierCombinationFinalAbstractForClass", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierForInterfaceMemberType", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierCombinationForMemberType", SKIP); + expectedProblemAttributes.put("IllegalStaticModifierForMemberType", SKIP); + expectedProblemAttributes.put("SuperclassMustBeAClass", SKIP); + expectedProblemAttributes.put("ClassExtendFinalClass", SKIP); + expectedProblemAttributes.put("DuplicateSuperInterface", SKIP); + expectedProblemAttributes.put("SuperInterfaceMustBeAnInterface", SKIP); + expectedProblemAttributes.put("HierarchyCircularitySelfReference", SKIP); + expectedProblemAttributes.put("HierarchyCircularity", SKIP); + expectedProblemAttributes.put("HidingEnclosingType", SKIP); + expectedProblemAttributes.put("DuplicateNestedType", SKIP); + expectedProblemAttributes.put("CannotThrowType", SKIP); + expectedProblemAttributes.put("PackageCollidesWithType", SKIP); + expectedProblemAttributes.put("TypeCollidesWithPackage", SKIP); + expectedProblemAttributes.put("DuplicateTypes", SKIP); + expectedProblemAttributes.put("IsClassPathCorrect", SKIP); + expectedProblemAttributes.put("PublicClassMustMatchFileName", SKIP); + expectedProblemAttributes.put("MustSpecifyPackage", SKIP); + expectedProblemAttributes.put("HierarchyHasProblems", SKIP); + expectedProblemAttributes.put("PackageIsNotExpectedPackage", SKIP); + expectedProblemAttributes.put("ObjectCannotHaveSuperTypes", SKIP); + expectedProblemAttributes.put("ObjectMustBeClass", SKIP); + expectedProblemAttributes.put("RedundantSuperinterface", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_SUPERINTERFACE)); + expectedProblemAttributes.put("SuperclassNotFound", SKIP); + expectedProblemAttributes.put("SuperclassNotVisible", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_SUPERINTERFACE)); + expectedProblemAttributes.put("SuperclassAmbiguous", SKIP); + expectedProblemAttributes.put("SuperclassInternalNameProvided", SKIP); + expectedProblemAttributes.put("SuperclassInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InterfaceNotFound", SKIP); + expectedProblemAttributes.put("InterfaceNotVisible", SKIP); + expectedProblemAttributes.put("InterfaceAmbiguous", SKIP); + expectedProblemAttributes.put("InterfaceInternalNameProvided", SKIP); + expectedProblemAttributes.put("InterfaceInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("DuplicateField", SKIP); + expectedProblemAttributes.put("DuplicateModifierForField", SKIP); + expectedProblemAttributes.put("IllegalModifierForField", SKIP); + expectedProblemAttributes.put("IllegalModifierForInterfaceField", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierCombinationForField", SKIP); + expectedProblemAttributes.put("IllegalModifierCombinationFinalVolatileForField", SKIP); + expectedProblemAttributes.put("UnexpectedStaticModifierForField", SKIP); + expectedProblemAttributes.put("FieldTypeNotFound", SKIP); + expectedProblemAttributes.put("FieldTypeNotVisible", SKIP); + expectedProblemAttributes.put("FieldTypeAmbiguous", SKIP); + expectedProblemAttributes.put("FieldTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("FieldTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("DuplicateMethod", SKIP); + expectedProblemAttributes.put("IllegalModifierForArgument", SKIP); + expectedProblemAttributes.put("DuplicateModifierForMethod", SKIP); + expectedProblemAttributes.put("IllegalModifierForMethod", SKIP); + expectedProblemAttributes.put("IllegalModifierForInterfaceMethod", SKIP); + expectedProblemAttributes.put("IllegalVisibilityModifierCombinationForMethod", SKIP); + expectedProblemAttributes.put("UnexpectedStaticModifierForMethod", SKIP); + expectedProblemAttributes.put("IllegalAbstractModifierCombinationForMethod", SKIP); + expectedProblemAttributes.put("AbstractMethodInAbstractClass", SKIP); + expectedProblemAttributes.put("ArgumentTypeCannotBeVoid", SKIP); + expectedProblemAttributes.put("ArgumentTypeCannotBeVoidArray", SKIP); + expectedProblemAttributes.put("ReturnTypeCannotBeVoidArray", SKIP); + expectedProblemAttributes.put("NativeMethodsCannotBeStrictfp", SKIP); + expectedProblemAttributes.put("DuplicateModifierForArgument", SKIP); + expectedProblemAttributes.put("ArgumentTypeNotFound", SKIP); + expectedProblemAttributes.put("ArgumentTypeNotVisible", SKIP); + expectedProblemAttributes.put("ArgumentTypeAmbiguous", SKIP); + expectedProblemAttributes.put("ArgumentTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("ArgumentTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("ExceptionTypeNotFound", SKIP); + expectedProblemAttributes.put("ExceptionTypeNotVisible", SKIP); + expectedProblemAttributes.put("ExceptionTypeAmbiguous", SKIP); + expectedProblemAttributes.put("ExceptionTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("ExceptionTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("ReturnTypeNotFound", SKIP); + expectedProblemAttributes.put("ReturnTypeNotVisible", SKIP); + expectedProblemAttributes.put("ReturnTypeAmbiguous", SKIP); + expectedProblemAttributes.put("ReturnTypeInternalNameProvided", SKIP); + expectedProblemAttributes.put("ReturnTypeInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("ConflictingImport", SKIP); + expectedProblemAttributes.put("DuplicateImport", SKIP); + expectedProblemAttributes.put("CannotImportPackage", SKIP); + expectedProblemAttributes.put("UnusedImport", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_IMPORT)); + expectedProblemAttributes.put("ImportNotFound", SKIP); + expectedProblemAttributes.put("ImportNotVisible", SKIP); + expectedProblemAttributes.put("ImportAmbiguous", SKIP); + expectedProblemAttributes.put("ImportInternalNameProvided", SKIP); + expectedProblemAttributes.put("ImportInheritedNameHidesEnclosingName", SKIP); + expectedProblemAttributes.put("InvalidTypeForStaticImport", SKIP); + expectedProblemAttributes.put("DuplicateModifierForVariable", SKIP); + expectedProblemAttributes.put("IllegalModifierForVariable", SKIP); + expectedProblemAttributes.put("LocalVariableCannotBeNull", SKIP); + expectedProblemAttributes.put("LocalVariableCanOnlyBeNull", SKIP); + expectedProblemAttributes.put("LocalVariableMayBeNull", SKIP); + expectedProblemAttributes.put("AbstractMethodMustBeImplemented", SKIP); + expectedProblemAttributes.put("FinalMethodCannotBeOverridden", SKIP); + expectedProblemAttributes.put("IncompatibleExceptionInThrowsClause", SKIP); + expectedProblemAttributes.put("IncompatibleExceptionInInheritedMethodThrowsClause", SKIP); + expectedProblemAttributes.put("IncompatibleReturnType", SKIP); + expectedProblemAttributes.put("InheritedMethodReducesVisibility", SKIP); + expectedProblemAttributes.put("CannotOverrideAStaticMethodWithAnInstanceMethod", SKIP); + expectedProblemAttributes.put("CannotHideAnInstanceMethodWithAStaticMethod", SKIP); + expectedProblemAttributes.put("StaticInheritedMethodConflicts", SKIP); + expectedProblemAttributes.put("MethodReducesVisibility", SKIP); + expectedProblemAttributes.put("OverridingNonVisibleMethod", new ProblemAttributes(JavaCore.COMPILER_PB_OVERRIDING_PACKAGE_DEFAULT_METHOD)); + expectedProblemAttributes.put("AbstractMethodCannotBeOverridden", SKIP); + expectedProblemAttributes.put("OverridingDeprecatedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_DEPRECATION)); + expectedProblemAttributes.put("IncompatibleReturnTypeForNonInheritedInterfaceMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)); + expectedProblemAttributes.put("IncompatibleExceptionInThrowsClauseForNonInheritedInterfaceMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INCOMPATIBLE_NON_INHERITED_INTERFACE_METHOD)); + expectedProblemAttributes.put("IllegalVararg", SKIP); + expectedProblemAttributes.put("OverridingMethodWithoutSuperInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_OVERRIDING_METHOD_WITHOUT_SUPER_INVOCATION)); + expectedProblemAttributes.put("CodeSnippetMissingClass", SKIP); + expectedProblemAttributes.put("CodeSnippetMissingMethod", SKIP); + expectedProblemAttributes.put("CannotUseSuperInCodeSnippet", SKIP); + expectedProblemAttributes.put("TooManyConstantsInConstantPool", SKIP); + expectedProblemAttributes.put("TooManyBytesForStringConstant", SKIP); + expectedProblemAttributes.put("TooManyFields", SKIP); + expectedProblemAttributes.put("TooManyMethods", SKIP); + expectedProblemAttributes.put("UseAssertAsAnIdentifier", new ProblemAttributes(JavaCore.COMPILER_PB_ASSERT_IDENTIFIER)); + expectedProblemAttributes.put("UseEnumAsAnIdentifier", new ProblemAttributes(JavaCore.COMPILER_PB_ENUM_IDENTIFIER)); + expectedProblemAttributes.put("EnumConstantsCannotBeSurroundedByParenthesis", SKIP); + expectedProblemAttributes.put("Task", SKIP); + expectedProblemAttributes.put("NullLocalVariableReference", new ProblemAttributes(JavaCore.COMPILER_PB_NULL_REFERENCE)); + expectedProblemAttributes.put("PotentialNullLocalVariableReference", new ProblemAttributes(JavaCore.COMPILER_PB_POTENTIAL_NULL_REFERENCE)); + expectedProblemAttributes.put("RedundantNullCheckOnNullLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("NullLocalVariableComparisonYieldsFalse", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("RedundantLocalVariableNullAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("NullLocalVariableInstanceofYieldsFalse", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("RedundantNullCheckOnNonNullLocalVariable", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("NonNullLocalVariableComparisonYieldsFalse", new ProblemAttributes(JavaCore.COMPILER_PB_REDUNDANT_NULL_CHECK)); + expectedProblemAttributes.put("UndocumentedEmptyBlock", new ProblemAttributes(JavaCore.COMPILER_PB_UNDOCUMENTED_EMPTY_BLOCK)); + expectedProblemAttributes.put("JavadocInvalidSeeUrlReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingTagDescription", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocDuplicateTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocHiddenReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidMemberTypeQualification", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingIdentifier", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNonStaticTypeFromStaticInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidParamTagTypeParameter", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUnexpectedTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingParamTag", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS)); + expectedProblemAttributes.put("JavadocMissingParamName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocDuplicateParamName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidParamName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingReturnTag", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS)); + expectedProblemAttributes.put("JavadocDuplicateReturnTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingThrowsTag", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_TAGS)); + expectedProblemAttributes.put("JavadocMissingThrowsClassName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidThrowsClass", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocDuplicateThrowsClassName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidThrowsClassName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissingSeeReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidSeeReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidSeeHref", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidSeeArgs", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMissing", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_JAVADOC_COMMENTS)); + expectedProblemAttributes.put("JavadocInvalidTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedField", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNoMessageSendOnBaseType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocParameterMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNoMessageSendOnArrayType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUndefinedType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNotVisibleType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUsingDeprecatedType", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInternalTypeNameProvided", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInheritedMethodHidesEnclosingName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInheritedFieldHidesEnclosingName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInheritedNameHidesEnclosingTypeName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocAmbiguousMethodReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUnterminatedInlineTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMalformedSeeReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocMessagePrefix", SKIP); + expectedProblemAttributes.put("JavadocMissingHashCharacter", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocEmptyReturnTag", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidValueReference", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocUnexpectedText", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocInvalidParamTagName", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("DuplicateTypeVariable", SKIP); + expectedProblemAttributes.put("IllegalTypeVariableSuperReference", SKIP); + expectedProblemAttributes.put("NonStaticTypeFromStaticInvocation", SKIP); + expectedProblemAttributes.put("ObjectCannotBeGeneric", SKIP); + expectedProblemAttributes.put("NonGenericType", SKIP); + expectedProblemAttributes.put("IncorrectArityForParameterizedType", SKIP); + expectedProblemAttributes.put("TypeArgumentMismatch", SKIP); + expectedProblemAttributes.put("DuplicateMethodErasure", SKIP); + expectedProblemAttributes.put("ReferenceToForwardTypeVariable", SKIP); + expectedProblemAttributes.put("BoundMustBeAnInterface", SKIP); + expectedProblemAttributes.put("UnsafeRawConstructorInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("UnsafeRawMethodInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("UnsafeTypeConversion", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("InvalidTypeVariableExceptionType", SKIP); + expectedProblemAttributes.put("InvalidParameterizedExceptionType", SKIP); + expectedProblemAttributes.put("IllegalGenericArray", SKIP); + expectedProblemAttributes.put("UnsafeRawFieldAssignment", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("FinalBoundForTypeVariable", SKIP); + expectedProblemAttributes.put("UndefinedTypeVariable", SKIP); + expectedProblemAttributes.put("SuperInterfacesCollide", SKIP); + expectedProblemAttributes.put("WildcardConstructorInvocation", SKIP); + expectedProblemAttributes.put("WildcardMethodInvocation", SKIP); + expectedProblemAttributes.put("WildcardFieldAssignment", SKIP); + expectedProblemAttributes.put("GenericMethodTypeArgumentMismatch", SKIP); + expectedProblemAttributes.put("GenericConstructorTypeArgumentMismatch", SKIP); + expectedProblemAttributes.put("UnsafeGenericCast", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("IllegalInstanceofParameterizedType", SKIP); + expectedProblemAttributes.put("IllegalInstanceofTypeParameter", SKIP); + expectedProblemAttributes.put("NonGenericMethod", SKIP); + expectedProblemAttributes.put("IncorrectArityForParameterizedMethod", SKIP); + expectedProblemAttributes.put("ParameterizedMethodArgumentTypeMismatch", SKIP); + expectedProblemAttributes.put("NonGenericConstructor", SKIP); + expectedProblemAttributes.put("IncorrectArityForParameterizedConstructor", SKIP); + expectedProblemAttributes.put("ParameterizedConstructorArgumentTypeMismatch", SKIP); + expectedProblemAttributes.put("TypeArgumentsForRawGenericMethod", SKIP); + expectedProblemAttributes.put("TypeArgumentsForRawGenericConstructor", SKIP); + expectedProblemAttributes.put("SuperTypeUsingWildcard", SKIP); + expectedProblemAttributes.put("GenericTypeCannotExtendThrowable", SKIP); + expectedProblemAttributes.put("IllegalClassLiteralForTypeVariable", SKIP); + expectedProblemAttributes.put("UnsafeReturnTypeOverride", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("MethodNameClash", SKIP); + expectedProblemAttributes.put("RawMemberTypeCannotBeParameterized", SKIP); + expectedProblemAttributes.put("MissingArgumentsForParameterizedMemberType", SKIP); + expectedProblemAttributes.put("StaticMemberOfParameterizedType", SKIP); + expectedProblemAttributes.put("BoundHasConflictingArguments", SKIP); + expectedProblemAttributes.put("DuplicateParameterizedMethods", SKIP); + expectedProblemAttributes.put("IllegalQualifiedParameterizedTypeAllocation", SKIP); + expectedProblemAttributes.put("DuplicateBounds", SKIP); + expectedProblemAttributes.put("BoundCannotBeArray", SKIP); + expectedProblemAttributes.put("UnsafeRawGenericConstructorInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("UnsafeRawGenericMethodInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("TypeParameterHidingType", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("RawTypeReference", new ProblemAttributes(JavaCore.COMPILER_PB_RAW_TYPE_REFERENCE)); + expectedProblemAttributes.put("NoAdditionalBoundAfterTypeVariable", SKIP); + expectedProblemAttributes.put("UnsafeGenericArrayForVarargs", new ProblemAttributes(JavaCore.COMPILER_PB_UNCHECKED_TYPE_OPERATION)); + expectedProblemAttributes.put("IllegalAccessFromTypeVariable", SKIP); + expectedProblemAttributes.put("TypeHidingTypeParameterFromType", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("TypeHidingTypeParameterFromMethod", new ProblemAttributes(JavaCore.COMPILER_PB_TYPE_PARAMETER_HIDING)); + expectedProblemAttributes.put("InvalidUsageOfWildcard", SKIP); + expectedProblemAttributes.put("UnusedTypeArgumentsForMethodInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_TYPE_ARGUMENTS_FOR_METHOD_INVOCATION)); + expectedProblemAttributes.put("IncompatibleTypesInForeach", SKIP); + expectedProblemAttributes.put("InvalidTypeForCollection", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeParameters", SKIP); + expectedProblemAttributes.put("InvalidUsageOfStaticImports", SKIP); + expectedProblemAttributes.put("InvalidUsageOfForeachStatements", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeArguments", SKIP); + expectedProblemAttributes.put("InvalidUsageOfEnumDeclarations", SKIP); + expectedProblemAttributes.put("InvalidUsageOfVarargs", SKIP); + expectedProblemAttributes.put("InvalidUsageOfAnnotations", SKIP); + expectedProblemAttributes.put("InvalidUsageOfAnnotationDeclarations", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeParametersForAnnotationDeclaration", SKIP); + expectedProblemAttributes.put("InvalidUsageOfTypeParametersForEnumDeclaration", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationMethod", SKIP); + expectedProblemAttributes.put("IllegalExtendedDimensions", SKIP); + expectedProblemAttributes.put("InvalidFileNameForPackageAnnotations", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationType", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationMemberType", SKIP); + expectedProblemAttributes.put("InvalidAnnotationMemberType", SKIP); + expectedProblemAttributes.put("AnnotationCircularitySelfReference", SKIP); + expectedProblemAttributes.put("AnnotationCircularity", SKIP); + expectedProblemAttributes.put("DuplicateAnnotation", SKIP); + expectedProblemAttributes.put("MissingValueForAnnotationMember", SKIP); + expectedProblemAttributes.put("DuplicateAnnotationMember", SKIP); + expectedProblemAttributes.put("UndefinedAnnotationMember", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeClassLiteral", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeConstant", SKIP); + expectedProblemAttributes.put("AnnotationFieldNeedConstantInitialization", SKIP); + expectedProblemAttributes.put("IllegalModifierForAnnotationField", SKIP); + expectedProblemAttributes.put("AnnotationCannotOverrideMethod", SKIP); + expectedProblemAttributes.put("AnnotationMembersCannotHaveParameters", SKIP); + expectedProblemAttributes.put("AnnotationMembersCannotHaveTypeParameters", SKIP); + expectedProblemAttributes.put("AnnotationTypeDeclarationCannotHaveSuperclass", SKIP); + expectedProblemAttributes.put("AnnotationTypeDeclarationCannotHaveSuperinterfaces", SKIP); + expectedProblemAttributes.put("DuplicateTargetInTargetAnnotation", SKIP); + expectedProblemAttributes.put("DisallowedTargetForAnnotation", SKIP); + expectedProblemAttributes.put("MethodMustOverride", SKIP); + expectedProblemAttributes.put("AnnotationTypeDeclarationCannotHaveConstructor", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeAnnotation", SKIP); + expectedProblemAttributes.put("AnnotationTypeUsedAsSuperInterface", new ProblemAttributes(JavaCore.COMPILER_PB_ANNOTATION_SUPER_INTERFACE)); + expectedProblemAttributes.put("MissingOverrideAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_OVERRIDE_ANNOTATION)); + expectedProblemAttributes.put("FieldMissingDeprecatedAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_DEPRECATED_ANNOTATION)); + expectedProblemAttributes.put("MethodMissingDeprecatedAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_DEPRECATED_ANNOTATION)); + expectedProblemAttributes.put("TypeMissingDeprecatedAnnotation", new ProblemAttributes(JavaCore.COMPILER_PB_MISSING_DEPRECATED_ANNOTATION)); + expectedProblemAttributes.put("UnhandledWarningToken", new ProblemAttributes(JavaCore.COMPILER_PB_UNHANDLED_WARNING_TOKEN)); + expectedProblemAttributes.put("AnnotationValueMustBeArrayInitializer", SKIP); + expectedProblemAttributes.put("AnnotationValueMustBeAnEnumConstant", SKIP); + expectedProblemAttributes.put("MethodMustOverrideOrImplement", SKIP); + expectedProblemAttributes.put("UnusedWarningToken", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_WARNING_TOKEN)); + expectedProblemAttributes.put("UnusedTypeArgumentsForConstructorInvocation", new ProblemAttributes(JavaCore.COMPILER_PB_UNUSED_TYPE_ARGUMENTS_FOR_METHOD_INVOCATION)); + expectedProblemAttributes.put("CorruptedSignature", SKIP); + expectedProblemAttributes.put("InvalidEncoding", SKIP); + expectedProblemAttributes.put("CannotReadSource", SKIP); + expectedProblemAttributes.put("BoxingConversion", new ProblemAttributes(JavaCore.COMPILER_PB_AUTOBOXING)); + expectedProblemAttributes.put("UnboxingConversion", new ProblemAttributes(JavaCore.COMPILER_PB_AUTOBOXING)); + expectedProblemAttributes.put("IllegalModifierForEnum", SKIP); + expectedProblemAttributes.put("IllegalModifierForEnumConstant", SKIP); + expectedProblemAttributes.put("IllegalModifierForLocalEnum", SKIP); + expectedProblemAttributes.put("IllegalModifierForMemberEnum", SKIP); + expectedProblemAttributes.put("CannotDeclareEnumSpecialMethod", SKIP); + expectedProblemAttributes.put("IllegalQualifiedEnumConstantLabel", SKIP); + expectedProblemAttributes.put("CannotExtendEnum", SKIP); + expectedProblemAttributes.put("CannotInvokeSuperConstructorInEnum", SKIP); + expectedProblemAttributes.put("EnumAbstractMethodMustBeImplemented", SKIP); + expectedProblemAttributes.put("EnumSwitchCannotTargetField", SKIP); + expectedProblemAttributes.put("IllegalModifierForEnumConstructor", SKIP); + expectedProblemAttributes.put("MissingEnumConstantCase", new ProblemAttributes(JavaCore.COMPILER_PB_INCOMPLETE_ENUM_SWITCH)); + expectedProblemAttributes.put("EnumStaticFieldInInInitializerContext", SKIP); + expectedProblemAttributes.put("EnumConstantMustImplementAbstractMethod", SKIP); + expectedProblemAttributes.put("IllegalExtendedDimensionsForVarArgs", SKIP); + expectedProblemAttributes.put("MethodVarargsArgumentNeedCast", new ProblemAttributes(JavaCore.COMPILER_PB_VARARGS_ARGUMENT_NEED_CAST)); + expectedProblemAttributes.put("ConstructorVarargsArgumentNeedCast", new ProblemAttributes(JavaCore.COMPILER_PB_VARARGS_ARGUMENT_NEED_CAST)); + expectedProblemAttributes.put("VarargsConflict", SKIP); + expectedProblemAttributes.put("JavadocGenericMethodTypeArgumentMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNonGenericMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocIncorrectArityForParameterizedMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocParameterizedMethodArgumentTypeMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocTypeArgumentsForRawGenericMethod", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocGenericConstructorTypeArgumentMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocNonGenericConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocIncorrectArityForParameterizedConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocParameterizedConstructorArgumentTypeMismatch", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("JavadocTypeArgumentsForRawGenericConstructor", new ProblemAttributes(JavaCore.COMPILER_PB_INVALID_JAVADOC)); + expectedProblemAttributes.put("ExternalProblemNotFixable", SKIP); + expectedProblemAttributes.put("ExternalProblemFixable", SKIP); + Map constantNamesIndex = new HashMap(); + Field[] fields = JavaCore.class.getFields(); + for (int i = 0, length = fields.length; i < length; i++) { + Field field = fields[i]; + String fieldName; + if (field.getType() == String.class && (fieldName = field.getName()).startsWith("COMPILER_PB_")) { + constantNamesIndex.put(field.get(null), fieldName); + } + } + fields = IProblem.class.getFields(); + StringBuffer failures = new StringBuffer(); + for (int i = 0, length = fields.length; i < length; i++) { + Field field = fields[i]; + if (field.getType() == Integer.TYPE) { + int problemId = field.getInt(null), maskedProblemId = problemId & IProblem.IgnoreCategoriesMask; + if (maskedProblemId != 0 && maskedProblemId != IProblem.IgnoreCategoriesMask) { + ProblemAttributes expectedAttributes = (ProblemAttributes) expectedProblemAttributes.get(field.getName()); + String actualTuningOption = JavaCore.getCompilerProblemSeverityTuningOption(problemId); + if (expectedAttributes == null) { + failures.append("missing expected problem attributes for problem " + field.getName() + "\n"); + } else if (expectedAttributes.skip || expectedAttributes.option.equals(actualTuningOption)) { + continue; + } else { + failures.append("tuning option mismatch for problem " + field.getName() + " (expected " + expectedAttributes.option + ", got " + actualTuningOption + ")\n"); + } + String optionFieldName = (String) constantNamesIndex.get(actualTuningOption); + System.out.println("\t\texpectedProblemAttributes.put(\"" + field.getName() + "\", " + + (optionFieldName != null ? "new ProblemAttributes(JavaCore." + optionFieldName + ")" : + "SKIP") + ");"); + } + } + } + assertEquals(failures.toString(), 0, failures.length()); + } + catch (IllegalAccessException e) { + fail("could not access members"); + } +} }