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Получает сообщение диагностики для пользователяvoidsetMethodPattern(Pattern methodPattern) Обработчик узла глобального метода.Обработчик узла обычного метода.Methods inherited from class com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractVisitorDiagnostic
getDiagnostics, getInfo, setInfoMethods 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, visitWhileStatementMethods inherited from class org.antlr.v4.runtime.tree.AbstractParseTreeVisitor
aggregateResult, defaultResult, shouldVisitNextChild, visit, visitChildren, 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
configureMethods 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:
visitGlobalMethodCallin interfaceBSLParserVisitor<ParseTree>- Overrides:
visitGlobalMethodCallin classBSLParserBaseVisitor<ParseTree>- Parameters:
ctx- контекст глобального метода- Returns:
- результат посещения ноды по умолчанию.
-
visitMethodCall
Обработчик узла обычного метода. Добавляет информацию о сработавшей диагностике в случае если проверка методаcheckMethodCall(BSLParser.MethodCallContext)возвращаетtrue- Specified by:
visitMethodCallin interfaceBSLParserVisitor<ParseTree>- Overrides:
visitMethodCallin classBSLParserBaseVisitor<ParseTree>- Parameters:
ctx- контекст метода- Returns:
- результат посещения ноды по умолчанию.
-
getMethodPattern
-
setMethodPattern
-