Class AjProblemReporter
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemHandler
org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter
org.aspectj.ajdt.internal.compiler.problem.AjProblemReporter
Extends problem reporter to support compiler-side implementation of declare soft. Also overrides error reporting for the need to
implement abstract methods to account for inter-type declarations and pointcut declarations. This second job might be better done
directly in the SourceTypeBinding/ClassScope classes.
- Author:
- Jim Hugunin
-
Field Summary
FieldsFields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter
referenceContextFields inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemHandler
NoArgument, options, policy, problemFactory, suppressTagging -
Constructor Summary
ConstructorsConstructorDescriptionAjProblemReporter(IErrorHandlingPolicy policy, CompilerOptions options, IProblemFactory problemFactory) -
Method Summary
Modifier and TypeMethodDescriptionvoidabstractMethodCannotBeOverridden(SourceTypeBinding type, MethodBinding concreteMethod) voidabstractMethodInAbstractClass(SourceTypeBinding type, AbstractMethodDeclaration methodDecl) voidvoidabstractMethodMustBeImplemented(SourceTypeBinding type, MethodBinding abstractMethod) voidcaseExpressionMustBeConstant(Expression expression) createProblem(char[] fileName, int problemId, String[] problemArguments, String[] messageArguments, int severity, int problemStartPosition, int problemEndPosition, int lineNumber) All problems end up routed through here at some point...voiddisallowedTargetForAnnotation(Annotation annotation) voidduplicateInheritedMethods(SourceTypeBinding type, MethodBinding inheritedMethod1, MethodBinding inheritedMethod2, boolean isJava8) The method verifier is a bit 'keen' and doesn't cope well with ITDMs which are of course to be considered a 'default' implementation if the target type doesn't supply one.voidduplicateMethodInType(AbstractMethodDeclaration methodDecl, boolean equalParameters, int severity) voidfinalMethodCannotBeOverridden(MethodBinding currentMethod, MethodBinding inheritedMethod) A side-effect of the way that we handle itds on default methods on top-most implementors of interfaces is that a class acquiring a final default ITD will erroneously report that it can't override its own member.voidhandle(int problemId, String[] problemArguments, String[] messageArguments, int severity, int problemStartPosition, int problemEndPosition, ReferenceContext referenceContext, CompilationResult unitResult) voidinheritedMethodReducesVisibility(SourceTypeBinding type, MethodBinding concreteMethod, MethodBinding[] abstractMethods) voiditdMethodMustOverride(AbstractMethodDeclaration method, MethodBinding binding) Called when there is an ITD marked @override that doesn't override a supertypes method.voidjavadocMissingParamTag(char[] name, int sourceStart, int sourceEnd, int modifiers) voidmethodMustOverride(AbstractMethodDeclaration method, long complianceLevel) Overrides the implementation in ProblemReporter and is ITD aware.voidmissingValueForAnnotationMember(Annotation annotation, char[] memberName) voidoverridesPackageDefaultMethod(MethodBinding localMethod, MethodBinding inheritedMethod) voidparseErrorInsertAfterToken(int start, int end, int currentKind, char[] errorTokenSource, String errorTokenName, String expectedToken) voidstaticAndInstanceConflict(MethodBinding currentMethod, MethodBinding inheritedMethod) voidunhandledException(TypeBinding exceptionType, ASTNode location) voidunhandledExceptionFromAutoClose(TypeBinding exceptionType, ASTNode location) voiduninitializedLocalVariable(LocalVariableBinding binding, ASTNode location, Scope scope) voidunusedArgument(LocalDeclaration localDecl) voidunusedPrivateField(FieldDeclaration fieldDecl) voidunusedPrivateMethod(AbstractMethodDeclaration methodDecl) voidunusedPrivateType(TypeDeclaration typeDecl) voidvisibilityConflict(MethodBinding currentMethod, MethodBinding inheritedMethod) Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemReporter
abortDueToInternalError, abortDueToInternalError, abortDueToPreviewEnablingNotAllowed, abstractMethodMustBeImplemented, abstractMethodNeedingNoBody, alreadyDefinedLabel, annotationCannotOverrideMethod, annotationCircularity, annotationMembersCannotHaveParameters, annotationMembersCannotHaveTypeParameters, annotationTypeDeclarationCannotHaveConstructor, annotationTypeDeclarationCannotHaveSuperclass, annotationTypeDeclarationCannotHaveSuperinterfaces, annotationTypeUsedAsSuperinterface, annotationValueMustBeAnnotation, annotationValueMustBeArrayInitializer, annotationValueMustBeClassLiteral, annotationValueMustBeConstant, anonymousClassCannotExtendFinalClass, anonymousDiamondWithNonDenotableTypeArguments, argumentTypeCannotBeVoid, argumentTypeCannotBeVoidArray, arrayConstantsOnlyInArrayInitializers, arrayReferencePotentialNullReference, arrowInCaseStatementsNotSupported, assignmentHasNoEffect, assignmentHasNoEffect, attemptToReturnNonVoidExpression, attemptToReturnVoidValue, autoboxing, autoManagedResourcesNotBelow17, autoManagedVariableResourcesNotBelow9, autoModuleWithUnstableName, boundCannotBeArray, boundMustBeAnInterface, bytecodeExceeds64KLimit, bytecodeExceeds64KLimit, bytecodeExceeds64KLimit, bytecodeExceeds64KLimit, bytecodeExceeds64KLimit, cannotAllocateVoidArray, cannotAssignToFinalField, cannotAssignToFinalLocal, cannotAssignToFinalOuterLocal, cannotDefineDimensionsAndInitializer, cannotDireclyInvokeAbstractMethod, cannotExtendEnum, cannotImplementIncompatibleNullness, cannotImportPackage, cannotInferElidedTypes, cannotInferRecordPatternTypes, cannotInstantiate, cannotInvokeSuperConstructorInEnum, cannotReadSource, cannotRedefineTypeArgumentNullity, cannotReferToNonEffectivelyFinalOuterLocal, cannotReferToNonFinalField, cannotReferToNonFinalLocalInGuard, cannotReferToNonFinalOuterLocal, cannotReturnInInitializer, cannotThrowNull, cannotThrowType, cannotUseQualifiedEnumConstantInCaseLabel, cannotUseSuperInCodeSnippet, cannotUseSuperInJavaLangObject, checkSyntheticAccessor, classExtendFinalClass, classExtendFinalRecord, close, codeSnippetMissingClass, codeSnippetMissingMethod, comparingIdenticalExpressions, computeSeverity, conditionalArgumentsIncompatibleTypes, conflictingImport, conflictingInheritedNullAnnotations, conflictingNullAnnotations, conflictingPackageInModules, conflictingPackagesFromModules, conflictingPackagesFromModules, conflictingPackagesFromOtherModules, constantOutOfRange, constructedArrayIncompatible, containerAnnotationTypeHasNonDefaultMembers, containerAnnotationTypeHasShorterRetention, containerAnnotationTypeHasWrongValueType, containerAnnotationTypeMustHaveValue, contradictoryNullAnnotations, contradictoryNullAnnotations, contradictoryNullAnnotations, contradictoryNullAnnotationsInferred, contradictoryNullAnnotationsInferred, contradictoryNullAnnotationsOnBounds, corruptedSignature, cyclicModuleDependency, danglingReference, defaultMethodOverridesObjectMethod, defaultMethodsNotBelow18, defaultModifierIllegallySpecified, deprecatedField, deprecatedMethod, deprecatedModule, deprecatedType, deprecatedType, dereferencingNullableExpression, dereferencingNullableExpression, descriptorHasInvisibleType, diamondNotBelow17, diamondNotBelow17, diamondNotWithAnoymousClasses, diamondNotWithExplicitTypeArguments, dimensionsIllegalOnRecordPattern, disallowedTargetForContainerAnnotation, disallowedThisParameter, discouragedValueBasedTypeToSynchronize, duplicateAnnotation, duplicateAnnotationValue, duplicateBoundInIntersectionCast, duplicateBounds, duplicateCase, duplicateDefaultCase, duplicateEnumSpecialMethod, duplicateFieldInType, duplicateImport, duplicateInitializationOfBlankFinalField, duplicateInitializationOfFinalLocal, duplicateModifierForField, duplicateModifierForMethod, duplicateModifierForType, duplicateModifierForVariable, duplicateModuleReference, duplicateNestedType, duplicateResourceReference, duplicateSuperinterface, duplicateTargetInTargetAnnotation, duplicateTotalPattern, duplicateTypeParameterInType, duplicateTypeReference, duplicateTypeReference, duplicateTypes, emptyControlFlowStatement, enhancedSwitchMissingDefaultCase, enumAbstractMethodMustBeImplemented, enumConstantMustImplementAbstractMethod, enumConstantsCannotBeSurroundedByParenthesis, enumStaticFieldUsedDuringInitialization, enumSwitchCannotTargetField, errorExpressionInPreConstructorContext, errorNoMethodFor, errorNoMethodFor, errorNoSuperInInterface, errorReturnInPrologue, errorThisSuperInStatic, explicitlyClosedAutoCloseable, explitAnnotationTargetRequired, exportingForeignPackage, expressionNonNullComparison, expressionNullReference, expressionPotentialNullReference, expressionShouldBeAVariable, fakeReachable, falseLiteralInGuard, fieldFreeTypeVariableReference, fieldHiding, fieldsOrThisBeforeConstructorInvocation, finallyMustCompleteNormally, finalVariableBound, forbiddenReference, forbiddenReference, forbiddenReference, forwardReference, forwardTypeVariableReference, genericInferenceError, genericInferenceProblem, genericTypeCannotExtendThrowable, getIrritant, getProblemCategory, handleUntagged, hiddenCatchBlock, hierarchyCircularity, hierarchyCircularity, hierarchyHasProblems, illegalAbstractModifierCombinationForMethod, illegalAbstractModifierCombinationForMethod, illegalAccessFromTypeVariable, illegalAnnotationForBaseType, illegalAnnotationForBaseType, illegalArrayOfUnionType, illegalArrayTypeInIntersectionCast, illegalCaseConstantCombination, illegalClassLiteralForTypeVariable, illegalExtendedDimensions, illegalExtendedDimensions, illegalFallthroughFromAPattern, IllegalFallThroughToPattern, illegalGenericArray, illegalInstanceOfGenericType, illegalLocalTypeDeclaration, illegalModifierCombinationFinalAbstractForClass, illegalModifierCombinationFinalVolatileForField, illegalModifierCombinationForInterfaceMethod, illegalModifierCombinationForPrivateInterfaceMethod, illegalModifierForAnnotationField, illegalModifierForAnnotationMember, illegalModifierForAnnotationMemberType, illegalModifierForAnnotationType, illegalModifierForClass, illegalModifierForEnum, illegalModifierForEnumConstant, illegalModifierForEnumConstructor, illegalModifierForField, illegalModifierForInnerRecord, illegalModifierForInterface, illegalModifierForInterfaceField, illegalModifierForInterfaceMethod, illegalModifierForLocalClass, illegalModifierForLocalEnumDeclaration, illegalModifierForLocalRecord, illegalModifierForMemberClass, illegalModifierForMemberEnum, illegalModifierForMemberInterface, illegalModifierForMethod, illegalModifierForModule, illegalModifierForRecord, illegalModifierForVariable, illegalModifiers, illegalModifiersForElidedType, illegalParameterRedefinition, illegalPrimitiveOrArrayTypeForEnclosingInstance, illegalQualifiedParameterizedTypeAllocation, illegalQualifierForExplicitThis, illegalQualifierForExplicitThis2, illegalRedeclarationOfPatternVar, illegalRedefinitionToNonNullParameter, illegalReturnRedefinition, illegalReturnRedefinition, illegalSourceLevelForThis, illegalStaticModifierForMemberType, illegalSuperAccess, illegalSuperCallBypassingOverride, illegalThis, illegalThisDeclaration, illegalTotalPatternWithDefault, illegalTypeAnnotationsInStaticMemberAccess, illegalTypeForExplicitThis, illegalUsageOfQualifiedTypeReference, illegalUsageOfTypeAnnotations, illegalUsageOfWildcard, illegalUseOfUnderscoreAsAnIdentifier, illegalVararg, illegalVarargInLambda, illegalVisibilityModifierCombinationForField, illegalVisibilityModifierCombinationForMemberType, illegalVisibilityModifierCombinationForMethod, illegalVisibilityModifierForInterfaceMemberType, illegalVoidExpression, illFormedParameterizationOfFunctionalInterface, implicitClassMissingMainMethod, implicitObjectBoundNoNullDefault, importProblem, incompatibleExceptionInThrowsClause, incompatiblePatternType, incompatibleReturnType, incompatibleReturnType, incorrectArityForParameterizedType, incorrectArityForParameterizedType, incorrectLocationForNonEmptyDimension, incorrectSwitchType, indirectAccessToStaticField, indirectAccessToStaticMethod, inheritedDefaultMethodConflictsWithOtherInherited, inheritedMethodReducesVisibility, inheritedMethodsHaveIncompatibleReturnTypes, inheritedMethodsHaveIncompatibleReturnTypes, inheritedMethodsHaveNameClash, inheritedParameterLackingNonnullAnnotation, initializerMustCompleteNormally, innerTypesCannotDeclareStaticInitializers, interfaceCannotHaveConstructors, interfaceCannotHaveInitializers, interfaceSuperInvocationNotBelow18, intersectionCastNotBelow18, invalidAnnotationMemberType, invalidArrayConstructorReference, invalidBreak, invalidConstructor, invalidContinue, invalidEnclosingType, invalidExplicitConstructorCall, invalidExpressionAsStatement, invalidField, invalidField, invalidField, invalidFileNameForPackageAnnotations, invalidMethod, invalidModule, invalidNullToSynchronize, invalidOpensStatement, invalidOperator, invalidOperator, invalidOperator, invalidPackageReference, invalidParameterizedExceptionType, invalidParenthesizedExpression, invalidServiceRef, invalidType, invalidTypeArguments, invalidTypeForCollection, invalidTypeForCollectionTarget14, invalidTypeToSynchronize, invalidTypeVariableAsException, invalidUnaryExpression, invalidUsageOfAnnotation, invalidUsageOfAnnotationDeclarations, invalidUsageOfEnumDeclarations, invalidUsageOfForeachStatements, invalidUsageOfStaticImports, invalidUsageOfTypeAnnotations, invalidUsageOfTypeArguments, invalidUsageOfTypeParameters, invalidUsageOfTypeParametersForAnnotationDeclaration, invalidUsageOfTypeParametersForEnumDeclaration, invalidUsageOfVarargs, isClassPathCorrect, javadocAmbiguousMethodReference, javadocDeprecatedField, javadocDeprecatedMethod, javadocDeprecatedType, javadocDeprecatedType, javadocDuplicatedParamTag, javadocDuplicatedProvidesTag, javadocDuplicatedReturnTag, javadocDuplicatedTag, javadocDuplicatedThrowsClassName, javadocDuplicatedUsesTag, javadocEmptyReturnTag, javadocErrorNoMethodFor, javadocHiddenReference, javadocInvalidConstructor, javadocInvalidField, javadocInvalidMemberTypeQualification, javadocInvalidMethod, javadocInvalidModule, javadocInvalidModuleQualification, javadocInvalidParamTagName, javadocInvalidParamTypeParameter, javadocInvalidProvidesClass, javadocInvalidProvidesClassName, javadocInvalidReference, javadocInvalidSeeHref, javadocInvalidSeeReferenceArgs, javadocInvalidSeeUrlReference, javadocInvalidSnippet, javadocInvalidSnippetContentNewLine, javadocInvalidSnippetDuplicateRegions, javadocInvalidSnippetMissingColon, javadocInvalidSnippetRegexSubstringTogether, javadocInvalidSnippetRegionNotClosed, javadocInvalidTag, javadocInvalidThrowsClass, javadocInvalidThrowsClassName, javadocInvalidType, javadocInvalidUsesClass, javadocInvalidUsesClassName, javadocInvalidValueReference, javadocMalformedSeeReference, javadocMissing, javadocMissing, javadocMissingHashCharacter, javadocMissingIdentifier, javadocMissingParamName, javadocMissingProvidesClassName, javadocMissingProvidesTag, javadocMissingReference, javadocMissingReturnTag, javadocMissingTagDescription, javadocMissingTagDescriptionAfterReference, javadocMissingThrowsClassName, javadocMissingThrowsTag, javadocMissingUsesClassName, javadocMissingUsesTag, javadocModuleMissing, javadocUndeclaredParamTagName, javadocUnexpectedTag, javadocUnexpectedText, javadocUnterminatedInlineTag, lambdaExpressionCannotImplementGenericMethod, lambdaExpressionsNotBelow18, lambdaParameterTypeMismatched, lambdaRedeclaresArgument, lambdaRedeclaresLocal, lambdaSignatureMismatched, localStaticsIllegalVisibilityModifierForInterfaceLocalType, localVariableFreeTypeVariableReference, localVariableHiding, localVariableNonNullComparedToNull, localVariableNullComparedToNonNull, localVariableNullInstanceof, localVariableNullReference, localVariablePotentialNullReference, localVariableRedundantCheckOnNonNull, localVariableRedundantCheckOnNull, localVariableRedundantNullAssignment, messageSendPotentialNullReference, messageSendRedundantCheckOnNonNull, methodCanBeDeclaredStatic, methodCanBePotentiallyDeclaredStatic, methodMustBeAccessedStatically, methodMustBeAccessedWithInstance, methodNameClash, methodNameClashHidden, methodNeedBody, methodNeedingNoBody, methodReferenceSwingsBothWays, methodReturnTypeFreeTypeVariableReference, methodWithConstructorName, misplacedTypeAnnotations, missingDefaultCase, missingDeprecatedAnnotationForField, missingDeprecatedAnnotationForMethod, missingDeprecatedAnnotationForType, missingEnumConstantCase, missingEnumConstantCase, missingImplementationOfClose, missingModuleAddReads, missingNonNullByDefaultAnnotation, missingOverrideAnnotation, missingOverrideAnnotationForInterfaceMethodImplementation, missingRequiresTransitiveForTypeInAPI, missingReturnType, missingSemiColon, missingSerialVersion, missingSynchronizedOnInheritedMethod, missingTypeInConstructor, missingTypeInLambda, missingTypeInMethod, missingValueFromLambda, multiCatchNotBelow17, multiConstantCaseLabelsNotSupported, mustDefineDimensionsOrInitializer, mustUseAStaticMethod, namedPatternVariablesDisallowedHere, nativeMethodsCannotBeStrictfp, needImplementation, needToEmulateFieldAccess, needToEmulateMethodAccess, noAdditionalBoundAfterTypeVariable, noMoreAvailableSpaceForArgument, noMoreAvailableSpaceForConstant, noMoreAvailableSpaceForLocal, noMoreAvailableSpaceInConstantPool, nonExternalizedStringLiteral, nonGenericTypeCannotBeParameterized, nonNullArrayContentNotInitialized, nonNullTypeVariableInUnannotatedBinary, nonPublicTypeInAPI, nonStaticAccessToStaticField, nonStaticAccessToStaticField, nonStaticAccessToStaticMethod, nonStaticContextForEnumMemberType, nonStaticOrAlienTypeReceiver, noSuchEnclosingInstance, notAFunctionalInterface, notAnnotationType, notCompatibleTypesError, notCompatibleTypesError, notCompatibleTypesErrorInForeach, notExportedTypeInAPI, nullableFieldDereference, nullAnnotationAtQualifyingType, nullAnnotationIsRedundant, nullAnnotationIsRedundant, nullAnnotationIsRedundant, nullAnnotationIsRedundant, nullAnnotationUnsupportedLocation, nullAnnotationUnsupportedLocation, nullDefaultAnnotationIsRedundant, nullityMismatch, nullityMismatchingTypeAnnotation, nullityMismatchIsNull, nullityMismatchIsUnknown, nullityMismatchPotentiallyNull, nullityMismatchSpecdNullable, nullityMismatchTypeArgument, nullityMismatchVariableIsFreeTypeVariable, nullUnboxing, objectCannotBeGeneric, objectCannotHaveSuperTypes, objectMustBeClass, onlyReferenceTypesInIntersectionCast, operandStackExceeds64KLimit, operandStackSizeInappropriate, operatorOnlyValidOnNumericType, overrideAddingReturnOwning, overrideReducingParamterOwning, overridesDeprecatedMethod, overridesMethodWithoutSuperInvocation, packageCollidesWithType, packageIsNotExpectedPackage, parameterAssignment, parameterizedMemberTypeMissingArguments, parameterLackingNonnullAnnotation, parameterLackingNullableAnnotation, parseError, parseErrorDeleteToken, parseErrorDeleteTokens, parseErrorInsertBeforeToken, parseErrorInsertToComplete, parseErrorInsertToCompletePhrase, parseErrorInsertToCompleteScope, parseErrorInvalidToken, parseErrorMergeTokens, parseErrorMisplacedConstruct, parseErrorNoSuggestion, parseErrorNoSuggestionForTokens, parseErrorReplaceToken, parseErrorReplaceTokens, parseErrorUnexpectedEnd, patternDominatedByAnother, patternSwitchCaseDefaultOnlyAsSecond, patternSwitchNullOnlyOrFirstWithDefault, polymorphicMethodNotBelow17, possibleAccidentalBooleanAssignment, possibleFallThroughCase, possibleHeapPollutionFromVararg, potentiallyUnclosedCloseable, potentialNullUnboxing, previewAPIUsed, previewFeatureUsed, problemNotAnalysed, publicClassMustMatchFileName, rawConstructorReferenceNotWithExplicitTypeArguments, rawMemberTypeCannotBeParameterized, rawTypeReference, recordAccessorMethodHasThrowsClause, recordAccessorMethodShouldBePublic, recordAccessorMethodShouldNotBeGeneric, recordAccessorMethodShouldNotBeStatic, recordCannotExtendRecord, recordCanonicalConstructorHasExplicitConstructorCall, recordCanonicalConstructorHasReturnStatement, recordCanonicalConstructorHasThrowsClause, recordCanonicalConstructorShouldNotBeGeneric, recordCanonicalConstructorVisibilityReduced, recordCompactConstructorHasExplicitConstructorCall, recordCompactConstructorHasReturnStatement, recordComponentCannotBeVoid, recordComponentsCannotHaveModifiers, recordDuplicateComponent, recordErasureIncompatibilityInCanonicalConstructor, recordIllegalAccessorReturnType, recordIllegalComponentNameInRecord, recordIllegalExplicitFinalFieldAssignInCompactConstructor, recordIllegalExtendedDimensionsForRecordComponent, recordIllegalNativeModifierInRecord, recordIllegalParameterNameInCanonicalConstructor, recordIllegalStaticModifierForLocalClassOrInterface, recordIllegalVararg, recordInstanceInitializerBlockInRecord, recordMissingExplicitConstructorCallInNonCanonicalConstructor, recordNestedRecordInherentlyStatic, recordNonStaticFieldDeclarationInRecord, recordPatternSignatureMismatch, recordStaticReferenceToOuterLocalVariable, recursiveConstructorInvocation, redefineArgument, redefineLocal, redundantSpecificationOfTypeArguments, redundantSuperInterface, referenceExpressionArgumentNullityMismatch, referenceExpressionsNotBelow18, referenceMustBeArrayTypeAt, repeatableAnnotationTypeIsDocumented, repeatableAnnotationTypeIsInherited, repeatableAnnotationTypeTargetMismatch, repeatableAnnotationWithRepeatingContainer, repeatedAnnotationWithContainer, reset, resourceHasToImplementAutoCloseable, restrictedTypeName, safeVarargsOnFixedArityMethod, safeVarargsOnNonFinalInstanceMethod, safeVarargsOnOnSyntheticRecordAccessor, scannerError, scheduleProblemForContext, sealedAnonymousClassCannotExtendSealedType, sealedDisAllowedNonSealedModifierInClass, sealedDisAllowedNonSealedModifierInInterface, sealedDuplicateTypeInPermits, sealedInterfaceIsSealedAndNonSealed, sealedLocalDirectSuperTypeSealed, sealedMissingClassModifier, sealedMissingInterfaceModifier, sealedMissingSealedModifier, sealedNotDirectSuperClass, sealedNotDirectSuperInterface, sealedPermittedTypeOutsideOfModule, sealedPermittedTypeOutsideOfModule, sealedPermittedTypeOutsideOfPackage, sealedSealedTypeMissingPermits, sealedSuperClassDisallowed, sealedSuperClassDoesNotPermit, sealedSuperClassInDifferentPackage, sealedSuperInterfaceDisallowed, sealedSuperInterfaceDoesNotPermit, sealedSuperInterfaceInDifferentPackage, sealedSuperTypeDisallowed, sealedSuperTypeInDifferentPackage, shouldImplementAutoCloseable, shouldImplementHashcode, shouldMarkFieldAsOwning, shouldMarkMethodAsOwning, shouldReturn, signalError, signalNoImplicitStringConversionForCharArrayExpression, staticFieldAccessToNonStaticVariable, staticInheritedMethodConflicts, staticInterfaceMethodsNotBelow18, staticMemberOfParameterizedType, StrictfpNotRequired, stringConstantIsExceedingUtf8Limit, superclassMustBeAClass, superfluousSemicolon, superinterfaceMustBeAnInterface, superinterfacesCollide, superTypeCannotUseWildcard, swallowedException, switchExpressionBreakNotAllowed, switchExpressionEmptySwitchBlock, switchExpressionIllegalLastStatement, switchExpressionIncompatibleResultExpressions, switchExpressionLastStatementCompletesNormally, switchExpressionMixedCase, switchExpressionNoResultExpressions, switchExpressionsBreakOutOfSwitchExpression, switchExpressionsContinueOutOfSwitchExpression, switchExpressionsNotSupported, switchExpressionsReturnWithinSwitchExpression, switchExpressionSwitchLabeledBlockCompletesNormally, switchExpressionsYieldIllegalStatement, switchExpressionsYieldOutsideSwitchExpression, switchExpressionsYieldRestrictedGeneralWarning, switchExpressionsYieldTypeDeclarationError, switchExpressionsYieldTypeDeclarationWarning, switchExpressionsYieldUnqualifiedMethodError, switchExpressionsYieldUnqualifiedMethodWarning, switchExpressionTrailingSwitchLabels, targetTypeIsNotAFunctionalInterface, task, tooManyDimensions, tooManyFields, tooManyMethods, tooManyParametersForSyntheticMethod, typeAnnotationAtQualifiedName, typeCastError, typeCollidesWithEnclosingType, typeCollidesWithPackage, typeHiding, typeHiding, typeHiding, typeMismatchError, typeMismatchError, unclosedCloseable, undefinedAnnotationValue, undefinedLabel, undefinedTypeVariableSignature, undocumentedEmptyBlock, unexpectedStaticModifierForField, unexpectedStaticModifierForMethod, unexpectedTypeinRecordPattern, unexpectedTypeinSwitchPattern, unhandledException, unhandledWarningToken, uninitializedBlankFinalField, uninitializedNonNullField, uninternedIdentityComparison, unlikelyArgumentType, unmatchedBracket, unnamedPackageInNamedModule, unnamedVariableMustHaveInitializer, unnecessaryCast, unnecessaryElse, unnecessaryEnclosingInstanceSpecification, unnecessaryInstanceof, unnecessaryNLSTags, unnecessaryNullCaseInSwitchOverNonNull, unnecessaryTypeArgumentsForMethodInvocation, unqualifiedFieldAccess, unreachableCatchBlock, unreachableCode, unresolvableReference, unsafeCast, unsafeCastInInstanceof, unsafeElementTypeConversion, unsafeGenericArrayForVarargs, unsafeNullnessCast, unsafeRawFieldAssignment, unsafeRawGenericMethodInvocation, unsafeRawInvocation, unsafeReturnTypeOverride, unsafeTypeConversion, unusedDeclaredThrownException, unusedExceptionParameter, unusedImport, unusedLabel, unusedLocalVariable, unusedObjectAllocation, unusedPrivateConstructor, unusedTypeParameter, unusedWarningToken, useAssertAsAnIdentifier, useEnumAsAnIdentifier, validateJavaFeatureSupport, validateRestrictedKeywords, varargsArgumentNeedCast, varargsConflict, varCannotBeMixedWithNonVarParams, varCannotBeUsedWithTypeArguments, variableTypeCannotBeVoid, variableTypeCannotBeVoidArray, varIsNotAllowedHere, varIsReservedTypeName, varIsReservedTypeNameInFuture, varLocalCannotBeArray, varLocalCannotBeArrayInitalizers, varLocalCannotBeLambda, varLocalCannotBeMethodReference, varLocalInitializedToNull, varLocalInitializedToVoid, varLocalMultipleDeclarators, varLocalReferencesItself, varLocalWithoutInitizalier, wildcardAssignment, wildcardInvocation, wrongSequenceOfExceptionTypes, wrongSequenceOfExceptionTypesErrorMethods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.problem.ProblemHandler
createProblem, createProblem, handle, handle, record, resumeTempErrorHandlingPolicy, suspendTempErrorHandlingPolicy, switchErrorHandlingPolicy
-
Field Details
-
factory
-
-
Constructor Details
-
AjProblemReporter
public AjProblemReporter(IErrorHandlingPolicy policy, CompilerOptions options, IProblemFactory problemFactory)
-
-
Method Details
-
unhandledException
- Overrides:
unhandledExceptionin classProblemReporter
-
unhandledExceptionFromAutoClose
- Overrides:
unhandledExceptionFromAutoClosein classProblemReporter
-
abstractMethodCannotBeOverridden
- Overrides:
abstractMethodCannotBeOverriddenin classProblemReporter
-
inheritedMethodReducesVisibility
public void inheritedMethodReducesVisibility(SourceTypeBinding type, MethodBinding concreteMethod, MethodBinding[] abstractMethods) - Overrides:
inheritedMethodReducesVisibilityin classProblemReporter
-
staticAndInstanceConflict
- Overrides:
staticAndInstanceConflictin classProblemReporter
-
abstractMethodMustBeImplemented
- Overrides:
abstractMethodMustBeImplementedin classProblemReporter
-
disallowedTargetForAnnotation
- Overrides:
disallowedTargetForAnnotationin classProblemReporter
-
overridesPackageDefaultMethod
- Overrides:
overridesPackageDefaultMethodin classProblemReporter
-
handle
public void handle(int problemId, String[] problemArguments, String[] messageArguments, int severity, int problemStartPosition, int problemEndPosition, ReferenceContext referenceContext, CompilationResult unitResult) -
javadocMissingParamTag
public void javadocMissingParamTag(char[] name, int sourceStart, int sourceEnd, int modifiers) - Overrides:
javadocMissingParamTagin classProblemReporter
-
abstractMethodInAbstractClass
public void abstractMethodInAbstractClass(SourceTypeBinding type, AbstractMethodDeclaration methodDecl) - Overrides:
abstractMethodInAbstractClassin classProblemReporter
-
itdMethodMustOverride
Called when there is an ITD marked @override that doesn't override a supertypes method. The method and the binding are passed - some information is useful from each. The 'method' knows about source offsets for the message, the 'binding' has the signature of what the ITD is trying to be in the target class. -
methodMustOverride
Overrides the implementation in ProblemReporter and is ITD aware. To report a *real* problem with an ITD marked @override, the other methodMustOverride() method is used.- Overrides:
methodMustOverridein classProblemReporter
-
visibilityConflict
- Overrides:
visibilityConflictin classProblemReporter
-
unusedPrivateType
- Overrides:
unusedPrivateTypein classProblemReporter
-
uninitializedLocalVariable
- Overrides:
uninitializedLocalVariablein classProblemReporter
-
abstractMethodInConcreteClass
- Overrides:
abstractMethodInConcreteClassin classProblemReporter
-
unusedPrivateField
- Overrides:
unusedPrivateFieldin classProblemReporter
-
unusedPrivateMethod
- Overrides:
unusedPrivateMethodin classProblemReporter
-
caseExpressionMustBeConstant
- Overrides:
caseExpressionMustBeConstantin classProblemReporter
-
unusedArgument
- Overrides:
unusedArgumentin classProblemReporter
-
finalMethodCannotBeOverridden
public void finalMethodCannotBeOverridden(MethodBinding currentMethod, MethodBinding inheritedMethod) A side-effect of the way that we handle itds on default methods on top-most implementors of interfaces is that a class acquiring a final default ITD will erroneously report that it can't override its own member. This method detects that situation.- Overrides:
finalMethodCannotBeOverriddenin classProblemReporter
-
duplicateInheritedMethods
public void duplicateInheritedMethods(SourceTypeBinding type, MethodBinding inheritedMethod1, MethodBinding inheritedMethod2, boolean isJava8) The method verifier is a bit 'keen' and doesn't cope well with ITDMs which are of course to be considered a 'default' implementation if the target type doesn't supply one. This test may not be complete - it is possible that it should read if *either* is an ITD...but I dont have a testcase that shows that is required. yet. (pr115788)- Overrides:
duplicateInheritedMethodsin classProblemReporter
-
createProblem
-
duplicateMethodInType
public void duplicateMethodInType(AbstractMethodDeclaration methodDecl, boolean equalParameters, int severity) - Overrides:
duplicateMethodInTypein classProblemReporter
-
parseErrorInsertAfterToken
public void parseErrorInsertAfterToken(int start, int end, int currentKind, char[] errorTokenSource, String errorTokenName, String expectedToken) - Overrides:
parseErrorInsertAfterTokenin classProblemReporter
-
missingValueForAnnotationMember
- Overrides:
missingValueForAnnotationMemberin classProblemReporter
-