public class JavaExpressionParseUtil extends Object
Modifier and Type | Class and Description |
---|---|
static class |
JavaExpressionParseUtil.JavaExpressionParseException
An exception that indicates a parse error.
|
Modifier and Type | Field and Description |
---|---|
protected static Pattern |
ANCHORED_PARAMETER_PATTERN
Anchored pattern for a formal parameter use; matches a string that is exactly a formal
parameter use.
|
protected static String |
PARAMETER_REGEX
Regular expression for a formal parameter use.
|
protected static Pattern |
UNANCHORED_PARAMETER_PATTERN
Unanchored pattern for a formal parameter use; can be used to find all formal parameter uses.
|
Constructor and Description |
---|
JavaExpressionParseUtil() |
Modifier and Type | Method and Description |
---|---|
static int |
parameterIndex(String s)
If
s is exactly a formal parameter, return its 1-based index. |
static JavaExpression |
parse(String expression,
TypeMirror enclosingType,
@Nullable ThisReference thisReference,
@Nullable List<FormalParameter> parameters,
@Nullable TreePath localVarPath,
TreePath pathToCompilationUnit,
ProcessingEnvironment env)
Parses a string to a
JavaExpression . |
protected static final String PARAMETER_REGEX
protected static final Pattern ANCHORED_PARAMETER_PATTERN
protected static final Pattern UNANCHORED_PARAMETER_PATTERN
public static JavaExpression parse(String expression, TypeMirror enclosingType, @Nullable ThisReference thisReference, @Nullable List<FormalParameter> parameters, @Nullable TreePath localVarPath, TreePath pathToCompilationUnit, ProcessingEnvironment env) throws JavaExpressionParseUtil.JavaExpressionParseException
JavaExpression
.
For most uses, clients should call one of the static methods in StringToJavaExpression
rather than calling this method directly.
expression
- the string expression to parseenclosingType
- type of the class that encloses the JavaExpressionthisReference
- the JavaExpression to which to parse "this", or null if "this" should not
appear in the expressionparameters
- list of JavaExpressions to which to parse formal parameter references such as
"#2", or null if formal parameter references should not appear in the expressionlocalVarPath
- if non-null, the expression is parsed as if it were written at this
location; affects only parsing of local variablespathToCompilationUnit
- required to use the underlying Javac APIenv
- the processing environmentexpression
as a JavaExpression
JavaExpressionParseUtil.JavaExpressionParseException
- if the string cannot be parsedpublic static int parameterIndex(String s)
s
is exactly a formal parameter, return its 1-based index. Returns -1 otherwise.s
- a Java expressions
represents, or -1