Interface BSLDiagnostic

All Known Implementing Classes:
AbstractDiagnostic, AbstractExpressionTreeDiagnostic, AbstractFindMethodDiagnostic, AbstractListenerDiagnostic, AbstractMagicValueDiagnostic, AbstractMetadataDiagnostic, AbstractMultilingualStringDiagnostic, AbstractSDBLListenerDiagnostic, AbstractSDBLVisitorDiagnostic, AbstractSymbolTreeDiagnostic, AbstractVisitorDiagnostic, AllFunctionPathMustHaveReturnDiagnostic, AssignAliasFieldsInQueryDiagnostic, AssignToReadOnlyPropertyDiagnostic, BadWordsDiagnostic, BeginTransactionBeforeTryCatchDiagnostic, CachedPublicDiagnostic, CanonicalSpellingKeywordsDiagnostic, CodeAfterAsyncCallDiagnostic, CodeBlockBeforeSubDiagnostic, CodeOutOfRegionDiagnostic, CognitiveComplexityDiagnostic, CommandModuleExportMethodsDiagnostic, CommentedCodeDiagnostic, CommitTransactionOutsideTryCatchDiagnostic, CommonModuleAssignDiagnostic, CommonModuleInvalidTypeDiagnostic, CommonModuleMissingAPIDiagnostic, CommonModuleNameCachedDiagnostic, CommonModuleNameClientDiagnostic, CommonModuleNameClientServerDiagnostic, CommonModuleNameFullAccessDiagnostic, CommonModuleNameGlobalClientDiagnostic, CommonModuleNameGlobalDiagnostic, CommonModuleNameServerCallDiagnostic, CommonModuleNameWordsDiagnostic, CommonModuleVariablesDiagnostic, CompareWithBooleanDiagnostic, CompilationDirectiveLostDiagnostic, CompilationDirectiveNeedLessDiagnostic, ConsecutiveEmptyLinesDiagnostic, CrazyMultilineStringDiagnostic, CreateQueryInCycleDiagnostic, CyclomaticComplexityDiagnostic, DataExchangeLoadingDiagnostic, DeletingCollectionItemDiagnostic, DenyIncompleteValuesDiagnostic, DeprecatedAttributes8312Diagnostic, DeprecatedCurrentDateDiagnostic, DeprecatedFindDiagnostic, DeprecatedMessageDiagnostic, DeprecatedMethodCallDiagnostic, DeprecatedTypeManagedFormDiagnostic, DisableSafeModeDiagnostic, DoubleNegativesDiagnostic, DuplicatedInsertionIntoCollectionDiagnostic, DuplicateRegionDiagnostic, DuplicateStringLiteralDiagnostic, EmptyCodeBlockDiagnostic, EmptyRegionDiagnostic, EmptyStatementDiagnostic, ExcessiveAutoTestCheckDiagnostic, ExecuteExternalCodeDiagnostic, ExecuteExternalCodeInCommonModuleDiagnostic, ExportVariablesDiagnostic, ExternalAppStartingDiagnostic, ExtraCommasDiagnostic, FieldsFromJoinsWithoutIsNullDiagnostic, FileSystemAccessDiagnostic, ForbiddenMetadataNameDiagnostic, FormDataToValueDiagnostic, FullOuterJoinQueryDiagnostic, FunctionNameStartsWithGetDiagnostic, FunctionOutParameterDiagnostic, FunctionReturnsSamePrimitiveDiagnostic, FunctionShouldHaveReturnDiagnostic, GetFormMethodDiagnostic, GlobalContextMethodCollision8312Diagnostic, IdenticalExpressionsDiagnostic, IfConditionComplexityDiagnostic, IfElseDuplicatedCodeBlockDiagnostic, IfElseDuplicatedConditionDiagnostic, IfElseIfEndsWithElseDiagnostic, IncorrectLineBreakDiagnostic, IncorrectUseLikeInQueryDiagnostic, IncorrectUseOfStrTemplateDiagnostic, InternetAccessDiagnostic, InvalidCharacterInFileDiagnostic, IsInRoleMethodDiagnostic, JoinWithSubQueryDiagnostic, JoinWithVirtualTableDiagnostic, LatinAndCyrillicSymbolInWordDiagnostic, LineLengthDiagnostic, LogicalOrInJoinQuerySectionDiagnostic, LogicalOrInTheWhereSectionOfQueryDiagnostic, MagicDateDiagnostic, MagicNumberDiagnostic, MetadataObjectNameLengthDiagnostic, MethodSizeDiagnostic, MissedRequiredParameterDiagnostic, MissingCodeTryCatchExDiagnostic, MissingCommonModuleMethodDiagnostic, MissingEventSubscriptionHandlerDiagnostic, MissingParameterDescriptionDiagnostic, MissingReturnedValueDescriptionDiagnostic, MissingSpaceDiagnostic, MissingTemporaryFileDeletionDiagnostic, MissingTempStorageDeletionDiagnostic, MissingVariablesDescriptionDiagnostic, MultilineStringInQueryDiagnostic, MultilingualStringHasAllDeclaredLanguagesDiagnostic, MultilingualStringUsingWithTemplateDiagnostic, NestedConstructorsInStructureDeclarationDiagnostic, NestedFunctionInParametersDiagnostic, NestedStatementsDiagnostic, NestedTernaryOperatorDiagnostic, NonExportMethodsInApiRegionDiagnostic, NonStandardRegionDiagnostic, NumberOfOptionalParamsDiagnostic, NumberOfParamsDiagnostic, NumberOfValuesInStructureConstructorDiagnostic, OneStatementPerLineDiagnostic, OrderOfParamsDiagnostic, OrdinaryAppSupportDiagnostic, OSUsersMethodDiagnostic, PairingBrokenTransactionDiagnostic, ParseErrorDiagnostic, PrivilegedModuleMethodCallDiagnostic, ProcedureReturnsValueDiagnostic, ProtectedModuleDiagnostic, PublicMethodsDescriptionDiagnostic, QueryNestedFieldsByDotDiagnostic, QueryParseErrorDiagnostic, QueryToMissingMetadataDiagnostic, RedundantAccessToObjectDiagnostic, RefOveruseDiagnostic, ReservedParameterNamesDiagnostic, RewriteMethodParameterDiagnostic, SameMetadataObjectAndChildNamesDiagnostic, ScheduledJobHandlerDiagnostic, SelectTopWithoutOrderByDiagnostic, SelfAssignDiagnostic, SelfInsertionDiagnostic, SemicolonPresenceDiagnostic, ServerCallsInFormEventsDiagnostic, ServerSideExportFormMethodDiagnostic, SetPermissionsForNewObjectsDiagnostic, SetPrivilegedModeDiagnostic, SeveralCompilerDirectivesDiagnostic, SpaceAtStartCommentDiagnostic, StyleElementConstructorsDiagnostic, TempFilesDirDiagnostic, TernaryOperatorUsageDiagnostic, ThisObjectAssignDiagnostic, TimeoutsInExternalResourcesDiagnostic, TooManyReturnsDiagnostic, TransferringParametersBetweenClientAndServerDiagnostic, TryNumberDiagnostic, TypoDiagnostic, UnaryPlusInConcatenationDiagnostic, UnavailableMemberCallDiagnostic, UnionAllDiagnostic, UnknownMemberDiagnostic, UnknownPreprocessorSymbolDiagnostic, UnreachableCodeDiagnostic, UnsafeFindByCodeDiagnostic, UnsafeSafeModeMethodCallDiagnostic, UnusedLocalMethodDiagnostic, UnusedLocalVariableDiagnostic, UnusedParametersDiagnostic, UsageWriteLogEventDiagnostic, UseLessForEachDiagnostic, UselessTernaryOperatorDiagnostic, UseSystemInformationDiagnostic, UsingCancelParameterDiagnostic, UsingExternalCodeToolsDiagnostic, UsingFindElementByStringDiagnostic, UsingGotoDiagnostic, UsingHardcodeNetworkAddressDiagnostic, UsingHardcodePathDiagnostic, UsingHardcodeSecretInformationDiagnostic, UsingLikeInQueryDiagnostic, UsingModalWindowsDiagnostic, UsingObjectNotAvailableUnixDiagnostic, UsingServiceTagDiagnostic, UsingSynchronousCallsDiagnostic, UsingThisFormDiagnostic, VirtualTableCallWithoutParametersDiagnostic, WrongDataPathForFormElementsDiagnostic, WrongHttpServiceHandlerDiagnostic, WrongUseFunctionProceedWithCallDiagnostic, WrongUseOfRollbackTransactionMethodDiagnostic, WrongWebServiceHandlerDiagnostic, YoLetterUsageDiagnostic

