Class AbstractFindMethodDiagnostic
java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<Result>
com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<ParseTree>
com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractVisitorDiagnostic
com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractFindMethodDiagnostic
- All Implemented Interfaces:
BSLDiagnostic
,BSLParserVisitor<ParseTree>
,ParseTreeVisitor<ParseTree>
- Direct Known Subclasses:
DeprecatedCurrentDateDiagnostic
,DeprecatedFindDiagnostic
,DeprecatedMessageDiagnostic
,DeprecatedMethods8317Diagnostic
,DisableSafeModeDiagnostic
,ExternalAppStartingDiagnostic
,FileSystemAccessDiagnostic
,FormDataToValueDiagnostic
,GetFormMethodDiagnostic
,IncorrectUseOfStrTemplateDiagnostic
,MissingTempStorageDeletionDiagnostic
,OSUsersMethodDiagnostic
,SetPrivilegedModeDiagnostic
,TempFilesDirDiagnostic
,UnsafeSafeModeMethodCallDiagnostic
,WrongUseFunctionProceedWithCallDiagnostic
,WrongUseOfRollbackTransactionMethodDiagnostic
Абстрактная диагностика, предназначенная для поиска вызова обычных методов и методов глобального контекста
с использованием регулярного выражения.
AbstractFindMethodDiagnostic
предоставляет для переопределения два метода проверки вызовов и один
метод генерации сообщения пользователю.
По умолчанию проверяется, что имя вызываемого метода соответствует переданному в конструкторе регулярному выражению.
Важно: наследование данной диагностики без переопределения getMessage
подразумевает, что первым
параметром сообщения пользователю всегда будет имя найденного метода.-
Field Summary
Fields inherited from class com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractVisitorDiagnostic
diagnosticStorage, documentContext, info
-
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
Проверка контекста глобального методаprotected boolean
Проверка контекста обычного методаprotected String
Получает сообщение диагностики для пользователяvoid
setMethodPattern
(Pattern methodPattern) Обработчик узла глобального метода.Обработчик узла обычного метода.Methods inherited from class com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractVisitorDiagnostic
getDiagnostics, getInfo, setInfo
Methods inherited from class com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor
visitAcceptor, visitAccessCall, visitAccessIndex, visitAccessProperty, visitAddHandlerStatement, visitAnnotation, visitAnnotationName, visitAnnotationParam, visitAnnotationParamName, visitAnnotationParams, visitAssignment, visitBoolOperation, visitBreakStatement, visitCallParam, visitCallParamList, visitCallStatement, visitCodeBlock, visitCompareOperation, visitCompilerDirective, visitCompilerDirectiveSymbol, visitComplexIdentifier, visitCompoundStatement, visitConstValue, visitContinueStatement, visitDefaultValue, visitDoCall, visitElseBranch, visitElsifBranch, visitEvent, visitExceptCodeBlock, visitExecuteStatement, visitExpression, visitFile, visitFileCodeBlock, visitFileCodeBlockBeforeSub, visitForEachStatement, visitForStatement, visitFuncDeclaration, visitFunction, visitGotoStatement, visitHandler, visitIfBranch, visitIfStatement, visitLabel, visitLabelName, visitLValue, visitMember, visitMethodName, visitModifier, visitModuleAnnotations, visitModuleVar, visitModuleVarDeclaration, visitModuleVars, visitModuleVarsList, visitMultilineString, visitNewExpression, visitNumeric, visitOperation, visitParam, visitParamList, visitPreproc_boolOperation, visitPreproc_else, visitPreproc_elsif, visitPreproc_endif, visitPreproc_expression, visitPreproc_if, visitPreproc_logicalExpression, visitPreproc_logicalOperand, visitPreproc_native, visitPreproc_symbol, visitPreproc_unknownSymbol, visitPreprocessor, visitProcDeclaration, visitProcedure, visitRaiseStatement, visitRegionEnd, visitRegionName, visitRegionStart, visitRemoveHandlerStatement, visitReturnStatement, visitShebang, visitStatement, visitString, visitSub, visitSubCodeBlock, visitSubName, visitSubs, visitSubVar, visitSubVarDeclaration, visitSubVars, visitSubVarsList, visitTernaryOperator, visitTryCodeBlock, visitTryStatement, visitTypeName, visitUnaryModifier, visitUse, visitUsedLib, visitVar_name, visitWaitExpression, visitWaitStatement, visitWhileStatement
Methods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, visitErrorNode, visitTerminal
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
Methods inherited from interface org.antlr.v4.runtime.tree.ParseTreeVisitor
visit, visitChildren, visitErrorNode, visitTerminal
-
Method Details
-
checkGlobalMethodCall
Проверка контекста глобального метода- Parameters:
ctx
- контекст глобального метода- Returns:
true
если имя метода соответствует регулярному выражению
-
checkMethodCall
Проверка контекста обычного метода- Parameters:
ctx
- контекст метода- Returns:
true
если имя метода соответствует регулярному выражению
-
getMessage
Получает сообщение диагностики для пользователя- Parameters:
ctx
- контекст узла- Returns:
- В случае если передан контекст метода, параметризованное сообщение, первым параметром которого всегда будет имя метода. В противном случае возвращается обычное сообщение без параметров.
-
visitGlobalMethodCall
Обработчик узла глобального метода. Добавляет информацию о сработавшей диагностике в случае если проверка методаcheckGlobalMethodCall(BSLParser.GlobalMethodCallContext)
возвращаетtrue
- Specified by:
visitGlobalMethodCall
in interfaceBSLParserVisitor<ParseTree>
- Overrides:
visitGlobalMethodCall
in classBSLParserBaseVisitor<ParseTree>
- Parameters:
ctx
- контекст глобального метода- Returns:
- результат посещения ноды по умолчанию.
-
visitMethodCall
Обработчик узла обычного метода. Добавляет информацию о сработавшей диагностике в случае если проверка методаcheckMethodCall(BSLParser.MethodCallContext)
возвращаетtrue
- Specified by:
visitMethodCall
in interfaceBSLParserVisitor<ParseTree>
- Overrides:
visitMethodCall
in classBSLParserBaseVisitor<ParseTree>
- Parameters:
ctx
- контекст метода- Returns:
- результат посещения ноды по умолчанию.
-
getMethodPattern
-
setMethodPattern
-