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 booleancheckGlobalMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext ctx)Проверка контекста глобального методаprotected booleancheckMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext ctx)Проверка контекста обычного методаprotected StringgetMessage(com.github._1c_syntax.bsl.parser.BSLParserRuleContext ctx)Получает сообщение диагностики для пользователяvoidsetMethodPattern(Pattern methodPattern)org.antlr.v4.runtime.tree.ParseTreevisitGlobalMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.GlobalMethodCallContext ctx)Обработчик узла глобального метода.org.antlr.v4.runtime.tree.ParseTreevisitMethodCall(com.github._1c_syntax.bsl.parser.BSLParser.MethodCallContext ctx)Обработчик узла обычного метода.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, 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, 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
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:
visitGlobalMethodCallin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitGlobalMethodCallin 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:
visitMethodCallin interfacecom.github._1c_syntax.bsl.parser.BSLParserVisitor<org.antlr.v4.runtime.tree.ParseTree>- Overrides:
visitMethodCallin classcom.github._1c_syntax.bsl.parser.BSLParserBaseVisitor<org.antlr.v4.runtime.tree.ParseTree>- Parameters:
ctx- контекст метода- Returns:
- результат посещения ноды по умолчанию.
-
getMethodPattern
-
setMethodPattern
-