public interface BSLDiagnostic
BSLDiagnostic main purpose is to provide collection of LSP Diagnostic, fired on concrete DocumentContext.

Each BSLDiagnostic implementation MUST contain constructor with exactly one parameter DiagnosticInfo. Passed DiagnosticInfo MUST be stored as a object field and returned by getInfo().

getDiagnostics(DocumentContext) method SHOULD use DiagnosticStorage to add and return diagnostics.

  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    configure(Map<String,Object> configuration)
    Настроить параметры диагностики.
    Выполнить диагностику документа.
    Получить метаинформацию о диагностике.
    void
    Установить метаинформацию о диагностике.
  • Method Details

    • getDiagnostics

      List<Diagnostic> getDiagnostics(DocumentContext documentContext)
      Выполнить диагностику документа.
      Parameters:
      documentContext - Контекст документа, для которого выполняется диагностика
      Returns:
      Список найденных замечаний
    • setInfo

      void setInfo(DiagnosticInfo info)
      Установить метаинформацию о диагностике.
      Parameters:
      info - Метаинформация о диагностике
    • getInfo

      DiagnosticInfo getInfo()
      Получить метаинформацию о диагностике.
      Returns:
      Метаинформация о диагностике
    • configure

      default void configure(Map<String,Object> configuration)
      Настроить параметры диагностики.
      Parameters:
      configuration - Карта параметров конфигурации