Class AbstractFindMethodDiagnostic
java.lang.Object
org.antlr.v4.runtime.tree.AbstractParseTreeVisitor<Result>
com.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractVisitorDiagnostic
com.github._1c_syntax.bsl.languageserver.diagnostics.AbstractFindMethodDiagnostic
- All Implemented Interfaces:
BSLDiagnostic
,com.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
,org.antlr.v4.runtime.tree.ParseTreeVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Direct Known Subclasses:
DeprecatedCurrentDateDiagnostic
,DeprecatedFindDiagnostic
,DeprecatedMessageDiagnostic
,DeprecatedMethods8317Diagnostic
,FormDataToValueDiagnostic
,GetFormMethodDiagnostic
,IncorrectUseOfStrTemplateDiagnostic
,OSUsersMethodDiagnostic
,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
checkGlobalMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext ctx)
Проверка контекста глобального методаprotected boolean
checkMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext ctx)
Проверка контекста обычного методаprotected String
getMessage(com.github._1c_syntax.bsl.parser.BSLParserRuleContext ctx)
Получает сообщение диагностики для пользователяvoid
setMethodPattern(Pattern methodPattern)
org.antlr.v4.runtime.tree.ParseTree
visitGlobalMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext ctx)
Обработчик узла глобального метода.org.antlr.v4.runtime.tree.ParseTree
visitMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext ctx)
Обработчик узла обычного метода.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, 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_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, 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
protected boolean checkGlobalMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext ctx)Проверка контекста глобального метода- Parameters:
ctx
- контекст глобального метода- Returns:
true
если имя метода соответствует регулярному выражению
-
checkMethodCall
protected boolean checkMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext ctx)Проверка контекста обычного метода- Parameters:
ctx
- контекст метода- Returns:
true
если имя метода соответствует регулярному выражению
-
getMessage
Получает сообщение диагностики для пользователя- Parameters:
ctx
- контекст узла- Returns:
- В случае если передан контекст метода, параметризованное сообщение, первым параметром которого всегда будет имя метода. В противном случае возвращается обычное сообщение без параметров.
-
visitGlobalMethodCall
public org.antlr.v4.runtime.tree.ParseTree visitGlobalMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext ctx)Обработчик узла глобального метода. Добавляет информацию о сработавшей диагностике в случае если проверка методаcheckGlobalMethodCall(BSLParser.GlobalMethodCallContext)
возвращаетtrue
- Specified by:
visitGlobalMethodCall
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitGlobalMethodCall
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Parameters:
ctx
- контекст глобального метода- Returns:
- результат посещения ноды по умолчанию.
-
visitMethodCall
public org.antlr.v4.runtime.tree.ParseTree visitMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext ctx)Обработчик узла обычного метода. Добавляет информацию о сработавшей диагностике в случае если проверка методаcheckMethodCall(BSLParser.MethodCallContext)
возвращаетtrue
- Specified by:
visitMethodCall
in interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Overrides:
visitMethodCall
in classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>
- Parameters:
ctx
- контекст метода- Returns:
- результат посещения ноды по умолчанию.
-
getMethodPattern
-
setMethodPattern
-