Class ServerCallsInFormEventsDiagnostic
java.lang.Object
com.github._1c_syntax.bsl.parser.BSLParserBaseListener
com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractListenerDiagnostic
com.github._1c_syntax.bsl.languageserver.diagnostics.ServerCallsInFormEventsDiagnostic
- All Implemented Interfaces:
BSLDiagnostic,BSLParserListener,ParseTreeListener
@DiagnosticMetadata(type=ERROR,
severity=CRITICAL,
scope=BSL,
modules=FormModule,
minutesToFix=15,
tags=DESIGN)
public class ServerCallsInFormEventsDiagnostic
extends AbstractListenerDiagnostic
Диагностика для проверки вызовов серверных процедур в событиях форм.
Проверяет, что в событиях ПриАктивизацииСтроки и НачалоВыбора не вызываются
серверные процедуры, что может привести к проблемам в работе формы.
- See Also:
-
Field Summary
Fields inherited from class com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractListenerDiagnostic
diagnosticStorage, documentContext, info -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidОбрабатывает вход в вызов глобального метода.voidОбрабатывает вход в процедуру или функцию.voidОбрабатывает выход из процедуры или функции.Methods inherited from class com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractListenerDiagnostic
getDiagnostics, getInfo, setInfoMethods inherited from class com.github._1c_syntax.bsl.parser.BSLParserBaseListener
enterAcceptor, enterAccessCall, enterAccessIndex, enterAccessProperty, enterAddHandlerStatement, enterAnnotation, enterAnnotationName, enterAnnotationParam, enterAnnotationParamName, enterAnnotationParams, enterAssignment, enterBoolOperation, enterBreakStatement, enterCallParam, enterCallParamList, enterCallStatement, enterCodeBlock, enterCompareOperation, enterCompilerDirective, enterCompilerDirectiveSymbol, enterComplexIdentifier, enterCompoundStatement, enterConstValue, enterContinueStatement, enterDefaultValue, enterDoCall, enterElseBranch, enterElsifBranch, enterEvent, enterEveryRule, enterExceptCodeBlock, enterExecuteStatement, enterExpression, enterFile, enterFileCodeBlock, enterFileCodeBlockBeforeSub, enterForEachStatement, enterForStatement, enterFuncDeclaration, enterFunction, enterGotoStatement, enterHandler, enterIfBranch, enterIfStatement, enterLabel, enterLabelName, enterLValue, enterMember, enterMethodCall, enterMethodName, enterModifier, enterModuleAnnotations, enterModuleVar, enterModuleVarDeclaration, enterModuleVars, enterModuleVarsList, enterMultilineString, enterNewExpression, enterNumeric, enterOperation, enterParam, enterParamList, enterPreproc_boolOperation, enterPreproc_else, enterPreproc_elsif, enterPreproc_endif, enterPreproc_expression, enterPreproc_if, enterPreproc_logicalExpression, enterPreproc_logicalOperand, enterPreproc_native, enterPreproc_symbol, enterPreproc_unknownSymbol, enterPreprocessor, enterProcDeclaration, enterProcedure, enterRaiseStatement, enterRegionEnd, enterRegionName, enterRegionStart, enterRemoveHandlerStatement, enterReturnStatement, enterShebang, enterStatement, enterString, enterSubCodeBlock, enterSubName, enterSubs, enterSubVar, enterSubVarDeclaration, enterSubVars, enterSubVarsList, enterTernaryOperator, enterTryCodeBlock, enterTryStatement, enterTypeName, enterUnaryModifier, enterUse, enterUsedLib, enterVar_name, enterWaitExpression, enterWaitStatement, enterWhileStatement, exitAcceptor, exitAccessCall, exitAccessIndex, exitAccessProperty, exitAddHandlerStatement, exitAnnotation, exitAnnotationName, exitAnnotationParam, exitAnnotationParamName, exitAnnotationParams, exitAssignment, exitBoolOperation, exitBreakStatement, exitCallParam, exitCallParamList, exitCallStatement, exitCodeBlock, exitCompareOperation, exitCompilerDirective, exitCompilerDirectiveSymbol, exitComplexIdentifier, exitCompoundStatement, exitConstValue, exitContinueStatement, exitDefaultValue, exitDoCall, exitElseBranch, exitElsifBranch, exitEvent, exitEveryRule, exitExceptCodeBlock, exitExecuteStatement, exitExpression, exitFile, exitFileCodeBlock, exitFileCodeBlockBeforeSub, exitForEachStatement, exitForStatement, exitFuncDeclaration, exitFunction, exitGlobalMethodCall, exitGotoStatement, exitHandler, exitIfBranch, exitIfStatement, exitLabel, exitLabelName, exitLValue, exitMember, exitMethodCall, exitMethodName, exitModifier, exitModuleAnnotations, exitModuleVar, exitModuleVarDeclaration, exitModuleVars, exitModuleVarsList, exitMultilineString, exitNewExpression, exitNumeric, exitOperation, exitParam, exitParamList, exitPreproc_boolOperation, exitPreproc_else, exitPreproc_elsif, exitPreproc_endif, exitPreproc_expression, exitPreproc_if, exitPreproc_logicalExpression, exitPreproc_logicalOperand, exitPreproc_native, exitPreproc_symbol, exitPreproc_unknownSymbol, exitPreprocessor, exitProcDeclaration, exitProcedure, exitRaiseStatement, exitRegionEnd, exitRegionName, exitRegionStart, exitRemoveHandlerStatement, exitReturnStatement, exitShebang, exitStatement, exitString, exitSubCodeBlock, exitSubName, exitSubs, exitSubVar, exitSubVarDeclaration, exitSubVars, exitSubVarsList, exitTernaryOperator, exitTryCodeBlock, exitTryStatement, exitTypeName, exitUnaryModifier, exitUse, exitUsedLib, exitVar_name, exitWaitExpression, exitWaitStatement, exitWhileStatement, visitErrorNode, visitTerminalMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.github._1c_syntax.bsl.languageserver.diagnostics.BSLDiagnostic
configure
-
Constructor Details
-
ServerCallsInFormEventsDiagnostic
public ServerCallsInFormEventsDiagnostic()Конструктор по умолчанию.
-
-
Method Details
-
enterSub
Обрабатывает вход в процедуру или функцию. Проверяет, является ли процедура или функция событием ПриАктивизацииСтроки или НачалоВыбора, и устанавливает флаг для отслеживания контекста.- Specified by:
enterSubin interfaceBSLParserListener- Overrides:
enterSubin classBSLParserBaseListener- Parameters:
ctx- контекст процедуры или функции
-
exitSub
Обрабатывает выход из процедуры или функции. Автоматически сбрасывает флаг отслеживания контекста при выходе из любого узла процедуры. Это обеспечивает корректную работу диагностики даже при вложенных процедурах.- Specified by:
exitSubin interfaceBSLParserListener- Overrides:
exitSubin classBSLParserBaseListener- Parameters:
ctx- контекст процедуры или функции
-
enterGlobalMethodCall
Обрабатывает вход в вызов глобального метода. Проверяет, вызывается ли серверная процедура из событий ПриАктивизацииСтроки или НачалоВыбора, и добавляет диагностическое сообщение при обнаружении нарушения.- Specified by:
enterGlobalMethodCallin interfaceBSLParserListener- Overrides:
enterGlobalMethodCallin classBSLParserBaseListener- Parameters:
ctx- контекст вызова глобального метода
-