calabash-android 0.4.0.pre6 → 0.4.0.pre7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. data/bin/calabash-android +7 -0
  2. data/bin/calabash-android-build.rb +1 -1
  3. data/bin/calabash-android-console.rb +1 -1
  4. data/bin/calabash-android-run.rb +1 -1
  5. data/calabash-android.gemspec +1 -0
  6. data/irbrc +2 -0
  7. data/lib/calabash-android/helpers.rb +4 -2
  8. data/lib/calabash-android/lib/TestServer.apk +0 -0
  9. data/lib/calabash-android/operations.rb +31 -22
  10. data/lib/calabash-android/version.rb +1 -1
  11. data/test-server/instrumentation-backend/.classpath +0 -1
  12. data/test-server/instrumentation-backend/antlr/UIQuery.g +11 -2
  13. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Command.java +4 -3
  14. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/FranklyResult.java +95 -0
  15. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/Result.java +7 -1
  16. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/HttpServer.java +15 -23
  17. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/location/FakeGPSLocation.java +13 -10
  18. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +136 -36
  19. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpBodyHtml.java +38 -18
  20. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/DumpHtml.java +38 -16
  21. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/EnterTextByCssSelector.java +94 -66
  22. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteAsyncJavascript.java +55 -33
  23. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteJavascript.java +54 -31
  24. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/JavaScriptOperation.java +44 -0
  25. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/PressByCssSelector.java +52 -27
  26. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/QueryHelper.java +39 -32
  27. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ScrollTo.java +56 -41
  28. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetPropertyByCssSelector.java +50 -25
  29. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/SetText.java +19 -22
  30. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/CompletedFuture.java +40 -0
  31. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/InvocationOperation.java +201 -0
  32. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Operation.java +7 -0
  33. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/PropertyOperation.java +56 -0
  34. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java +144 -72
  35. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens +15 -12
  36. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQueryResultVoid.java +22 -0
  37. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ViewMapper.java +38 -11
  38. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryLexer.java +226 -109
  39. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryParser.java +237 -84
  40. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/PartialFutureList.java +100 -0
  41. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryAST.java +1 -1
  42. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTClassName.java +26 -22
  43. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +170 -102
  44. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryEvaluator.java +54 -155
  45. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +97 -2
  46. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryVisibility.java +32 -0
  47. metadata +27 -5
  48. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Query.java +0 -24
  49. data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/Touch.java +0 -44
  50. data/test-server/instrumentation-backend/tests/sh/calaba/instrumentationbackend/query/tests/UIQueryTest.java +0 -134
@@ -1,4 +1,4 @@
1
- // $ANTLR 3.4 antlr/UIQuery.g 2012-12-27 13:48:21
1
+ // $ANTLR 3.4 antlr/UIQuery.g 2013-01-07 13:26:07
2
2
 
3
3
  package sh.calaba.instrumentationbackend.query.antlr;
4
4
 
@@ -14,22 +14,25 @@ import org.antlr.runtime.tree.*;
14
14
  @SuppressWarnings({"all", "warnings", "unchecked"})
