public class RegexVisitor extends org.checkerframework.common.basetype.BaseTypeVisitor<RegexAnnotatedTypeFactory>
This visitor does the following:
MatchResult.start, MatchResult.end and MatchResult.group to ensure that a valid group number is passed.
RegexChecker| Constructor and Description |
|---|
RegexVisitor(org.checkerframework.common.basetype.BaseTypeChecker checker) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
isValidUse(org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedDeclaredType declarationType,
org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedDeclaredType useType,
Tree tree)
Case 2: Check String compound concatenation for valid Regex use.
|
boolean |
isValidUse(org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedPrimitiveType type,
Tree tree) |
Void |
visitMethodInvocation(MethodInvocationTree node,
Void p)
Case 1: Don't require a Regex annotation on the String argument to Pattern.compile if the
Pattern.LITERAL flag is passed.
|
checkAccess, checkArguments, checkArrayInitialization, checkAssignability, checkConditionalPostcondition, checkConstructorInvocation, checkContract, checkDefaultConstructor, checkExceptionParameter, checkFieldInvariantDeclarations, checkForAnnotatedJdk, checkMethodInvocability, checkMethodReferenceAsOverride, checkOverride, checkOverride, checkPostcondition, checkPreconditions, checkThrownExpression, checkTypeArguments, checkTypecastRedundancy, checkTypecastSafety, checkVarargs, commonAssignmentCheck, commonAssignmentCheck, commonAssignmentCheck, createOverrideChecker, createTypeFactory, createTypeValidator, enclosingMemberSelect, enclosingStatement, getExceptionParameterLowerBoundAnnotations, getThrowUpperBoundAnnotations, getTypeFactory, isAccessAllowed, isAssignable, isValidUse, isVectorCopyInto, processClassTree, reportPurityErrors, scan, setRoot, shouldSkipUses, skipReceiverSubtypeCheck, testTypevarContainment, typeCheckVectorCopyIntoArgument, validateType, validateTypeOf, visitAnnotation, visitArrayAccess, visitAssignment, visitCatch, visitClass, visitCompilationUnit, visitCompoundAssignment, visitConditionalExpression, visitEnhancedForLoop, visitIdentifier, visitInstanceOf, visitLambdaExpression, visitMemberReference, visitMethod, visitNewArray, visitNewClass, visitParameterizedType, visitReturn, visitThrow, visitTypeCast, visitTypeParameter, visitUnary, visitVariablegetCurrentPath, scanreduce, scan, visitAnnotatedType, visitArrayType, visitAssert, visitBinary, visitBlock, visitBreak, visitCase, visitContinue, visitDoWhileLoop, visitEmptyStatement, visitErroneous, visitExpressionStatement, visitForLoop, visitIf, visitImport, visitIntersectionType, visitLabeledStatement, visitLiteral, visitMemberSelect, visitModifiers, visitOther, visitParenthesized, visitPrimitiveType, visitSwitch, visitSynchronized, visitTry, visitUnionType, visitWhileLoop, visitWildcardpublic RegexVisitor(org.checkerframework.common.basetype.BaseTypeChecker checker)
public Void visitMethodInvocation(MethodInvocationTree node, Void p)
visitMethodInvocation in interface TreeVisitor<Void,Void>visitMethodInvocation in class org.checkerframework.common.basetype.BaseTypeVisitor<RegexAnnotatedTypeFactory>public boolean isValidUse(org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedDeclaredType declarationType,
org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedDeclaredType useType,
Tree tree)
isValidUse in class org.checkerframework.common.basetype.BaseTypeVisitor<RegexAnnotatedTypeFactory>public boolean isValidUse(org.checkerframework.framework.type.AnnotatedTypeMirror.AnnotatedPrimitiveType type,
Tree tree)
isValidUse in class org.checkerframework.common.basetype.BaseTypeVisitor<RegexAnnotatedTypeFactory>