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 |
FLOAT_PATTERN
Matches (some) floating-point and double literals.
|
protected static Pattern |
IDENTIFIER_PATTERN
Matches an identifier.
|
protected static String |
IDENTIFIER_REGEX
Regular expression for an identifier.
|
protected static Pattern |
INT_PATTERN
Matches integer literals.
|
protected static Pattern |
LONG_PATTERN
Matches long literals.
|
protected static Pattern |
PARAMETER_PATTERN
Matches a parameter.
|
protected static String |
PARAMETER_REGEX
Regular expression for a formal parameter use.
|
protected static Pattern |
PARENTHESES_PATTERN
Matches an expression contained in matching start and end parentheses.
|
protected static Pattern |
STARTS_WITH_IDENTIFIER_PATTERN
Matches a string starting with an identifier.
|
protected static Pattern |
STARTS_WITH_STRING_PATTERN
Matches an expression that starts with a string.
|
protected static Pattern |
STRING_PATTERN
Matches string literals.
|
protected static String |
STRING_REGEX
Regular expression for a string literal.
|
protected static Pattern |
STRING_SELECT_PATTERN
Matches member select on a string, such as
"hello".length . |
protected static Pattern |
UNANCHORED_PARAMETER_PATTERN
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 IDENTIFIER_REGEX
protected static final String PARAMETER_REGEX
protected static final String STRING_REGEX
protected static final Pattern UNANCHORED_PARAMETER_PATTERN
protected static final Pattern PARAMETER_PATTERN
protected static final Pattern IDENTIFIER_PATTERN
protected static final Pattern STARTS_WITH_IDENTIFIER_PATTERN
protected static final Pattern INT_PATTERN
protected static final Pattern LONG_PATTERN
protected static final Pattern FLOAT_PATTERN
protected static final Pattern STRING_PATTERN
protected static final Pattern PARENTHESES_PATTERN
protected static final Pattern STARTS_WITH_STRING_PATTERN
protected static final Pattern STRING_SELECT_PATTERN
"hello".length
.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