Class AbstractExpressionTreeDiagnostic

java.lang.Object
com.github._1c_syntax.bsl.languageserver.utils.expressiontree.ExpressionTreeVisitor
com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractExpressionTreeDiagnostic
All Implemented Interfaces:
BSLDiagnostic
Direct Known Subclasses:
DoubleNegativesDiagnostic, IdenticalExpressionsDiagnostic

public abstract class AbstractExpressionTreeDiagnostic extends ExpressionTreeVisitor implements BSLDiagnostic
Диагностика, анализирующая выражения BSL и предоставляющая для этого Expression Tree
  • Field Details

  • Constructor Details

    • AbstractExpressionTreeDiagnostic

      public AbstractExpressionTreeDiagnostic()
  • Method Details

    • getDiagnostics

      public final List<Diagnostic> getDiagnostics(DocumentContext documentContext)
      Specified by:
      getDiagnostics in interface BSLDiagnostic
    • onExpressionEnter

      При входе в выражение вызывается данный метод. Переопределяя его можно оценить - имеет ли смысл строить дерево выражения, или данное выражение не подходит. Позволяет сократить время на построение дерева, если это не требуется для данного AST.
      Parameters:
      ctx - - выражение, которое в данный момент посещается.
      Returns:
      - флаг дальнейшего поведения. - если надо прекратить обход в глубину и построить Expression Tree на данном выражении - надо вернуть ACCEPT - если надо пройти дальше и посетить дочерние выражения, не затрагивая данное - надо вернуть VISIT_CHILDREN - если надо пропустить выражение, не ходить глубже и не строить Expression Tree - надо вернуть SKIP
    • getInfo

      public DiagnosticInfo getInfo()
      Specified by:
      getInfo in interface BSLDiagnostic
    • setInfo

      public void setInfo(DiagnosticInfo info)
      Specified by:
      setInfo in interface BSLDiagnostic