diff options
Diffstat (limited to 'qpid/java/client/src/main/grammar')
| -rw-r--r-- | qpid/java/client/src/main/grammar/SelectorParser.jj | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/qpid/java/client/src/main/grammar/SelectorParser.jj b/qpid/java/client/src/main/grammar/SelectorParser.jj index 2dca11748e..a72da526ae 100644 --- a/qpid/java/client/src/main/grammar/SelectorParser.jj +++ b/qpid/java/client/src/main/grammar/SelectorParser.jj @@ -170,6 +170,8 @@ TOKEN [IGNORE_CASE] : TOKEN [IGNORE_CASE] :
{
< ID : ["a"-"z", "_", "$"] (["a"-"z","0"-"9","_", "$"])* >
+ | < QUOTED_ID : "\"" ( ("\"\"") | ~["\""] )* "\"" >
+
}
// ----------------------------------------------------------------------------
@@ -577,6 +579,7 @@ String stringLitteral() : PropertyExpression variable() :
{
Token t;
+ StringBuffer rc = new StringBuffer();
PropertyExpression left=null;
}
{
@@ -585,6 +588,20 @@ PropertyExpression variable() : {
left = new PropertyExpression(t.image);
}
+ |
+ t = <QUOTED_ID>
+ {
+ // Decode the sting value.
+ String image = t.image;
+ for( int i=1; i < image.length()-1; i++ ) {
+ char c = image.charAt(i);
+ if( c == '"' )
+ i++;
+ rc.append(c);
+ }
+ return new PropertyExpression(rc.toString());
+ }
+
)
{
return left;
|
