public class FlowExpressionParseUtil extends Object
Modifier and Type | Class and Description |
---|---|
static class |
FlowExpressionParseUtil.FlowExpressionContext
Context used to parse a flow expression.
|
static class |
FlowExpressionParseUtil.FlowExpressionParseException
An exception that indicates a parse error.
|
Modifier and Type | Field and Description |
---|---|
protected static Pattern |
arrayPattern
Matches an array access.
|
protected static Pattern |
identifierPattern
Matches an identifier
|
protected static String |
identifierRegex
Regular expression for an identifier.
|
protected static Pattern |
intPattern
Matches integer literals
|
protected static Pattern |
longPattern
Matches long literals
|
protected static Pattern |
memberselect
Matches a field access.
|
protected static Pattern |
methodPattern
Matches a method call.
|
protected static Pattern |
nullPattern
Matches the null literal
|
protected static Pattern |
parameterPattern
Matches a parameter
|
protected static String |
parameterRegex
Regular expression for a formal parameter use.
|
protected static Pattern |
parenthesesPattern
Matches an expression contained in matching start and end parentheses
|
protected static Pattern |
stringPattern
Matches string literals
|
protected static Pattern |
superPattern
Matches 'super'
|
protected static Pattern |
thisPattern
Matches 'this', the self reference.
|
protected static Pattern |
unanchoredParameterPattern
Unanchored; can be used to find all formal parameter uses.
|
Constructor and Description |
---|
FlowExpressionParseUtil() |
Modifier and Type | Method and Description |
---|---|
static FlowExpressions.Receiver |
internalReprOfVariable(AnnotatedTypeFactory provider,
VariableTree tree) |
static List<Integer> |
parameterIndices(String s) |
static FlowExpressions.Receiver |
parse(String expression,
FlowExpressionParseUtil.FlowExpressionContext context,
TreePath localScope,
boolean useLocalScope)
Parse a string and return its representation as a
FlowExpressions.Receiver , or throw an FlowExpressionParseUtil.FlowExpressionParseException . |
protected static final String identifierRegex
protected static final String parameterRegex
protected static final Pattern unanchoredParameterPattern
protected static final Pattern parameterPattern
protected static final Pattern thisPattern
protected static final Pattern superPattern
protected static final Pattern identifierPattern
protected static final Pattern methodPattern
protected static final Pattern arrayPattern
protected static final Pattern memberselect
protected static final Pattern intPattern
protected static final Pattern longPattern
protected static final Pattern stringPattern
protected static final Pattern nullPattern
protected static final Pattern parenthesesPattern
public static FlowExpressions.Receiver parse(String expression, FlowExpressionParseUtil.FlowExpressionContext context, TreePath localScope, boolean useLocalScope) throws FlowExpressionParseUtil.FlowExpressionParseException
FlowExpressions.Receiver
, or throw an FlowExpressionParseUtil.FlowExpressionParseException
.expression
- flow expression to parsecontext
- information about any receiver and argumentslocalScope
- path to local scope to useuseLocalScope
- whether localScope
should be used to resolve identifiersFlowExpressionParseUtil.FlowExpressionParseException
public static List<Integer> parameterIndices(String s)
s
. Each
formal parameter occurs in s as a string like "#1" or "#4". This routine does not do
proper parsing; for instance, if "#2" appears within a string in s, then 2 would still be
in the result list.public static FlowExpressions.Receiver internalReprOfVariable(AnnotatedTypeFactory provider, VariableTree tree) throws FlowExpressionParseUtil.FlowExpressionParseException