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
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static enum
Стратегия по построению дерева выражения на основе выражения AST -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final DiagnosticStorage
protected DocumentContext
protected DiagnosticInfo
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal List<Diagnostic>
getDiagnostics
(DocumentContext documentContext) getInfo()
При входе в выражение вызывается данный метод.void
setInfo
(DiagnosticInfo info) Methods inherited from class com.github._1c_syntax.bsl.languageserver.utils.expressiontree.ExpressionTreeVisitor
visitAbstractCall, visitBinaryOperation, visitTernaryOperator, visitTopLevelExpression, visitUnaryOperation
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic
configure
-
Field Details
-
info
-
diagnosticStorage
-
documentContext
-
-
Constructor Details
-
AbstractExpressionTreeDiagnostic
public AbstractExpressionTreeDiagnostic()
-
-
Method Details
-
getDiagnostics
- Specified by:
getDiagnostics
in interfaceBSLDiagnostic
-
onExpressionEnter
protected AbstractExpressionTreeDiagnostic.ExpressionVisitorDecision onExpressionEnter(BSLParser.ExpressionContext ctx) При входе в выражение вызывается данный метод. Переопределяя его можно оценить - имеет ли смысл строить дерево выражения, или данное выражение не подходит. Позволяет сократить время на построение дерева, если это не требуется для данного AST.- Parameters:
ctx
- - выражение, которое в данный момент посещается.- Returns:
- - флаг дальнейшего поведения. - если надо прекратить обход в глубину и построить Expression Tree на данном выражении - надо вернуть ACCEPT - если надо пройти дальше и посетить дочерние выражения, не затрагивая данное - надо вернуть VISIT_CHILDREN - если надо пропустить выражение, не ходить глубже и не строить Expression Tree - надо вернуть SKIP
-
getInfo
- Specified by:
getInfo
in interfaceBSLDiagnostic
-
setInfo
- Specified by:
setInfo
in interfaceBSLDiagnostic
-