15
15
  public class UIQueryParser extends Parser {
16
16
  public static final String[] tokenNames = new String[] {
17
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "BOOL", "ESC_SEQ", "FILTER_COLON", "HEX_DIGIT", "INT", "NAME", "NIL", "OCTAL_ESC", "QUALIFIED_NAME", "STRING", "UNICODE_ESC", "WHITE"
17
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ALL", "BOOL", "ESC_SEQ", "FILTER_COLON", "HEX_DIGIT", "INT", "NAME", "NIL", "OCTAL_ESC", "QUALIFIED_NAME", "STRING", "UNICODE_ESC", "VISIBLE", "WHITE", "WILDCARD"
18
18
  };
19
19
 
20
20
  public static final int EOF=-1;
21
- public static final int BOOL=4;
22
- public static final int ESC_SEQ=5;
23
- public static final int FILTER_COLON=6;
24
- public static final int HEX_DIGIT=7;
25
- public static final int INT=8;
26
- public static final int NAME=9;
27
- public static final int NIL=10;
28
- public static final int OCTAL_ESC=11;
29
- public static final int QUALIFIED_NAME=12;
30
- public static final int STRING=13;
31
- public static final int UNICODE_ESC=14;
32
- public static final int WHITE=15;
21
+ public static final int ALL=4;
22
+ public static final int BOOL=5;
23
+ public static final int ESC_SEQ=6;
24
+ public static final int FILTER_COLON=7;
25
+ public static final int HEX_DIGIT=8;
26
+ public static final int INT=9;
27
+ public static final int NAME=10;
28
+ public static final int NIL=11;
29
+ public static final int OCTAL_ESC=12;
30
+ public static final int QUALIFIED_NAME=13;
31
+ public static final int STRING=14;
32
+ public static final int UNICODE_ESC=15;
33
+ public static final int VISIBLE=16;
34
+ public static final int WHITE=17;
35
+ public static final int WILDCARD=18;
33
36
 
34
37
  // delegates
35
38
  public Parser[] getDelegates() {
@@ -177,7 +180,7 @@ public TreeAdaptor getTreeAdaptor() {
177
180
 
178
181
 
179
182
  // $ANTLR start "expr"
180
- // antlr/UIQuery.g:38:1: expr : ( className | filter ) ;
183
+ // antlr/UIQuery.g:38:1: expr : ( className | filter | visibility ) ;
181
184
  public final UIQueryParser.expr_return expr() throws RecognitionException {
182
185
  UIQueryParser.expr_return retval = new UIQueryParser.expr_return();
183
186
  retval.start = input.LT(1);
@@ -189,46 +192,59 @@ public TreeAdaptor getTreeAdaptor() {
189
192
 
190
193
  UIQueryParser.filter_return filter5 =null;
191
194
 
195
+ UIQueryParser.visibility_return visibility6 =null;
196
+
192
197
 
193
198
 
194
199
  try {
195
- // antlr/UIQuery.g:38:6: ( ( className | filter ) )
196
- // antlr/UIQuery.g:38:8: ( className | filter )
200
+ // antlr/UIQuery.g:38:6: ( ( className | filter | visibility ) )
201
+ // antlr/UIQuery.g:38:8: ( className | filter | visibility )
197
202
  {
198
203
  root_0 = (CommonTree)adaptor.nil();
199
204
 
200
205
 
201
- // antlr/UIQuery.g:38:8: ( className | filter )
202
- int alt2=2;
203
- int LA2_0 = input.LA(1);
204
-
205
- if ( (LA2_0==NAME) ) {
206
- int LA2_1 = input.LA(2);
206
+ // antlr/UIQuery.g:38:8: ( className | filter | visibility )
207
+ int alt2=3;
208
+ switch ( input.LA(1) ) {
209
+ case QUALIFIED_NAME:
210
+ case WILDCARD:
211
+ {
212
+ alt2=1;
213
+ }
214
+ break;
215
+ case NAME:
216
+ {
217
+ int LA2_2 = input.LA(2);
207
218
 
208
- if ( (LA2_1==FILTER_COLON) ) {
219
+ if ( (LA2_2==FILTER_COLON) ) {
209
220
  alt2=2;
210
221
  }
211
- else if ( (LA2_1==EOF||LA2_1==WHITE) ) {
222
+ else if ( (LA2_2==EOF||LA2_2==WHITE) ) {
212
223
  alt2=1;
213
224
  }
214
225
  else {
215
226
  NoViableAltException nvae =
216
- new NoViableAltException("", 2, 1, input);
227
+ new NoViableAltException("", 2, 2, input);
217
228
 
218
229
  throw nvae;
219
230
 
220
231
  }
221
- }
222
- else if ( (LA2_0==QUALIFIED_NAME) ) {
223
- alt2=1;
224
- }
225
- else {
232
+ }
233
+ break;
234
+ case ALL:
235
+ case VISIBLE:
236
+ {
237
+ alt2=3;
238
+ }
239
+ break;
240
+ default:
226
241
  NoViableAltException nvae =
227
242
  new NoViableAltException("", 2, 0, input);
228
243
 
229
244
  throw nvae;
230
245
 
231
246
  }
247
+
232
248
  switch (alt2) {
233
249
  case 1 :
234
250
  // antlr/UIQuery.g:38:9: className
@@ -252,6 +268,18 @@ public TreeAdaptor getTreeAdaptor() {
252
268
 
253
269
  adaptor.addChild(root_0, filter5.getTree());
254
270
 
271
+ }
272
+ break;
273
+ case 3 :
274
+ // antlr/UIQuery.g:38:30: visibility
275
+ {
276
+ pushFollow(FOLLOW_visibility_in_expr85);
277
+ visibility6=visibility();
278
+
279
+ state._fsp--;
280
+
281
+ adaptor.addChild(root_0, visibility6.getTree());
282
+
255
283
  }
256
284
  break;
257
285
 
@@ -289,7 +317,7 @@ public TreeAdaptor getTreeAdaptor() {
289
317
 
290
318
 
291
319
  // $ANTLR start "className"
292
- // antlr/UIQuery.g:41:1: className : ( NAME ^| QUALIFIED_NAME ^) ;
320
+ // antlr/UIQuery.g:41:1: className : ( WILDCARD ^| NAME ^| QUALIFIED_NAME ^) ;
293
321
  public final UIQueryParser.className_return className() throws RecognitionException {
294
322
  UIQueryParser.className_return retval = new UIQueryParser.className_return();
295
323
  retval.start = input.LT(1);
@@ -297,57 +325,80 @@ public TreeAdaptor getTreeAdaptor() {
297
325
 
298
326
  CommonTree root_0 = null;
299
327
 
300
- Token NAME6=null;
301
- Token QUALIFIED_NAME7=null;
328
+ Token WILDCARD7=null;
329
+ Token NAME8=null;
330
+ Token QUALIFIED_NAME9=null;
302
331
 
303
- CommonTree NAME6_tree=null;
304
- CommonTree QUALIFIED_NAME7_tree=null;
332
+ CommonTree WILDCARD7_tree=null;
333
+ CommonTree NAME8_tree=null;
334
+ CommonTree QUALIFIED_NAME9_tree=null;
305
335
 
306
336
  try {
307
- // antlr/UIQuery.g:41:13: ( ( NAME ^| QUALIFIED_NAME ^) )
308
- // antlr/UIQuery.g:41:17: ( NAME ^| QUALIFIED_NAME ^)
337
+ // antlr/UIQuery.g:41:13: ( ( WILDCARD ^| NAME ^| QUALIFIED_NAME ^) )
338
+ // antlr/UIQuery.g:41:17: ( WILDCARD ^| NAME ^| QUALIFIED_NAME ^)
309
339
  {
310
340
  root_0 = (CommonTree)adaptor.nil();
311
341
 
312
342
 
313
- // antlr/UIQuery.g:41:17: ( NAME ^| QUALIFIED_NAME ^)
314
- int alt3=2;
315
- int LA3_0 = input.LA(1);
316
-
317
- if ( (LA3_0==NAME) ) {
343
+ // antlr/UIQuery.g:41:17: ( WILDCARD ^| NAME ^| QUALIFIED_NAME ^)
344
+ int alt3=3;
345
+ switch ( input.LA(1) ) {
346
+ case WILDCARD:
347
+ {
318
348
  alt3=1;
319
- }
320
- else if ( (LA3_0==QUALIFIED_NAME) ) {
349
+ }
350
+ break;
351
+ case NAME:
352
+ {
321
353
  alt3=2;
322
- }
323
- else {
354
+ }
355
+ break;
356
+ case QUALIFIED_NAME:
357
+ {
358
+ alt3=3;
359
+ }
360
+ break;
361
+ default:
324
362
  NoViableAltException nvae =
325
363
  new NoViableAltException("", 3, 0, input);
326
364
 
327
365
  throw nvae;
328
366
 
329
367
  }
368
+
330
369
  switch (alt3) {
331
370
  case 1 :
332
- // antlr/UIQuery.g:41:18: NAME ^
371
+ // antlr/UIQuery.g:41:18: WILDCARD ^
333
372
  {
334
- NAME6=(Token)match(input,NAME,FOLLOW_NAME_in_className99);
335
- NAME6_tree =
336
- (CommonTree)adaptor.create(NAME6)
373
+ WILDCARD7=(Token)match(input,WILDCARD,FOLLOW_WILDCARD_in_className103);
374
+ WILDCARD7_tree =
375
+ (CommonTree)adaptor.create(WILDCARD7)
337
376
  ;
338
- root_0 = (CommonTree)adaptor.becomeRoot(NAME6_tree, root_0);
377
+ root_0 = (CommonTree)adaptor.becomeRoot(WILDCARD7_tree, root_0);
339
378
 
340
379
 
341
380
  }
342
381
  break;
343
382
  case 2 :
344
- // antlr/UIQuery.g:41:26: QUALIFIED_NAME ^
383
+ // antlr/UIQuery.g:41:30: NAME ^
345
384
  {
346
- QUALIFIED_NAME7=(Token)match(input,QUALIFIED_NAME,FOLLOW_QUALIFIED_NAME_in_className104);
347
- QUALIFIED_NAME7_tree =
348
- (CommonTree)adaptor.create(QUALIFIED_NAME7)
385
+ NAME8=(Token)match(input,NAME,FOLLOW_NAME_in_className108);
386
+ NAME8_tree =
387
+ (CommonTree)adaptor.create(NAME8)
349
388
  ;
350
- root_0 = (CommonTree)adaptor.becomeRoot(QUALIFIED_NAME7_tree, root_0);
389
+ root_0 = (CommonTree)adaptor.becomeRoot(NAME8_tree, root_0);
390
+
391
+
392
+ }
393
+ break;
394
+ case 3 :
395
+ // antlr/UIQuery.g:41:38: QUALIFIED_NAME ^
396
+ {
397
+ QUALIFIED_NAME9=(Token)match(input,QUALIFIED_NAME,FOLLOW_QUALIFIED_NAME_in_className113);
398
+ QUALIFIED_NAME9_tree =
399
+ (CommonTree)adaptor.create(QUALIFIED_NAME9)
400
+ ;
401
+ root_0 = (CommonTree)adaptor.becomeRoot(QUALIFIED_NAME9_tree, root_0);
351
402
 
352
403
 
353
404
  }
@@ -380,6 +431,104 @@ public TreeAdaptor getTreeAdaptor() {
380
431
  // $ANTLR end "className"
381
432
 
382
433
 
434
+ public static class visibility_return extends ParserRuleReturnScope {
435
+ CommonTree tree;
436
+ public Object getTree() { return tree; }
437
+ };
438
+
439
+
440
+ // $ANTLR start "visibility"
441
+ // antlr/UIQuery.g:47:1: visibility : ( ALL ^| VISIBLE ^) ;
442
+ public final UIQueryParser.visibility_return visibility() throws RecognitionException {
443
+ UIQueryParser.visibility_return retval = new UIQueryParser.visibility_return();
444
+ retval.start = input.LT(1);
445
+
446
+
447
+ CommonTree root_0 = null;
448
+
449
+ Token ALL10=null;
450
+ Token VISIBLE11=null;
451
+
452
+ CommonTree ALL10_tree=null;
453
+ CommonTree VISIBLE11_tree=null;
454
+
455
+ try {
456
+ // antlr/UIQuery.g:47:14: ( ( ALL ^| VISIBLE ^) )
457
+ // antlr/UIQuery.g:47:18: ( ALL ^| VISIBLE ^)
458
+ {
459
+ root_0 = (CommonTree)adaptor.nil();
460
+
461
+
462
+ // antlr/UIQuery.g:47:18: ( ALL ^| VISIBLE ^)
463
+ int alt4=2;
464
+ int LA4_0 = input.LA(1);
465
+
466
+ if ( (LA4_0==ALL) ) {
467
+ alt4=1;
468
+ }
469
+ else if ( (LA4_0==VISIBLE) ) {
470
+ alt4=2;
471
+ }
472
+ else {
473
+ NoViableAltException nvae =
474
+ new NoViableAltException("", 4, 0, input);
475
+
476
+ throw nvae;
477
+
478
+ }
479
+ switch (alt4) {
480
+ case 1 :
481
+ // antlr/UIQuery.g:47:19: ALL ^
482
+ {
483
+ ALL10=(Token)match(input,ALL,FOLLOW_ALL_in_visibility151);
484
+ ALL10_tree =
485
+ (CommonTree)adaptor.create(ALL10)
486
+ ;
487
+ root_0 = (CommonTree)adaptor.becomeRoot(ALL10_tree, root_0);
488
+
489
+
490
+ }
491
+ break;
492
+ case 2 :
493
+ // antlr/UIQuery.g:47:26: VISIBLE ^
494
+ {
495
+ VISIBLE11=(Token)match(input,VISIBLE,FOLLOW_VISIBLE_in_visibility156);
496
+ VISIBLE11_tree =
497
+ (CommonTree)adaptor.create(VISIBLE11)
498
+ ;
499
+ root_0 = (CommonTree)adaptor.becomeRoot(VISIBLE11_tree, root_0);
500
+
501
+
502
+ }
503
+ break;
504
+
505
+ }
506
+
507
+
508
+ }
509
+
510
+ retval.stop = input.LT(-1);
511
+
512
+
513
+ retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
514
+ adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
515
+
516
+ }
517
+ catch (RecognitionException re) {
518
+ reportError(re);
519
+ recover(input,re);
520
+ retval.tree = (CommonTree)adaptor.errorNode(input, retval.start, input.LT(-1), re);
521
+
522
+ }
523
+
524
+ finally {
525
+ // do for sure before leaving
526
+ }
527
+ return retval;
528
+ }
529
+ // $ANTLR end "visibility"
530
+
531
+
383
532
  public static class filter_return extends ParserRuleReturnScope {
384
533
  CommonTree tree;
385
534
  public Object getTree() { return tree; }
@@ -387,7 +536,7 @@ public TreeAdaptor getTreeAdaptor() {
387
536
 
388
537
 
389
538
  // $ANTLR start "filter"
390
- // antlr/UIQuery.g:45:1: filter : NAME FILTER_COLON ^ ( INT | STRING | BOOL | NIL ) ;
539
+ // antlr/UIQuery.g:54:1: filter : NAME FILTER_COLON ^ ( INT | STRING | BOOL | NIL ) ;
391
540
  public final UIQueryParser.filter_return filter() throws RecognitionException {
392
541
  UIQueryParser.filter_return retval = new UIQueryParser.filter_return();
393
542
  retval.start = input.LT(1);
@@ -395,41 +544,41 @@ public TreeAdaptor getTreeAdaptor() {
395
544
 
396
545
  CommonTree root_0 = null;
397
546
 
398
- Token NAME8=null;
399
- Token FILTER_COLON9=null;
400
- Token set10=null;
547
+ Token NAME12=null;
548
+ Token FILTER_COLON13=null;
549
+ Token set14=null;
401
550
 
402
- CommonTree NAME8_tree=null;
403
- CommonTree FILTER_COLON9_tree=null;
404
- CommonTree set10_tree=null;
551
+ CommonTree NAME12_tree=null;
552
+ CommonTree FILTER_COLON13_tree=null;
553
+ CommonTree set14_tree=null;
405
554
 
406
555
  try {
407
- // antlr/UIQuery.g:45:8: ( NAME FILTER_COLON ^ ( INT | STRING | BOOL | NIL ) )
408
- // antlr/UIQuery.g:45:10: NAME FILTER_COLON ^ ( INT | STRING | BOOL | NIL )
556
+ // antlr/UIQuery.g:54:8: ( NAME FILTER_COLON ^ ( INT | STRING | BOOL | NIL ) )
557
+ // antlr/UIQuery.g:54:10: NAME FILTER_COLON ^ ( INT | STRING | BOOL | NIL )
409
558
  {
410
559
  root_0 = (CommonTree)adaptor.nil();
411
560
 
412
561
 
413
- NAME8=(Token)match(input,NAME,FOLLOW_NAME_in_filter129);
414
- NAME8_tree =
415
- (CommonTree)adaptor.create(NAME8)
562
+ NAME12=(Token)match(input,NAME,FOLLOW_NAME_in_filter183);
563
+ NAME12_tree =
564
+ (CommonTree)adaptor.create(NAME12)
416
565
  ;
417
- adaptor.addChild(root_0, NAME8_tree);
566
+ adaptor.addChild(root_0, NAME12_tree);
418
567
 
419
568
 
420
- FILTER_COLON9=(Token)match(input,FILTER_COLON,FOLLOW_FILTER_COLON_in_filter131);
421
- FILTER_COLON9_tree =
422
- (CommonTree)adaptor.create(FILTER_COLON9)
569
+ FILTER_COLON13=(Token)match(input,FILTER_COLON,FOLLOW_FILTER_COLON_in_filter185);
570
+ FILTER_COLON13_tree =
571
+ (CommonTree)adaptor.create(FILTER_COLON13)
423
572
  ;
424
- root_0 = (CommonTree)adaptor.becomeRoot(FILTER_COLON9_tree, root_0);
573
+ root_0 = (CommonTree)adaptor.becomeRoot(FILTER_COLON13_tree, root_0);
425
574
 
426
575
 
427
- set10=(Token)input.LT(1);
576
+ set14=(Token)input.LT(1);
428
577
 
429
578
  if ( input.LA(1)==BOOL||input.LA(1)==INT||input.LA(1)==NIL||input.LA(1)==STRING ) {
430
579
  input.consume();
431
580
  adaptor.addChild(root_0,
432
- (CommonTree)adaptor.create(set10)
581
+ (CommonTree)adaptor.create(set14)
433
582
  );
434
583
  state.errorRecovery=false;
435
584
  }
@@ -467,15 +616,19 @@ public TreeAdaptor getTreeAdaptor() {
467
616
 
468
617
 
469
618
 
470
- public static final BitSet FOLLOW_expr_in_query53 = new BitSet(new long[]{0x0000000000008002L});
471
- public static final BitSet FOLLOW_WHITE_in_query56 = new BitSet(new long[]{0x0000000000001200L});
472
- public static final BitSet FOLLOW_expr_in_query59 = new BitSet(new long[]{0x0000000000008002L});
619
+ public static final BitSet FOLLOW_expr_in_query53 = new BitSet(new long[]{0x0000000000020002L});
620
+ public static final BitSet FOLLOW_WHITE_in_query56 = new BitSet(new long[]{0x0000000000052410L});
621
+ public static final BitSet FOLLOW_expr_in_query59 = new BitSet(new long[]{0x0000000000020002L});
473
622
  public static final BitSet FOLLOW_className_in_expr77 = new BitSet(new long[]{0x0000000000000002L});
474
623
  public static final BitSet FOLLOW_filter_in_expr81 = new BitSet(new long[]{0x0000000000000002L});
475
- public static final BitSet FOLLOW_NAME_in_className99 = new BitSet(new long[]{0x0000000000000002L});
476
- public static final BitSet FOLLOW_QUALIFIED_NAME_in_className104 = new BitSet(new long[]{0x0000000000000002L});
477
- public static final BitSet FOLLOW_NAME_in_filter129 = new BitSet(new long[]{0x0000000000000040L});
478
- public static final BitSet FOLLOW_FILTER_COLON_in_filter131 = new BitSet(new long[]{0x0000000000002510L});
479
- public static final BitSet FOLLOW_set_in_filter134 = new BitSet(new long[]{0x0000000000000002L});
624
+ public static final BitSet FOLLOW_visibility_in_expr85 = new BitSet(new long[]{0x0000000000000002L});
625
+ public static final BitSet FOLLOW_WILDCARD_in_className103 = new BitSet(new long[]{0x0000000000000002L});
626
+ public static final BitSet FOLLOW_NAME_in_className108 = new BitSet(new long[]{0x0000000000000002L});
627
+ public static final BitSet FOLLOW_QUALIFIED_NAME_in_className113 = new BitSet(new long[]{0x0000000000000002L});
628
+ public static final BitSet FOLLOW_ALL_in_visibility151 = new BitSet(new long[]{0x0000000000000002L});
629
+ public static final BitSet FOLLOW_VISIBLE_in_visibility156 = new BitSet(new long[]{0x0000000000000002L});
630
+ public static final BitSet FOLLOW_NAME_in_filter183 = new BitSet(new long[]{0x0000000000000080L});
631
+ public static final BitSet FOLLOW_FILTER_COLON_in_filter185 = new BitSet(new long[]{0x0000000000004A20L});
632
+ public static final BitSet FOLLOW_set_in_filter188 = new BitSet(new long[]{0x0000000000000002L});
480
633
 
481
634
  }